7667ceaae8b59a39579bc7e6424f5e145715222f
[gnulib.git] / ChangeLog
1 2011-06-13  Bruno Haible  <bruno@clisp.org>
2
3         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
4         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
5         'none'.
6
7 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8
9         ftoastr: use strtof only if HAVE_STRTOF
10         This is needed on HP-UX 11.11 with GCC 4.24; see Bruno Haible's report
11         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13         * modules/ftoastr (configure.ac): Check for strtof.
14
15 2011-06-13  Bruno Haible  <bruno@clisp.org>
16
17         gnulib-tool: Addendum to 2011-06-08 commit.
18         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19         and --witness-c-macro have been given, augment AM_CPPFLAGS.
20
21 2011-06-13  Bruno Haible  <bruno@clisp.org>
22
23         fseeko: Provide a non-inline replacement of fseek().
24         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
25         * modules/fseeko (Depends-on): Add fseek.
26         * modules/fseek (License): Change to LGPLv2+.
27
28 2011-06-13  Bruno Haible  <bruno@clisp.org>
29
30         ftello: Provide a non-inline replacement of ftell().
31         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
32         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
33         not have ftello() (such as on mingw).
34         * modules/ftello (Depends-on): Add ftell.
35         * modules/ftell (License): Change to LGPLv2+.
36
37 2011-05-07  Bruno Haible  <bruno@clisp.org>
38
39         ftell: Move AC_LIBOBJ invocations to module description.
40         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
41         * modules/ftell (configure.ac): ... to here.
42
43 2011-05-07  Bruno Haible  <bruno@clisp.org>
44
45         ftello: Respect rules for use of AC_LIBOBJ.
46         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
47         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
48         here...
49         * modules/ftello (configure.ac): ... to here.
50
51 2011-05-07  Bruno Haible  <bruno@clisp.org>
52
53         fseeko: Simplify.
54         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
55         (gl_FUNC_FSEEKO): Inline it here.
56
57 2011-05-07  Bruno Haible  <bruno@clisp.org>
58
59         fseek: Move AC_LIBOBJ invocations to module description.
60         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
61         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
62         * modules/fseek (configure.ac): ... to here.
63
64 2011-05-07  Bruno Haible  <bruno@clisp.org>
65
66         fseek: Respect rules for use of AC_LIBOBJ.
67         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
68         here...
69         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
70
71 2011-05-07  Bruno Haible  <bruno@clisp.org>
72
73         fseeko: Respect rules for use of AC_LIBOBJ.
74         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
75         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
76         here...
77         * modules/fseeko (configure.ac): ... to here.
78
79 2011-06-13  Bruno Haible  <bruno@clisp.org>
80
81         gnulib-tool: Allow comments in the 'Depends-on' section.
82         * doc/gnulib.texi (Module description): Mention comment syntax in the
83         Depends-on section.
84         * gnulib-tool (func_get_dependencies): Filter out comment lines.
85
86 2011-06-13  Bruno Haible  <bruno@clisp.org>
87
88         file-set.h: guard __attibute__ use, now that it's not always defined
89         * lib/file-set.h (record_file): Use __attribute__ only with compiler
90         versions that support it.  This fixes a coreutils build failure with
91         the vendor cc on HP-UX 11.31.
92
93 2011-06-12  Bruno Haible  <bruno@clisp.org>
94
95         acl: Add support for HP-UX >= 11.11 JFS ACLs.
96         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
97         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
98         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
99         (acl, aclsort): New declarations.
100         (aclv_nontrivial): New declaration.
101         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
102         (file_has_acl): Read also the second kind of HP-UX ACLs.
103         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
104         kind of HP-UX ACLs if the first kind fails.
105         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
106         second kind of HP-UX ACLs.
107         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
108         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
109         agree.
110         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
111         hpuxjfs.
112         Handle hpuxjfs.
113         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
114         hpuxjfs.
115         Handle hpuxjfs.
116         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
117         (func_test_same_acls): Use both lsacl and getacl.
118         Handle hpuxjfs.
119         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
120         (func_test_same_acls): Use both lsacl and getacl.
121         Handle hpuxjfs.
122
123 2011-06-12  Bruno Haible  <bruno@clisp.org>
124
125         acl: Complete the 2010-08-10 fix.
126         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
127         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
128         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
129         explicitly.
130         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
131         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
132
133 2011-06-12  Bruno Haible  <bruno@clisp.org>
134
135         spawn-pipe tests: Comments.
136         * tests/test-spawn-pipe-child.c (main): Update comment.
137         Reported by James Youngman <jay@gnu.org>.
138
139 2011-06-11  James Youngman  <jay@gnu.org>
140
141         New module 'stat-size'.
142         * modules/stat-size: New module.  Provides macros for accessing
143         file size information in instances of struct stat.  Depends on the
144         fileblocks module because it calls st_blocks.
145         * lib/stat-size.h: New file, adapted from coreutils' system.h.
146         * doc/gnulib.texi: Include stat-size.texi.
147         * doc/stat-size.texi: Documentation for this module.
148         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
149         * m4/fileblocks.m4: Mention that stat-size depends on the call to
150         AC_STRUCT_ST_BLOCKS.
151
152 2011-06-09  Bruno Haible  <bruno@clisp.org>
153
154         thread: Support pthreads-win32.
155         * lib/glthread/thread.h (gl_thread_self): Define differently on
156         pthreads-win32.
157         (gl_null_thread): New declaration.
158         (gl_thread_self_pointer): New macro.
159         * lib/glthread/thread.c (gl_null_thread): New constant.
160         * tests/test-lock.c: Use gl_thread_self_pointer instead of
161         gl_thread_self.
162         * tests/test-tls.c: Likewise.
163         Suggested by Paul Eggert. Reported by Eric Blake.
164
165 2011-06-09  Bruno Haible  <bruno@clisp.org>
166
167         thread: Fix confusion between NULL and 0.
168         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
169         Reported by Paul Eggert.
170
171 2011-06-09  Bruno Haible  <bruno@clisp.org>
172
173         spawn-pipe tests: Avoid test failure on HP-UX 11.
174         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
175         is closed.
176
177 2011-06-09  Bruno Haible  <bruno@clisp.org>
178
179         acl tests: Fix compilation error on HP-UX 11.
180         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
181
182 2011-06-09  Bruno Haible  <bruno@clisp.org>
183
184         rmdir: Avoid test failure on HP-UX 10.20.
185         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
186         EEXIST.
187
188 2011-06-08  Eric Blake  <eblake@redhat.com>
189
190         perror: fix test on mingw
191         * modules/perror-tests (Depends-on): Add dup2.
192
193         strerror_r-posix: fix on MacOS
194         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
195         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
196         logic bug.
197         * lib/strerror_r.c (strerror_r): Fix the bug.
198         * lib/strerror.c (strerror): Likewise.
199         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
200         problem.
201         * doc/posix-functions/strerror.texi (strerror): Likewise.
202         * doc/posix-functions/perror.texi (perror): Likewise.
203         * tests/test-strerror.c (main): Enhance test.
204         * tests/test-strerror_r.c (main): Likewise.
205
206 2011-06-08  Bruno Haible  <bruno@clisp.org>
207
208         gnulib-tool: Better isolation between different gnulib-tool invocations.
209         * gnulib-tool: New option --witness-c-macro.
210         (witness_c_macro): New variable.
211         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
212         AM_CPPFLAGS define it as a C macro.
213         (func_emit_tests_Makefile_am): Likewise.
214         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
215         read it from there.
216         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
217         m4_define, not AC_DEFUN.
218         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
219         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
220         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
221         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
222         s|...|...|, to substitute the values of the GNULIB_* module indicator
223         variables.
224         * modules/dirent (Makefile.am): Likewise.
225         * modules/fcntl-h (Makefile.am): Likewise.
226         * modules/iconv-h (Makefile.am): Likewise.
227         * modules/langinfo (Makefile.am): Likewise.
228         * modules/locale (Makefile.am): Likewise.
229         * modules/math (Makefile.am): Likewise.
230         * modules/netdb (Makefile.am): Likewise.
231         * modules/poll-h (Makefile.am): Likewise.
232         * modules/pty (Makefile.am): Likewise.
233         * modules/search (Makefile.am): Likewise.
234         * modules/signal (Makefile.am): Likewise.
235         * modules/spawn (Makefile.am): Likewise.
236         * modules/stdio (Makefile.am): Likewise.
237         * modules/stdlib (Makefile.am): Likewise.
238         * modules/string (Makefile.am): Likewise.
239         * modules/sys_ioctl (Makefile.am): Likewise.
240         * modules/sys_select (Makefile.am): Likewise.
241         * modules/sys_socket (Makefile.am): Likewise.
242         * modules/sys_stat (Makefile.am): Likewise.
243         * modules/sys_times (Makefile.am): Likewise.
244         * modules/sys_utsname (Makefile.am): Likewise.
245         * modules/sys_wait (Makefile.am): Likewise.
246         * modules/termios (Makefile.am): Likewise.
247         * modules/time (Makefile.am): Likewise.
248         * modules/unistd (Makefile.am): Likewise.
249         * modules/wchar (Makefile.am): Likewise.
250
251 2011-06-08  Eric Blake  <eblake@redhat.com>
252
253         strerror: simplify replacement
254         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
255         * modules/strerror (configure.ac): No prereqs needed here...
256         * modules/strerror-override (configure.ac): ...but this needs it.
257         (Files): Add file for needed prereq macro.
258
259 2011-06-08  Bruno Haible  <bruno@clisp.org>
260
261         strerror_r-posix: Tweaks.
262         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
263         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
264         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
265         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
266         (gl_FUNC_STRERROR_R): ... to here.
267         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
268
269 2011-06-07  Eric Blake  <eblake@redhat.com>
270
271         perror: document fixed bugs
272         * doc/posix-functions/perror.texi (perror): Document recent
273         patches.
274
275 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
276
277         stat-time: get_stat_birthtime failure is better-defined
278         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
279         return a timestamp whose tv_sec and tv_nsec values are both -1.
280         Previously, the spec said only that the tv_nsec value was negative.
281         This upward-compatible change simplifies GNU tar a bit.
282
283 2011-06-07  Eric Blake  <eblake@redhat.com>
284
285         strerror_r-posix: work around cygwin 1.7.9
286         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
287         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
288         bug without replacing strerror_r.
289         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
290         strerror_r is buggy, but without requiring strerror_r compilation.
291         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
292
293         test-perror: relax test to ignore cygwin bug
294         * tests/test-perror2.c (main): Relax test on requiring detection
295         of stream errors, and use unbuffered stream.
296         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
297         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
298         * doc/posix-functions/fputc.texi (fputc): Likewise.
299         * doc/posix-functions/fputs.texi (fputs): Likewise.
300         * doc/posix-functions/fputws.texi (fputws): Likewise.
301         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
302         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
303         * doc/posix-functions/getopt.texi (getopt): Likewise.
304         * doc/posix-functions/perror.texi (perror): Likewise.
305         * doc/posix-functions/printf.texi (printf): Likewise.
306         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
307         * doc/posix-functions/psignal.texi (psignal): Likewise.
308         * doc/posix-functions/putc.texi (putc): Likewise.
309         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
310         Likewise.
311         * doc/posix-functions/putchar.texi (putchar): Likewise.
312         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
313         Likewise.
314         * doc/posix-functions/puts.texi (puts): Likewise.
315         * doc/posix-functions/putwc.texi (putwc): Likewise.
316         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
317         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
318         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
319         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
320         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
321         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
322         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
323         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
324
325 2011-05-22  Bruno Haible  <bruno@clisp.org>
326
327         strerror: Move AC_LIBOBJ invocations to module description.
328         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
329         gl_PREREQ_STRERROR invocations from here...
330         * modules/strerror (configure.ac): ... to here.
331
332 2011-05-21  Bruno Haible  <bruno@clisp.org>
333
334         perror: Use common idiom.
335         * modules/perror (configure.ac): Reorder statements.
336
337 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
338
339         tests: fix usage message in 'mktempd_'
340         * tests/init.sh (mktempd_): In the usage message, use literal
341         'mktempd_', not '$ME' (which is even undefined), as the name of
342         the subroutine.
343
344 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
345
346         tests init: new function 'fatal_', for hard errors
347         Before this patch, the only way offered by tests/init.sh to
348         properly signal a hard error was the `framework_failure_'
349         function.  But the error message issued by that function,
350         as its name would suggest, refers to a set-up failure in the
351         testsuite, while hard errors can obviously also be due to
352         other reasons.  The best way to fix this inconsistency is to
353         introduce a new function with a more general error message.
354         * tests/init.sh (fatal_): New function.
355
356 2011-06-06  Eric Blake  <eblake@redhat.com>
357
358         canonicalize-lgpl: use common idiom
359         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
360         over newer POSIX -Rf.
361         Reported by Bruno Haible.
362
363         canonicalize-lgpl: work around AIX realpath bug
364         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
365         * doc/posix-functions/realpath.texi (realpath): Document it.
366         Reported by Bruno Haible.
367
368         strerror: work around FreeBSD bug
369         * lib/strerror.c (strerror): Special case 0.
370         Reported by Bruno Haible.
371
372         strerror-override: avoid bloating errno module
373         * modules/errno (Files, configure.ac): Move replacement strings...
374         * modules/strerror-override: ...to new module.
375         * modules/strerror (Depends-on): Add strerror-override.
376         * modules/strerror_r-posix (Depends-on): Likewise.
377         * MODULES.html.sh: Document new module.
378         Reported by Bruno Haible.
379
380 2011-06-06  Bruno Haible  <bruno@clisp.org>
381
382         spawn-pipe tests: Rename program.
383         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
384         * tests/test-spawn-pipe-child.c: Update comment.
385         * tests/test-spawn-pipe.sh: Update.
386         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
387
388         spawn-pipe tests: Link the child program only against libc.
389         * tests/test-spawn-pipe-child.c: New file, extracted from
390         tests/test-spawn-pipe.c.
391         (main): Expect only one argument.
392         (is_open): New function, copied from tests/test-pipe.c.
393         * tests/test-spawn-pipe.c: Don't include <errno.h>.
394         (child_main): Remove function.
395         (test_pipe): Pass only one argument to the child program.
396         (main): Remove child process code. Expect the child program's name as
397         first argument.
398         * tests/test-spawn-pipe.sh: Pass the child program's name as first
399         argument.
400         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
401         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
402         test-spawn-pipe-child against no libraries.
403
404 2011-06-06  Bruno Haible  <bruno@clisp.org>
405
406         careadlinkat: Avoid mismatch between ssize_t and int.
407         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
408         * lib/careadlinkat.c (careadlinkatcwd): Define always.
409
410 2011-06-06  Jim Meyering  <meyering@redhat.com>
411
412         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
413         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
414         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
415
416 2011-06-05  Bruno Haible  <bruno@clisp.org>
417
418         ansi-c++-opt: Interoperability with libtool.
419         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
420         set the variable to "no", not to ":".
421         * NEWS: Mention the change.
422
423 2011-06-05  Bruno Haible  <bruno@clisp.org>
424
425         acl: Fix test failure on AIX 7.
426         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
427         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
428
429 2011-06-05  Bruno Haible  <bruno@clisp.org>
430
431         pipe-filter-ii: Fix test failure on AIX and IRIX.
432         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
433         with EAGAIN, retry with a smaller buffer size.
434
435 2011-06-05  Bruno Haible  <bruno@clisp.org>
436
437         localename: Fix link dependencies.
438         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
439         * modules/localename-tests (Makefile.am): Link test-localename with
440         $(LIBTHREAD).
441
442 2011-06-05  Bruno Haible  <bruno@clisp.org>
443
444         error: Avoid gcc warning.
445         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
446
447 2011-06-05  Bruno Haible  <bruno@clisp.org>
448
449         unsetenv: Avoid gcc warning.
450         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
451
452 2011-06-05  Bruno Haible  <bruno@clisp.org>
453
454         setenv: Avoid gcc warning.
455         * lib/setenv.c (setenv): Provide declaration if system lacks it.
456
457 2011-06-05  Bruno Haible  <bruno@clisp.org>
458
459         sys_select: Ensure memset is declared also on AIX 7.
460         * lib/sys_select.in.h: Include <string.h> also on AIX.
461         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
462         self-contained also on AIX 7.1.
463
464 2011-06-04  Jim Meyering  <meyering@redhat.com>
465
466         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
467         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
468         function name, "error".
469         (_gl_translatable_diag_func_re): New configurable variable.
470
471 2011-06-04  Bruno Haible  <bruno@clisp.org>
472
473         getopt: Avoid gcc warning.
474         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
475
476 2011-06-04  Bruno Haible  <bruno@clisp.org>
477
478         strerror_r: Fix comments.
479         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
480         commit.
481
482 2011-06-04  Bruno Haible  <bruno@clisp.org>
483
484         perror: Fix compilation error.
485         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
486         Undefine fprintf, not sprintf.
487         * modules/perror (Depends-on): Remove intprops, verify.
488
489 2011-06-04  Bruno Haible  <bruno@clisp.org>
490
491         setlocale: Enable replacement on Cygwin 1.5.
492         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
493         Cygwin 1.5.x.
494         * doc/posix-functions/setlocale.texi: Mention that the problem with the
495         LC_CTYPE category also exists on Cygwin 1.5.x.
496
497 2011-06-04  Bruno Haible  <bruno@clisp.org>
498
499         strerror-override: Don't disable symbol renamings.
500         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
501         * lib/strerror-override.c: Include config.h.
502         (strerror_override): Don't undefine.
503
504 2011-06-03  Bruno Haible  <bruno@clisp.org>
505
506         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
507         * lib/localename.h: Update copyright header.
508         * lib/localename.c: Likewise.
509         * lib/relocatable.h: Likewise.
510         * lib/relocatable.c: Likewise.
511
512 2011-06-02  Bruno Haible  <bruno@clisp.org>
513
514         doc: Fix a module name.
515         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
516
517 2011-06-02  Bruno Haible  <bruno@clisp.org>
518
519         pipe2: Remove dependency on 'nonblocking' module.
520         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
521         O_NONBLOCK is defined by gnulib.
522         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
523         is zero.
524         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
525         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
526         defined by gnulib.
527         (get_nonblocking_flag): New function.
528         (main): Test O_NONBLOCK flag only if it is nonzero.
529         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
530
531 2011-06-03  Jim Meyering  <meyering@redhat.com>
532
533         maint: three new prohibit-header-without-use rules
534         Prohibit use of cloexec.h, posixver.h, same.h without use.
535         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
536         (sc_prohibit_posixver_without_use): Likewise.
537         (sc_prohibit_same_without_use): Likewise.
538
539 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
540
541         allocator: 'die' routine is now given requested size
542         * lib/allocator.h (struct allocator.die): New size arg.
543         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
544         If the actual problem is an ssize_t limitation, not a size_t or
545         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
546
547 2011-06-01  Eric Blake  <eblake@redhat.com>
548
549         strerror: drop strerror_r dependency
550         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
551         * lib/strerror-override.c (strerror_override): ...to new file.
552         * lib/strerror-override.h: Add prototype.
553         * lib/strerror-impl.h: Delete.
554         * lib/strerror.c (strerror): New implementation.
555         * modules/errno (Files): Add new files.
556         (configure.ac): Compile new file as appropriate.
557         * modules/strerror (Files): Drop unused file.
558         (Depends-on): Drop strerror_r-posix.
559         * MODULES.html.sh: Document strerror_r-posix.
560         Requested by Sam Steingold.
561
562         perror: call strerror_r directly
563         * modules/perror (Files): Drop strerror-impl.h.
564         * lib/perror.c (perror): Use our own stack buffer, rather than
565         calling a wrapper that uses static storage.
566         * doc/posix-functions/perror.texi (perror): Document a limitation
567         of our replacement.
568
569         strerror_r: fix includes for FreeBSD
570         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
571         since we use abort on some platforms.
572         Reported by Matthias Bolte.
573
574 2011-05-31  Bruno Haible  <bruno@clisp.org>
575
576         Fix link errors in tests: openat-die uses gettext-h.
577         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
578         against $(LIBINTL).
579         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
580         against $(LIBINTL).
581         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
582         $(LIBINTL).
583         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
584         against $(LIBINTL).
585         * modules/linkat-tests (Makefile.am): Link test-linkat against
586         $(LIBINTL).
587         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
588         $(LIBINTL).
589         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
590         against $(LIBINTL).
591         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
592         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
593         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
594         $(LIBINTL).
595         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
596         $(LIBINTL).
597         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
598         $(LIBINTL).
599         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
600
601 2011-05-31  Bruno Haible  <bruno@clisp.org>
602
603         Fix link errors in tests: wait-process uses gettext-h.
604         * modules/nonblocking-pipe-tests (Makefile.am): Set
605         test_nonblocking_pipe_main_LDADD.
606         * modules/nonblocking-socket-tests (Makefile.am): Link
607         test-nonblocking-socket-main against $(LIBINTL).
608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
609
610 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
611
612         assert-h: work around 'verify' incompatibility
613         * lib/verify.h: Use @...@ directives, not ifdef.
614         * modules/assert-h (assert.h): Implement the directives.
615         (assert.h): Substitute the symbol-prefix more consistently.
616
617 2011-05-29  Jim Meyering  <meyering@redhat.com>
618
619         trim: remove three superfluous assignments
620         * lib/trim.c (trim2): Remove three superfluous assignments
621         and correct brace positioning.
622
623 2011-05-29  Bruno Haible  <bruno@clisp.org>
624
625         wctype-h: Avoid namespace pollution on Solaris 2.6.
626         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
627         identifiers.
628         * doc/posix-headers/wctype.texi: Mention the problem.
629         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
630
631 2011-05-28  Jim Meyering  <meyering@redhat.com>
632
633         parse-datetime.y: accommodate -Wstrict-overflow
634         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
635         placate -Wstrict-overflow.
636
637         trim: avoid a warning from -O2 -Wstrict-overflow
638         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
639
640 2011-05-29  Bruno Haible  <bruno@clisp.org>
641
642         gnulib-tool: Fix bug in yesterday's commit.
643         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
644         twice.
645
646 2011-05-29  Bruno Haible  <bruno@clisp.org>
647
648         Allow multiple gnulib generated include files to be combined.
649         * gnulib-tool (func_compute_include_guard_prefix): New function.
650         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
651         ${gl_include_guard_prefix} references.
652         (func_import, func_create_testdir): Invoke
653         func_compute_include_guard_prefix.
654         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
655         * lib/ctype.in.h: Likewise.
656         * lib/dirent.in.h: Likewise.
657         * lib/errno.in.h: Likewise.
658         * lib/fcntl.in.h: Likewise.
659         * lib/float.in.h: Likewise.
660         * lib/getopt.in.h: Likewise.
661         * lib/iconv.in.h: Likewise.
662         * lib/langinfo.in.h: Likewise.
663         * lib/locale.in.h: Likewise.
664         * lib/math.in.h: Likewise.
665         * lib/netdb.in.h: Likewise.
666         * lib/netinet_in.in.h: Likewise.
667         * lib/poll.in.h: Likewise.
668         * lib/pthread.in.h: Likewise.
669         * lib/pty.in.h: Likewise.
670         * lib/sched.in.h: Likewise.
671         * lib/se-selinux.in.h: Likewise.
672         * lib/search.in.h: Likewise.
673         * lib/signal.in.h: Likewise.
674         * lib/spawn.in.h: Likewise.
675         * lib/stdarg.in.h: Likewise.
676         * lib/stddef.in.h: Likewise.
677         * lib/stdint.in.h: Likewise.
678         * lib/stdio.in.h: Likewise.
679         * lib/stdlib.in.h: Likewise.
680         * lib/string.in.h: Likewise.
681         * lib/strings.in.h: Likewise.
682         * lib/sys_file.in.h: Likewise.
683         * lib/sys_ioctl.in.h: Likewise.
684         * lib/sys_select.in.h: Likewise.
685         * lib/sys_socket.in.h: Likewise.
686         * lib/sys_stat.in.h: Likewise.
687         * lib/sys_time.in.h: Likewise.
688         * lib/sys_times.in.h: Likewise.
689         * lib/sys_uio.in.h: Likewise.
690         * lib/sys_utsname.in.h: Likewise.
691         * lib/sys_wait.in.h: Likewise.
692         * lib/sysexits.in.h: Likewise.
693         * lib/termios.in.h: Likewise.
694         * lib/time.in.h: Likewise.
695         * lib/unistd.in.h: Likewise.
696         * lib/wchar.in.h: Likewise.
697         * lib/wctype.in.h: Likewise.
698         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
699         * modules/ctype (Makefile.am): Likewise.
700         * modules/dirent (Makefile.am): Likewise.
701         * modules/errno (Makefile.am): Likewise.
702         * modules/fcntl-h (Makefile.am): Likewise.
703         * modules/float (Makefile.am): Likewise.
704         * modules/getopt-posix (Makefile.am): Likewise.
705         * modules/iconv-h (Makefile.am): Likewise.
706         * modules/langinfo (Makefile.am): Likewise.
707         * modules/locale (Makefile.am): Likewise.
708         * modules/math (Makefile.am): Likewise.
709         * modules/netdb (Makefile.am): Likewise.
710         * modules/netinet_in (Makefile.am): Likewise.
711         * modules/poll-h (Makefile.am): Likewise.
712         * modules/pthread (Makefile.am): Likewise.
713         * modules/pty (Makefile.am): Likewise.
714         * modules/sched (Makefile.am): Likewise.
715         * modules/search (Makefile.am): Likewise.
716         * modules/selinux-h (Makefile.am): Likewise.
717         * modules/signal (Makefile.am): Likewise.
718         * modules/spawn (Makefile.am): Likewise.
719         * modules/stdarg (Makefile.am): Likewise.
720         * modules/stddef (Makefile.am): Likewise.
721         * modules/stdint (Makefile.am): Likewise.
722         * modules/stdio (Makefile.am): Likewise.
723         * modules/stdlib (Makefile.am): Likewise.
724         * modules/string (Makefile.am): Likewise.
725         * modules/strings (Makefile.am): Likewise.
726         * modules/sys_file (Makefile.am): Likewise.
727         * modules/sys_ioctl (Makefile.am): Likewise.
728         * modules/sys_select (Makefile.am): Likewise.
729         * modules/sys_socket (Makefile.am): Likewise.
730         * modules/sys_stat (Makefile.am): Likewise.
731         * modules/sys_time (Makefile.am): Likewise.
732         * modules/sys_times (Makefile.am): Likewise.
733         * modules/sys_uio (Makefile.am): Likewise.
734         * modules/sys_utsname (Makefile.am): Likewise.
735         * modules/sys_wait (Makefile.am): Likewise.
736         * modules/sysexits (Makefile.am): Likewise.
737         * modules/termios (Makefile.am): Likewise.
738         * modules/time (Makefile.am): Likewise.
739         * modules/unistd (Makefile.am): Likewise.
740         * modules/wchar (Makefile.am): Likewise.
741         * modules/wctype-h (Makefile.am): Likewise.
742         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
743
744 2011-05-29  Bruno Haible  <bruno@clisp.org>
745
746         assert-h: Allow multiple gnulib generated replacements to coexist.
747         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
748
749 2011-05-29  Bruno Haible  <bruno@clisp.org>
750
751         argp: Allow coexistence with strerror_r-posix module.
752         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
753         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
754         by gnulib's <string.h> replacement), assume it has the POSIX signature,
755         not the glibc signature.
756
757 2011-05-28  Bruno Haible  <bruno@clisp.org>
758
759         gnulib-tool: Alternative structure of testdirs, similar to --import.
760         * gnulib-tool: New option --single-configure.
761         (func_usage): Document it.
762         (single_configure): New variable.
763         (func_modules_transitive_closure_separately,
764         func_modules_transitive_closure_separately,
765         func_determine_use_libtests, func_modules_add_dummy_separately,
766         func_modules_to_filelist_separately): New functions, extracted from
767         func_import.
768         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
769         (func_import): Use the new functions.
770         (func_create_testdir): Set final_modules. Handle $single_configure =
771         true case.
772
773 2011-05-28  Bruno Haible  <bruno@clisp.org>
774
775         getloadavg: Remove an unreliable safety check.
776         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
777         getloadavg.c is in place.
778         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
779         Reported by Sam Steingold <sds@gnu.org>.
780
781 2011-05-28  Bruno Haible  <bruno@clisp.org>
782
783         doc: Cleanup yet another file produced by texinfo.tex.
784         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
785
786 2011-05-28  Bruno Haible  <bruno@clisp.org>
787
788         Finish the conditional dependencies mechanism.
789         * gnulib-tool: New option --no-conditional-dependencies.
790         (func_usage): Document it. Don't mark --conditional-dependencies as
791         experimental.
792         (cond_dependencies): The possible values can now be true, false, empty.
793         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
794         (func_import): Store setting in gnulib-cache.m4 and read it from there.
795         * doc/gnulib-tool.texi (Conditional dependencies): New section.
796
797 2011-05-28  Bruno Haible  <bruno@clisp.org>
798
799         doc: Use a recent texinfo.tex.
800         * doc/Makefile (tex_opts): New variable.
801         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
802
803 2011-05-28  Jim Meyering  <meyering@redhat.com>
804
805         intprops.h: adjust comment to match code change
806         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
807         only once, it *may* have side effects.  Also fix an unrelated typo.
808         (_GL_INT_SIGNED): Likewise.
809
810 2011-05-26  Simon Josefsson  <simon@josefsson.org>
811
812         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
813
814 2011-05-26  Bruno Haible  <bruno@clisp.org>
815
816         mbsrchr: Avoid collision with system function on Interix.
817         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
818         Reported by Markus Duft <mduft@gentoo.org>.
819
820 2011-05-15  James Youngman  <jay@gnu.org>
821
822         getopt: for ambiguous options, enumerate the possibilities.
823         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
824         the ambiguous options when an ambiguous prefix is given. This was
825         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
826         glibc change was
827         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
828
829 2011-05-25  Eric Blake  <eblake@redhat.com>
830
831         getcwd: work around mingw bug
832         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
833         * doc/posix-functions/getcwd.texi (getcwd): Document it.
834         Reported by Matthias Bolte.
835
836 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
837
838         test-intprops: disable -Wtype-limits diagnostics
839         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
840         diagnostics.  Otherwise, the integer overflow macros generate many
841         diagnostics.  Reported by Jim Meyering in
842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
843
844         intprops: shorten, to pacify gcc -Woverlength-strings
845         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
846         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
847         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
848         likely to run afoul of C compiler limits for string constant lengths.
849         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
850
851 2011-05-24  Eric Blake  <eblake@redhat.com>
852
853         docs: document recently fixed glibc printf bug
854         * doc/posix-functions/fprintf.texi (fprintf): Document it.
855         * doc/posix-functions/printf.texi (printf): Likewise.
856         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
857         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
858
859         closein-tests: convert to init.sh
860         * modules/closein-tests (Files): Add init.sh
861         * tests/test-closein.sh Use it.
862
863         yesno-tests: convert to init.sh
864         * modules/yesno-tests (Files): Add init.sh.
865         * tests/test-yesno.sh: Use it.
866
867         atexit-tests: ensure reliable exit status
868         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
869         Reported by Bruno Haible.
870
871 2011-05-24  Bruno Haible  <bruno@clisp.org>
872
873         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
874         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
875         gl_PREREQ_STRERROR_R invocations from here...
876         * modules/strerror_r-posix (configure.ac): ... to here.
877
878 2011-05-24  Eric Blake  <eblake@redhat.com>
879
880         strerror_r: fix missing header
881         * lib/strerror_r.c: Avoid compiler warning about snprintf.
882
883         strerror_r: fix AIX test failures
884         * lib/strerror_r.c (strerror_r): Convert silent truncation to
885         ERANGE failure.
886
887         strerror_r: fix Solaris test failures
888         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
889         failures.
890         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
891
892         strerror_r: enforce POSIX recommendations
893         * lib/strerror_r.c (safe_copy): New helper method.
894         (strerror_r): Guarantee a non-empty string.
895         * tests/test-strerror_r.c (main): Enhance tests to incorporate
896         recent POSIX rulings and to match our strerror guarantees.
897         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
898
899 2011-05-24  Jim Meyering  <meyering@redhat.com>
900
901         test-perror2.c: avoid warning about unused variable
902         * tests/test-perror2.c (main): Remove declaration of unused "fp".
903
904 2011-05-24  Eric Blake  <eblake@redhat.com>
905
906         perror: avoid spurious test failure on HP-UX
907         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
908
909         tests: fix logic bug in init.sh
910         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
911         shell.
912
913 2011-05-24  Jim Meyering  <meyering@redhat.com>
914
915         utimensat: do not reference an out-of-scope buffer
916         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
917         declared in an inner scope, yet "times" would be dereferenced outside
918         the scope in which "ts" was valid.
919         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
920         of ts[2] "out/up", so that the use of aliased "times" (via
921         "times = ts;") does not end up referencing an out-of-scope "ts"
922
923         opendir-safer.c: don't clobber errno; don't close negative FD
924         * lib/opendir-safer.c (opendir_safer):
925         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
926         file descriptor, and more importantly, don't clobber the
927         offending errno value with EINVAL.  Before, upon failure
928         of dup_safer, we would pass the negative file descriptor to
929         fdopendir, which would clobber errno.
930
931 2011-05-23  Bruno Haible  <bruno@clisp.org>
932
933         idcache: Fix module description.
934         * modules/idcache (Include): Set to "idcache.h".
935
936 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
937
938         gnulib-tool: fix portability problem with MacOS sed
939         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
940         before the "}".  Problem reported by Leo in
941         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
942         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
943         sed_extract_condition1, sed_extract_condition2.
944
945 2011-05-23  Bruno Haible  <bruno@clisp.org>
946
947         hash: Simplify autoconf macro.
948         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
949
950 2011-05-23  Bruno Haible  <bruno@clisp.org>
951
952         getugroups: Fix module description.
953         * modules/getugroups (Include): Set to "getugroups.h".
954
955 2011-05-23  Bruno Haible  <bruno@clisp.org>
956
957         linkat: Simplify autoconf macro.
958         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
959
960 2011-05-23  Bruno Haible  <bruno@clisp.org>
961             Eric Blake  <eblake@redhat.com>
962
963         linkat, renameat: Update dependencies.
964         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
965         * modules/linkat (Depends-on): Likewise. Remove also readlink,
966         symlinkat.
967
968 2011-05-23  Jim Meyering  <meyering@redhat.com>
969
970         maint.mk: more tight_scope improvements
971         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
972         (_gl_TS_headers): Define only in if-0'd block.
973         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
974         sometimes we must *not* use it.  Adjust uses accordingly.
975         (sc_tight_scope): Use much simpler grep-based test to determine
976         whether we skip this rule.
977
978         maint.mk: generalize/improve the tight-scope rule
979         * top/maint.mk: Emit a warning when the test is skipped.
980         (_gl_TS_dir): Add $(srcdir)/ prefix.
981         (_gl_TS_function_match): Simplify, rather than trying
982         to enumerate common types.  Otherwise, it would fail to match an
983         "extern unsigned char const *" declaration in idutils.
984         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
985         a way to support use of that type of macro.
986         (_gl_TS_var_match): Simplify regexp.
987         (_gl_TS_obj_files): New configurable variable.
988         (_gl_TS_headers): Likewise.
989
990 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
991
992         verify: fix bug when gnulib <assert.h> is also included
993         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
994         is defined, not if _GL_STATIC_ASSERT_H is not defined.
995         Perhaps there's a better way, but this fixes the immediate problem.
996         Problem reported by Bruno Haible in
997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
998
999 2011-05-22  Bruno Haible  <bruno@clisp.org>
1000
1001         xgetcwd: Simplify autoconf macro.
1002         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
1003
1004 2011-05-22  Bruno Haible  <bruno@clisp.org>
1005
1006         New module 'mktime-internal'.
1007         * modules/mktime-internal: New file.
1008         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
1009         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
1010         mktime_internal as a C macro if libc has __mktime_internal.
1011         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
1012         conditions.
1013         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
1014
1015 2011-05-22  Bruno Haible  <bruno@clisp.org>
1016
1017         timegm: Correct mktime replacement statements.
1018         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
1019         defining mktime as a C macro. This completes a 2009-07-28 commit.
1020
1021 2011-05-22  Bruno Haible  <bruno@clisp.org>
1022
1023         timegm: Simplify autoconf macro.
1024         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
1025
1026 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1027
1028         clock-time: change to LGPLv2+.
1029         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
1030         BSD-like but we have no mark for that; this is good enough for now.
1031
1032 2011-05-21  Bruno Haible  <bruno@clisp.org>
1033
1034         strerror_r: Fix comments.
1035         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
1036
1037 2011-05-21  Bruno Haible  <bruno@clisp.org>
1038
1039         relocatable-prog-wrapper: Fix possible link error.
1040         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
1041         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
1042         (gl_FUNC_SETENV): ... to here.
1043         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
1044         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
1045
1046 2011-05-21  Bruno Haible  <bruno@clisp.org>
1047
1048         relocatable-prog-wrapper: Assume strerror() exists.
1049         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
1050         m4/strerror.m4.
1051         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
1052         * lib/relocwrapper.c: Remove mention of strerror module.
1053         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
1054         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
1055         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
1056         C macro.
1057
1058 2011-05-21  Bruno Haible  <bruno@clisp.org>
1059
1060         select: Simplify replacement idiom.
1061         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
1062         Win32 platforms.
1063         * lib/sys_select.in.h (select): Simplify accordingly.
1064         * modules/select (Depends-on): Likewise.
1065
1066 2011-05-21  Bruno Haible  <bruno@clisp.org>
1067
1068         mkdir-p: Simplify autoconf macro.
1069         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
1070         gl_FUNC_LCHOWN.
1071
1072 2011-05-21  Eric Blake  <eblake@redhat.com>
1073
1074         strerror_r: avoid clobbering strerror on cygwin
1075         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
1076         fall back instead to sys_errlist.
1077         * modules/strerror (configure.ac): Add witness.
1078         * tests/test-strerror_r.c (main): Enhance test.
1079         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1080         * tests/test-perror2.c (main): Free memory before exit.
1081
1082 2011-05-21  Bruno Haible  <bruno@clisp.org>
1083
1084         mkdtemp: Use gnulib naming conventions.
1085         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
1086         * modules/mkdtemp (configure.ac): Update.
1087
1088 2011-05-20  Eric Blake  <eblake@redhat.com>
1089
1090         strerror_r: avoid corrupting errno on Solaris
1091         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
1092         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1093
1094         strerror_r: avoid compiler warning
1095         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
1096
1097         strerror_r: simplify AIX code
1098         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
1099
1100         test-perror: avoid spurious failure on FreeBSD
1101         * modules/perror-tests (Depends-on): Add strerror, now that
1102         strerror_r no longer pulls it in.
1103
1104 2011-05-20  Bruno Haible  <bruno@clisp.org>
1105
1106         strerror_r-posix: Remove unused dependencies.
1107         * modules/strerror_r-posix (Depends-on): Remove strerror.
1108         Reported by Eric Blake.
1109
1110 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1111
1112         intprops: remove assumption about A|B representation
1113         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
1114         is a valid integer if both A and B are.  Although this is true for
1115         all known practical hosts, the C standard doesn't guarantee it,
1116         and the code need not assume it.  Also, this change may work around
1117         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
1118         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
1119
1120 2011-05-20  Eric Blake  <eblake@redhat.com>
1121
1122         perror: work around FreeBSD bug
1123         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
1124         is broken.  Move AC_LIBOBJ...
1125         * modules/perror (configure.ac): Here.
1126         * doc/posix-functions/perror.texi (perror): Document this.
1127         * tests/test-perror2.c (main): Enhance test.
1128
1129         test-perror: check for strerror interactions
1130         * tests/macros.h (STREQ): Add macro.
1131         * modules/perror-tests (Files): Add second test.
1132         * tests/test-perror2.c (main): New file.
1133         * doc/posix-functions/perror.texi (perror): Document glibc bug.
1134
1135         test-perror: rewrite to use init script
1136         * modules/perror-tests (Files): Add init.sh.
1137         * tests/test-perror.sh: Use temporary directory.
1138
1139 2011-05-20  Jim Meyering  <meyering@redhat.com>
1140
1141         maint: replace misused "a" with "an"
1142         * doc/intprops.texi: "a integer"
1143         * doc/regex.texi: "a explanation"
1144         * lib/alignof.h: "a object"
1145         * lib/argmatch.h: "a explanation"
1146         * lib/argp-help.c: "a option" and "a OPTION_DOC"
1147         * lib/stdint.in.h: "a integer"
1148         * lib/userspec.c: "a owner"
1149         * doc/gnulib.texi: Fix "a idea", and reword.
1150
1151 2011-05-19  Jim Meyering  <meyering@redhat.com>
1152
1153         maint: correct misuse of "a" and "an"
1154         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
1155         * lib/argp-help.c: "an docum...": s/an/a/
1156         * lib/argp-parse.c: "An vector": s/An/A/
1157         * lib/execute.c: "an native": s/an/a/
1158         * lib/spawn-pipe.c: Likewise.
1159         * lib/gc.h: "an Gc_rc": s/an/a/
1160         * lib/unigbrk.in.h: "an grapheme": s/an/a/
1161         * lib/fts.c: "an stat.st_dev": s/an/a/
1162
1163 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1164
1165         intprops-tests: work around HP-UX 11.23 cc bug with constants
1166         * tests/test-intprops.c (VERIFY): New macro.
1167         (main): Use it, instead of verify, to work around the compiler bug; see
1168         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1169
1170         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
1171         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
1172         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
1173         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
1174         (_GL_REMAINDER_OVERFLOW): Use it.
1175
1176         intprops-tests: revert unsigned part of previous change
1177         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
1178         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
1179         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
1180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
1181
1182 2011-05-19  Bruno Haible  <bruno@clisp.org>
1183
1184         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
1185         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
1186         strerror_r() returned without filling the buffer.
1187         Reported by Eric Blake.
1188
1189 2011-05-19  Eric Blake  <eblake@redhat.com>
1190
1191         strerror_r: guarantee unchanged errno
1192         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
1193         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
1194         failure.
1195         * tests/test-strerror_r.c (main): Enhance test.
1196
1197 2011-05-19  Bruno Haible  <bruno@clisp.org>
1198
1199         strerror_r: Reorder #if blocks.
1200         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
1201         for consistency with the previous commit.
1202
1203 2011-05-19  Bruno Haible  <bruno@clisp.org>
1204
1205         perror: Avoid clobbering the strerror buffer when possible.
1206         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
1207         * lib/strerror.c: Include it.
1208         * modules/strerror (Files): Add lib/strerror-impl.h.
1209         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
1210         (my_strerror): New function, defined through lib/strerror-impl.h.
1211         (perror): Use it instead of strerror.
1212         * modules/perror (Files): Add lib/strerror-impl.h.
1213         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
1214
1215 2011-05-19  Eric Blake  <eblake@redhat.com>
1216
1217         strerror_r: fix on newer cygwin
1218         * lib/strerror_r.c (strerror_r): Cygwin now has
1219         __xpg_strerror_r, use it.
1220
1221 2011-05-19  Bruno Haible  <bruno@clisp.org>
1222
1223         strerror_r: Avoid clobbering the strerror buffer when possible.
1224         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
1225         (sys_nerr, sys_errlist): New declarations.
1226         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
1227         HP-UX, native Win32, IRIX, and 32-bit Solaris.
1228         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
1229
1230 2011-05-19  Bruno Haible  <bruno@clisp.org>
1231
1232         strerror_r: Fix test failure on mingw.
1233         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
1234         EXTEND_STRERROR_R.
1235         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
1236         macros from errno.in.h instead.
1237
1238 2011-05-19  Eric Blake  <eblake@redhat.com>
1239
1240         strerror: relax test for Solaris
1241         * tests/test-strerror.c (main): Permit Solaris behavior.
1242         * tests/test-strerror_r.c (main): Likewise.
1243
1244         strerror: enforce POSIX ruling on strerror(0)
1245         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
1246         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1247         * lib/strerror_r.c (rpl_strerror_r): Work around it.
1248         * doc/posix-functions/strerror.texi (strerror): Document it.
1249         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
1250         * tests/test-strerror.c (main): Strengthen test.
1251         * tests/test-strerror_r.c (main): Likewise.
1252
1253 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1254
1255         intprop-tests: port to older and more-pedantic compilers
1256         * modules/intprops-tests (Files): Add tests/macros.h.
1257         * tests/test-intprops.c: Include macros.h.
1258         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
1259         it's no longer documented to expand to an integer constant expression.
1260         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
1261         argument is floating point, as it's no longer documented to expand
1262         to an integer constant expression in that case.
1263         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
1264         compiler bugs reported by Bruno Haible.  See
1265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1266         (U0, U1): New constants, to work around the same bugs.  Also,
1267         in tests, use e.g., "(unsigned int) 39" rather than "39u".
1268
1269         intprops: work around C compiler bugs
1270         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
1271         bug in Sun C 5.11 2010/08/13 and other compilers; see
1272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1273
1274         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
1275         * doc/intprops.texi (Integer Type Determination): Fix
1276         documentation for TYPE_IS_INTEGER: it returns an constant
1277         expression, not an integer constant expression.  Fix doc for
1278         TYPE_SIGNED: it returns an integer constant expression only if its
1279         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
1280         hardly worth documented that way....)
1281
1282 2011-05-18  Bruno Haible  <bruno@clisp.org>
1283
1284         strerror_r: Avoid clobbering the strerror buffer when possible.
1285         * lib/strerror_r.c (strerror_r): Merge the three implementations.
1286         Handle gnulib defined errno values here. When strerror() returns NULL
1287         or an empty string, return EINVAL.
1288         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
1289         gnulib defined errno values here.
1290         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
1291
1292 2011-05-18  Eric Blake  <eblake@redhat.com>
1293
1294         fnmatch: avoid compiler warning
1295         * lib/fnmatch_loop.c (FCT): Use correct type.
1296         Reported by Matthias Bolte.
1297
1298 2011-05-13  Jim Meyering  <meyering@redhat.com>
1299
1300         maint.mk: three new prohibit_<HDR>_without_use rules
1301         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
1302         (sc_prohibit_stdio-safer_without_use): Likewise.
1303         (sc_prohibit_xfreopen_without_use): Likewise.
1304
1305 2011-05-17  Jim Meyering  <meyering@redhat.com>
1306
1307         announce-gen: fail if the NEWS delta is empty
1308         If there's nothing noteworthy in NEWS, then either you forgot
1309         or you shouldn't be releasing.
1310         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
1311
1312 2011-05-17  Pádraig Brady <P@draigBrady.com>
1313
1314         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
1315         reserved symbols starting with double underscore from the check.
1316
1317 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1318
1319         intprops: add doc
1320         * doc/intprops.texi: New file, documenting intprops.
1321         * doc/gnulib.texi (Particular Modules): Include it.
1322
1323         verify: add doc to gnulib manual and fix example
1324         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
1325         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
1326         (Compile-time Assertions): Fix example so it can't overflow.
1327
1328 2011-05-17  Jim Meyering  <meyering@redhat.com>
1329
1330         warnings.m4: don't usurp save_CPPFLAGS variable name
1331         * m4/warnings.m4: Prefix local temporary variable name with gl_.
1332
1333         doc: fix typo
1334         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
1335
1336 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1337             Bruno Haible  <bruno@clisp.org>
1338
1339         doc: Tweak recent change.
1340         * README (Portability guidelines): Tweak new text.
1341         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
1342         Interix 6.1.
1343
1344 2011-05-16  Eric Blake  <eblake@redhat.com>
1345
1346         inttypes: avoid autoconf warning
1347         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
1348         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1349
1350 2011-05-16  Sam Steingold <sds@gnu.org>
1351         and Eric Blake  <eblake@redhat.com>
1352
1353         vc-list-files: accept multiple directory operands
1354         * build-aux/vc-list-files: Iterate over all remaining operands.
1355
1356 2011-05-16  Bruno Haible  <bruno@clisp.org>
1357
1358         Fix confusion regarding deprecated modules.
1359         * modules/calloc (Status, Notice): Mark module as deprecated, not
1360         obsolete.
1361         * modules/fnmatch-posix (Status, Notice): Likewise.
1362         * modules/getdate (Status, Notice): Likewise.
1363         * modules/getopt (Status, Notice): Likewise.
1364         * modules/malloc (Status, Notice): Likewise.
1365         * modules/pipe (Status, Notice): Likewise.
1366         * modules/realloc (Status, Notice): Likewise.
1367         * modules/rename-dest-slash (Status, Notice): Likewise.
1368         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
1369         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
1370         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
1371         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
1372         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
1373
1374 2011-05-16  Bruno Haible  <bruno@clisp.org>
1375
1376         doc: List the target platforms.
1377         * doc/gnulib-intro.texi (Target Platforms): New section.
1378         * doc/gnulib.texi (Introduction): Update menu.
1379         * README (Portability guidelines): Refer to the new section. Update
1380         statement about oldest supported environment. Remove rationale why
1381         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
1382         unportable C89 function.
1383         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
1384         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
1385
1386 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1387
1388         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
1389
1390 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1391
1392         intprops-tests: new module
1393         * modules/intprops-tests, tests/test-intprops.c: New files.
1394
1395         intprops: add safe, portable integer overflow checking
1396         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
1397         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
1398         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
1399         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
1400         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
1401         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
1402         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
1403         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
1404         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
1405         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
1406         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
1407
1408 2011-05-12  James Youngman  <jay@gnu.org>
1409
1410         Add a test for glibc's Bugzilla bug #12378.
1411         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
1412         doesn't allow the literal matching of a lone "[" (which is
1413         required by POSIX).
1414         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
1415
1416 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
1417
1418         Sync glibc change fixing Bugzilla bug #12378.
1419         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
1420         beginning and fall back to matching as normal character if the
1421         string ends before the matching ']' is found.  This is what POSIX
1422         requires.
1423
1424 2011-05-13  Eric Blake  <eblake@redhat.com>
1425
1426         getcwd-lgpl: relax test for FreeBSD
1427         * doc/posix-functions/getcwd.texi (getcwd): Document portability
1428         issue.
1429         * tests/test-getcwd-lgpl.c (main): Relax test.
1430         Reported by Matthias Bolte.
1431
1432 2011-05-11  Eric Blake  <eblake@redhat.com>
1433
1434         test-fflush: silence compiler warning
1435         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
1436
1437 2011-05-11  Bruno Haible  <bruno@clisp.org>
1438
1439         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
1440         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
1441         * modules/canonicalize (Depends-on): Add 'nocrash'.
1442         * modules/canonicalize-lgpl (Depends-on): Likewise.
1443         * doc/posix-functions/realpath.texi: Update platforms list.
1444         Reported by Ryan Schmidt <ryandesign@macports.org>.
1445
1446 2011-05-11  Bruno Haible  <bruno@clisp.org>
1447
1448         group-member: Declare function in <unistd.h>.
1449         * lib/unistd.in.h (group_member): New declaration.
1450         * lib/group-member.h: Remove file.
1451         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
1452         * tests/test-unistd-c++.cc: Check signature of group_member.
1453         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
1454         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
1455         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
1456         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
1457         HAVE_GROUP_MEMBER.
1458         * modules/group-member (Files): Remove lib/group-member.h.
1459         (Depends-on): Add unistd. Specify conditions.
1460         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1461         (Include): Change to <unistd.h>.
1462         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
1463         HAVE_GROUP_MEMBER.
1464         * NEWS: Mention the change.
1465         * lib/euidaccess.c: Don't include group-member.h.
1466
1467 2011-05-11  Bruno Haible  <bruno@clisp.org>
1468
1469         group-member: Document module.
1470         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
1471         module.
1472
1473 2011-05-11  Bruno Haible  <bruno@clisp.org>
1474
1475         fclose: Fix mistake earlier today.
1476         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
1477
1478 2011-05-11  Eric Blake  <eblake@redhat.com>
1479
1480         fclose: preserve fflush errors
1481         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
1482         Reported by Jim Meyering.
1483
1484         bootstrap: support a prereq of 'rpcgen -' on RHEL5
1485         * build-aux/bootstrap (check_versions): When no specific version
1486         is required, merely check that the app produces an exit status
1487         that indicates its existence.
1488
1489         maint.mk: drop redundant check
1490         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
1491         the same but better.
1492
1493 2011-05-11  Bruno Haible  <bruno@clisp.org>
1494
1495         fclose: Fix possible link error.
1496         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
1497         unregister_shadow_fd. Improve comments.
1498         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
1499         Eric Blake.
1500
1501 2011-05-11  Jim Meyering  <meyering@redhat.com>
1502
1503         maint.mk: improve "can not" detection and generalize rule name
1504         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
1505         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
1506         Use the same technique as in sc_prohibit_doubled_word, so that
1507         we recognize "can not" also when the words are separated by a newline.
1508         Suggested by Eric Blake.
1509         (perl_filename_lineno_text_): Define.  Factored out of...
1510         (prohibit_doubled_word_): ...here.  Use the new definition.
1511         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
1512         (prohibit_undesirable_word_seq_RE_): New overridable variable.
1513         (ignore_undesirable_word_sequence_RE_): New overridable variable.
1514
1515 2011-05-10  Eric Blake  <eblake@redhat.com>
1516
1517         fclose: avoid double close race when possible
1518         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
1519         all but WINDOWS_SOCKETS.
1520
1521 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
1522
1523         openat: correct new comment
1524         * lib/openat-proc.c (openat_proc_name): Correct the comment.
1525
1526 2011-05-10  Jim Meyering  <meyering@redhat.com>
1527
1528         openat: add comments
1529         * lib/openat-proc.c (openat_proc_name): Add comments,
1530         mostly from Eric Blake.
1531
1532 2011-05-09  Eric Blake  <eblake@redhat.com>
1533
1534         openat: reduce syscalls in first probe of /proc
1535         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
1536         be a directory.  Simplify the probe for .. bugs.
1537         * modules/openat (Depends-on): Drop same-inode.
1538         Reported by Bastien ROUCARIES.
1539
1540 2011-05-09  Jim Meyering  <meyering@redhat.com>
1541
1542         maint.mk: change semantics/name of tight_scope variables
1543         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
1544         Rename variables to align with semantics that make them more useful.
1545
1546         maint.mk: tweak new rule's name not to impinge
1547         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
1548         (sc_tight_scope): Use new rule name rather than $@-0.
1549
1550         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
1551         * top/maint.mk (sc_tight_scope): New rule.
1552         (sc_tight_scope-0): New rule, ifdef'd out.
1553         (_gl_TS_dir): Default.
1554         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
1555         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
1556
1557 2011-05-09  Simon Josefsson  <simon@josefsson.org>
1558
1559         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
1560         Haible <bruno@clisp.org>.
1561
1562 2011-05-08  Bruno Haible  <bruno@clisp.org>
1563
1564         Comments.
1565         * m4/isnanf.m4: Add comment.
1566         * m4/isnanl.m4: Likewise.
1567
1568 2011-05-08  Bruno Haible  <bruno@clisp.org>
1569
1570         glob: Remove obsolete macro.
1571         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
1572
1573 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1574
1575         intprops: Sun C 5.11 supports __typeof__
1576         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
1577         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
1578         which is new.
1579         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
1580
1581         intprops: switch to usual gnulib indenting and naming
1582         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
1583         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
1584
1585         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
1586
1587 2011-05-08  Jim Meyering  <meyering@redhat.com>
1588
1589         maint.mk: suppress "Entering/Leaving directory" diag in announcement
1590         * top/maint.mk (release-prep): Use make's --no-print-directory
1591         option when generating the announcement.  This eliminates the
1592         pesky "make[2]: Entering/Leaving directory" diagnostics in the
1593         generated announcement template.
1594
1595 2011-05-08  Bruno Haible  <bruno@clisp.org>
1596
1597         tzset: Fix gettimeofday wrapper on Solaris 2.6.
1598         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
1599         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1600
1601 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1602
1603         ignore-value, verify: Omit include files from lib_SOURCES.
1604         * modules/ignore-value, modules/verify (Makefile.am):
1605         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1606         that leads Automake to duplicate use of am__objects_... variables
1607         in Makefile.in.  See
1608         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1609
1610 2011-05-07  Bruno Haible  <bruno@clisp.org>
1611
1612         fclose: Simplify autoconf macro.
1613         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1614         defined.
1615
1616 2011-05-07  Bruno Haible  <bruno@clisp.org>
1617
1618         canonicalize-lgpl: Fix autoconf macro ordering bug.
1619         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1620         gl_STDLIB_H_DEFAULTS.
1621
1622 2011-05-06  Eric Blake  <eblake@redhat.com>
1623
1624         maintainer-makefile: make sc_po_check easier to tune
1625         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1626         to probe for strings, such as an alternate location for gnulib.
1627
1628         fclose: guarantee behavior on seekable stdin
1629         * modules/fclose (Depends-on): Add fflush.
1630         * doc/posix-functions/fclose.texi (fclose): Document this.
1631         * tests/test-fclose.c (main): Make test for this unconditional.
1632
1633 2011-05-06  Bruno Haible  <bruno@clisp.org>
1634
1635         fflush, fpurge: Relicense under LGPLv2+.
1636         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
1637         * modules/fpurge (License): Likewise.
1638         With permission from Eric Blake and Jim Meyering.
1639         Suggested by Eric Blake.
1640
1641 2011-05-06  Karl Berry  <karl@gnu.org>
1642
1643         * MODULES.html.sh (func_all_modules): remove exit.
1644
1645 2011-05-06  Jim Meyering  <meyering@redhat.com>
1646
1647         maint.mk: use info-gnu@ as the default only for a stable release
1648         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
1649         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
1650         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
1651         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
1652
1653 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1654
1655         assert-h: new module, which supports C1X-style static_assert
1656         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
1657         * lib/verify.h: Revamp so that this can be copied into assert.h,
1658         while retaining the ability to use it standalone as before.
1659         Rename private identifiers so as not to encroach on the
1660         standard C namespace, since this is now used by assert.h.
1661         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
1662         the old verify_true.
1663         (_GL_VERIFY_TRUE): New macro, with much of the contents of
1664         the old verify_true.  Use _GL_VERIFY_TYPE.
1665         (_GL_VERIFY): New macro, with much of the contents of the old verify.
1666         (static_assert): New macro, if _GL_STATIC_ASSERT_H
1667         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
1668         defined when this file is copied into the replacement assert.h.
1669         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
1670         and _Static_assert is not built in.
1671         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
1672         defined, and use the new macros mentioned above.
1673         * doc/posix-headers/assert.texi: Document this.
1674
1675 2011-05-05  Bruno Haible  <bruno@clisp.org>
1676
1677         fclose, fflush: Respect rules for use of AC_LIBOBJ.
1678         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
1679         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
1680         gl_REPLACE_FCLOSE here.
1681         * modules/fflush (Depends-on): Remove fclose.
1682         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
1683         combination with module 'fclose'.
1684
1685 2011-05-05  Bruno Haible  <bruno@clisp.org>
1686
1687         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
1688         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
1689         gl_FUNC_FFLUSH.
1690         (gl_FUNC_FFLUSH): Use it.
1691         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
1692         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
1693         gl_REPLACE_FSEEKO here.
1694
1695 2011-05-05  Bruno Haible  <bruno@clisp.org>
1696
1697         tzset: Relicense under LGPL.
1698         * modules/tzset (License): Change to LGPL.
1699         No agreement needed; it's a no-op.
1700
1701         strtoimax, strtoumax: Relicense under LGPL.
1702         * modules/strtoimax (License): Change to LGPL.
1703         * modules/strtoumax (License): Likewise.
1704         With permission from Jim Meyering, Paul Eggert:
1705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
1706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
1707
1708         getgroups: Relicense under LGPL.
1709         * modules/getgroups (License): Change to LGPL.
1710         With permission from Jim Meyering, Paul Eggert, Eric Blake:
1711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1714
1715         nanosleep: Relicense under LGPL.
1716         * modules/nanosleep (License): Change to LGPL.
1717         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
1718         Haible:
1719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1721         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1722         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1723
1724         futimens: Relicense under LGPL.
1725         * modules/futimens (License): Change to LGPL.
1726         With permission from Eric Blake:
1727         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1728
1729         fflush: Relicense under LGPL.
1730         * modules/fflush (License): Change to LGPL.
1731         With permission from Eric Blake, Bruno Haible, Jim Meyering:
1732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1734         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
1735
1736         tmpfile: Relicense under LGPL.
1737         * modules/tmpfile (License): Change to LGPL.
1738         With permission from Ben Pfaff:
1739         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1740
1741         isfinite: Relicense under LGPL.
1742         * modules/isfinite (License): Change to LGPL.
1743         With permission from Ben Pfaff, Bruno Haible:
1744         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
1746
1747         acosl..tanl: Relicense under LGPL.
1748         * modules/acosl (License): Change to LGPL.
1749         * modules/asinl (License): Likewise.
1750         * modules/atanl (License): Likewise.
1751         * modules/cosl (License): Likewise.
1752         * modules/expl (License): Likewise.
1753         * modules/logl (License): Likewise.
1754         * modules/sinl (License): Likewise.
1755         * modules/sqrtl (License): Likewise.
1756         * modules/tanl (License): Likewise.
1757         Source code originally from glibc and Paolo Bonzini. Agreements:
1758         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
1759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
1760
1761 2011-05-05  Bruno Haible  <bruno@clisp.org>
1762
1763         signal: Define sighandler_t.
1764         * lib/signal.in.h (sighandler_t): New type.
1765         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
1766         whether sighandler_t is defined.
1767         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
1768         * modules/signal (Depends-on): Add extensions.
1769         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
1770         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
1771         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
1772
1773 2011-05-05  Eric Blake  <eblake@redhat.com>
1774
1775         maint: remove useless REPLACE_*_H macros
1776         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
1777         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1778         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1779         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
1780         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1781         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1782         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
1783         * m4/btowc.m4: Update callers.
1784         * m4/dirfd.m4: Likewise.
1785         * m4/duplocale.m4: Likewise.
1786         * m4/fchdir.m4: Likewise.
1787         * m4/fdopendir.m4: Likewise.
1788         * m4/inet_ntop.m4: Likewise.
1789         * m4/inet_pton.m4: Likewise.
1790         * m4/ioctl.m4: Likewise.
1791         * m4/mbrlen.m4: Likewise.
1792         * m4/mbrtowc.m4: Likewise.
1793         * m4/mbsinit.m4: Likewise.
1794         * m4/mbsnrtowcs.m4: Likewise.
1795         * m4/mbsrtowcs.m4: Likewise.
1796         * m4/poll.m4: Likewise.
1797         * m4/setlocale.m4: Likewise.
1798         * m4/wcrtomb.m4: Likewise.
1799         * m4/wcsnrtombs.m4: Likewise.
1800         * m4/wcsrtombs.m4: Likewise.
1801         * m4/wctob.m4: Likewise.
1802         * m4/wcwidth.m4: Likewise.
1803         * modules/posix_spawn: Likewise.
1804         * modules/posix_spawn_file_actions_addclose: Likewise.
1805         * modules/posix_spawn_file_actions_adddup2: Likewise.
1806         * modules/posix_spawn_file_actions_addopen: Likewise.
1807         * modules/posix_spawn_file_actions_destroy: Likewise.
1808         * modules/posix_spawn_file_actions_init: Likewise.
1809         * modules/posix_spawnattr_destroy: Likewise.
1810         * modules/posix_spawnattr_getflags: Likewise.
1811         * modules/posix_spawnattr_getpgroup: Likewise.
1812         * modules/posix_spawnattr_getschedparam: Likewise.
1813         * modules/posix_spawnattr_getschedpolicy: Likewise.
1814         * modules/posix_spawnattr_getsigdefault: Likewise.
1815         * modules/posix_spawnattr_getsigmask: Likewise.
1816         * modules/posix_spawnattr_init: Likewise.
1817         * modules/posix_spawnattr_setflags: Likewise.
1818         * modules/posix_spawnattr_setpgroup: Likewise.
1819         * modules/posix_spawnattr_setschedparam: Likewise.
1820         * modules/posix_spawnattr_setschedpolicy: Likewise.
1821         * modules/posix_spawnattr_setsigdefault: Likewise.
1822         * modules/posix_spawnattr_setsigmask: Likewise.
1823         * modules/posix_spawnp: Likewise.
1824
1825 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
1826
1827         Add option to do-release-commit-and-tag to specify branch.
1828         * build-aux/do-release-commit-and-tag: Add --branch.
1829
1830 2011-05-03  Bruno Haible  <bruno@clisp.org>
1831
1832         Avoid unnecessary compilation units, through conditional dependencies.
1833         * modules/accept (Depends-on): Add conditions to the dependencies.
1834         * modules/acosl (Depends-on): Likewise.
1835         * modules/argz (Depends-on): Likewise.
1836         * modules/asinl (Depends-on): Likewise.
1837         * modules/atanl (Depends-on): Likewise.
1838         * modules/atoll (Depends-on): Likewise.
1839         * modules/bind (Depends-on): Likewise.
1840         * modules/btowc (Depends-on): Likewise.
1841         * modules/canonicalize-lgpl (Depends-on): Likewise.
1842         * modules/ceil (Depends-on): Likewise.
1843         * modules/ceilf (Depends-on): Likewise.
1844         * modules/ceill (Depends-on): Likewise.
1845         * modules/chdir-long (Depends-on): Likewise.
1846         * modules/chown (Depends-on): Likewise.
1847         * modules/close (Depends-on): Likewise.
1848         * modules/connect (Depends-on): Likewise.
1849         * modules/cosl (Depends-on): Likewise.
1850         * modules/dirfd (Depends-on): Likewise.
1851         * modules/dprintf (Depends-on): Likewise.
1852         * modules/dprintf-posix (Depends-on): Likewise.
1853         * modules/error (Depends-on): Likewise.
1854         * modules/euidaccess (Depends-on): Likewise.
1855         * modules/expl (Depends-on): Likewise.
1856         * modules/faccessat (Depends-on): Likewise.
1857         * modules/fchdir (Depends-on): Likewise.
1858         * modules/fclose (Depends-on): Likewise.
1859         * modules/fcntl (Depends-on): Likewise.
1860         * modules/fdopendir (Depends-on): Likewise.
1861         * modules/fflush (Depends-on): Likewise.
1862         * modules/floor (Depends-on): Likewise.
1863         * modules/floorf (Depends-on): Likewise.
1864         * modules/floorl (Depends-on): Likewise.
1865         * modules/fnmatch (Depends-on): Likewise.
1866         * modules/fopen (Depends-on): Likewise.
1867         * modules/fprintf-posix (Depends-on): Likewise.
1868         * modules/frexp (Depends-on): Likewise.
1869         * modules/frexp-nolibm (Depends-on): Likewise.
1870         * modules/frexpl (Depends-on): Likewise.
1871         * modules/frexpl-nolibm (Depends-on): Likewise.
1872         * modules/fseek (Depends-on): Likewise.
1873         * modules/fsusage (Depends-on): Likewise.
1874         * modules/ftell (Depends-on): Likewise.
1875         * modules/ftello (Depends-on): Likewise.
1876         * modules/futimens (Depends-on): Likewise.
1877         * modules/getcwd (Depends-on): Likewise.
1878         * modules/getcwd-lgpl (Depends-on): Likewise.
1879         * modules/getdelim (Depends-on): Likewise.
1880         * modules/getdomainname (Depends-on): Likewise.
1881         * modules/getgroups (Depends-on): Likewise.
1882         * modules/gethostname (Depends-on): Likewise.
1883         * modules/getline (Depends-on): Likewise.
1884         * modules/getlogin_r (Depends-on): Likewise.
1885         * modules/getopt-posix (Depends-on): Likewise.
1886         * modules/getpeername (Depends-on): Likewise.
1887         * modules/getsockname (Depends-on): Likewise.
1888         * modules/getsockopt (Depends-on): Likewise.
1889         * modules/getsubopt (Depends-on): Likewise.
1890         * modules/getusershell (Depends-on): Likewise.
1891         * modules/glob (Depends-on): Likewise.
1892         * modules/grantpt (Depends-on): Likewise.
1893         * modules/iconv_open (Depends-on): Likewise.
1894         * modules/iconv_open-utf (Depends-on): Likewise.
1895         * modules/inet_ntop (Depends-on): Likewise.
1896         * modules/inet_pton (Depends-on): Likewise.
1897         * modules/ioctl (Depends-on): Likewise.
1898         * modules/isapipe (Depends-on): Likewise.
1899         * modules/isfinite (Depends-on): Likewise.
1900         * modules/isinf (Depends-on): Likewise.
1901         * modules/lchown (Depends-on): Likewise.
1902         * modules/ldexpl (Depends-on): Likewise.
1903         * modules/link (Depends-on): Likewise.
1904         * modules/linkat (Depends-on): Likewise.
1905         * modules/listen (Depends-on): Likewise.
1906         * modules/logl (Depends-on): Likewise.
1907         * modules/lstat (Depends-on): Likewise.
1908         * modules/mbrlen (Depends-on): Likewise.
1909         * modules/mbrtowc (Depends-on): Likewise.
1910         * modules/mbsinit (Depends-on): Likewise.
1911         * modules/mbsnrtowcs (Depends-on): Likewise.
1912         * modules/mbsrtowcs (Depends-on): Likewise.
1913         * modules/mbtowc (Depends-on): Likewise.
1914         * modules/memcmp (Depends-on): Likewise.
1915         * modules/mkdir (Depends-on): Likewise.
1916         * modules/mkdtemp (Depends-on): Likewise.
1917         * modules/mkfifo (Depends-on): Likewise.
1918         * modules/mkfifoat (Depends-on): Likewise.
1919         * modules/mknod (Depends-on): Likewise.
1920         * modules/mkostemp (Depends-on): Likewise.
1921         * modules/mkostemps (Depends-on): Likewise.
1922         * modules/mkstemp (Depends-on): Likewise.
1923         * modules/mkstemps (Depends-on): Likewise.
1924         * modules/mktime (Depends-on): Likewise.
1925         * modules/nanosleep (Depends-on): Likewise.
1926         * modules/open (Depends-on): Likewise.
1927         * modules/openat (Depends-on): Likewise.
1928         * modules/perror (Depends-on): Likewise.
1929         * modules/poll (Depends-on): Likewise.
1930         * modules/popen (Depends-on): Likewise.
1931         * modules/posix_spawn (Depends-on): Likewise.
1932         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
1933         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
1934         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
1935         * modules/posix_spawnp (Depends-on): Likewise.
1936         * modules/pread (Depends-on): Likewise.
1937         * modules/printf-posix (Depends-on): Likewise.
1938         * modules/ptsname (Depends-on): Likewise.
1939         * modules/putenv (Depends-on): Likewise.
1940         * modules/pwrite (Depends-on): Likewise.
1941         * modules/readline (Depends-on): Likewise.
1942         * modules/readlink (Depends-on): Likewise.
1943         * modules/readlinkat (Depends-on): Likewise.
1944         * modules/recv (Depends-on): Likewise.
1945         * modules/recvfrom (Depends-on): Likewise.
1946         * modules/regex (Depends-on): Likewise.
1947         * modules/remove (Depends-on): Likewise.
1948         * modules/rename (Depends-on): Likewise.
1949         * modules/renameat (Depends-on): Likewise.
1950         * modules/rmdir (Depends-on): Likewise.
1951         * modules/round (Depends-on): Likewise.
1952         * modules/roundf (Depends-on): Likewise.
1953         * modules/roundl (Depends-on): Likewise.
1954         * modules/rpmatch (Depends-on): Likewise.
1955         * modules/select (Depends-on): Likewise.
1956         * modules/send (Depends-on): Likewise.
1957         * modules/sendto (Depends-on): Likewise.
1958         * modules/setenv (Depends-on): Likewise.
1959         * modules/setlocale (Depends-on): Likewise.
1960         * modules/setsockopt (Depends-on): Likewise.
1961         * modules/shutdown (Depends-on): Likewise.
1962         * modules/sigaction (Depends-on): Likewise.
1963         * modules/signbit (Depends-on): Likewise.
1964         * modules/sigprocmask (Depends-on): Likewise.
1965         * modules/sinl (Depends-on): Likewise.
1966         * modules/sleep (Depends-on): Likewise.
1967         * modules/snprintf (Depends-on): Likewise.
1968         * modules/snprintf-posix (Depends-on): Likewise.
1969         * modules/socket (Depends-on): Likewise.
1970         * modules/sprintf-posix (Depends-on): Likewise.
1971         * modules/sqrtl (Depends-on): Likewise.
1972         * modules/stat (Depends-on): Likewise.
1973         * modules/strchrnul (Depends-on): Likewise.
1974         * modules/strdup-posix (Depends-on): Likewise.
1975         * modules/strerror (Depends-on): Likewise.
1976         * modules/strerror_r-posix (Depends-on): Likewise.
1977         * modules/strndup (Depends-on): Likewise.
1978         * modules/strnlen (Depends-on): Likewise.
1979         * modules/strptime (Depends-on): Likewise.
1980         * modules/strsep (Depends-on): Likewise.
1981         * modules/strsignal (Depends-on): Likewise.
1982         * modules/strstr-simple (Depends-on): Likewise.
1983         * modules/strtod (Depends-on): Likewise.
1984         * modules/strtoimax (Depends-on): Likewise.
1985         * modules/strtok_r (Depends-on): Likewise.
1986         * modules/strtoumax (Depends-on): Likewise.
1987         * modules/symlink (Depends-on): Likewise.
1988         * modules/symlinkat (Depends-on): Likewise.
1989         * modules/tanl (Depends-on): Likewise.
1990         * modules/tcgetsid (Depends-on): Likewise.
1991         * modules/tmpfile (Depends-on): Likewise.
1992         * modules/trunc (Depends-on): Likewise.
1993         * modules/truncf (Depends-on): Likewise.
1994         * modules/truncl (Depends-on): Likewise.
1995         * modules/uname (Depends-on): Likewise.
1996         * modules/unlink (Depends-on): Likewise.
1997         * modules/unlockpt (Depends-on): Likewise.
1998         * modules/unsetenv (Depends-on): Likewise.
1999         * modules/usleep (Depends-on): Likewise.
2000         * modules/utimensat (Depends-on): Likewise.
2001         * modules/vasprintf (Depends-on): Likewise.
2002         * modules/vdprintf (Depends-on): Likewise.
2003         * modules/vdprintf-posix (Depends-on): Likewise.
2004         * modules/vfprintf-posix (Depends-on): Likewise.
2005         * modules/vprintf-posix (Depends-on): Likewise.
2006         * modules/vsnprintf (Depends-on): Likewise.
2007         * modules/vsnprintf-posix (Depends-on): Likewise.
2008         * modules/vsprintf-posix (Depends-on): Likewise.
2009         * modules/wcrtomb (Depends-on): Likewise.
2010         * modules/wcscasecmp (Depends-on): Likewise.
2011         * modules/wcscspn (Depends-on): Likewise.
2012         * modules/wcsdup (Depends-on): Likewise.
2013         * modules/wcsncasecmp (Depends-on): Likewise.
2014         * modules/wcsnrtombs (Depends-on): Likewise.
2015         * modules/wcspbrk (Depends-on): Likewise.
2016         * modules/wcsrtombs (Depends-on): Likewise.
2017         * modules/wcsspn (Depends-on): Likewise.
2018         * modules/wcsstr (Depends-on): Likewise.
2019         * modules/wcstok (Depends-on): Likewise.
2020         * modules/wcswidth (Depends-on): Likewise.
2021         * modules/wctob (Depends-on): Likewise.
2022         * modules/wctomb (Depends-on): Likewise.
2023         * modules/wctype (Depends-on): Likewise.
2024         * modules/wcwidth (Depends-on): Likewise.
2025         * modules/write (Depends-on): Likewise.
2026
2027 2011-05-03  Bruno Haible  <bruno@clisp.org>
2028
2029         Support for conditional dependencies.
2030         * doc/gnulib.texi (Module description): Document the syntax of
2031         conditional dependencies.
2032         * gnulib-tool: New option --conditional-dependencies.
2033         (func_usage): Document it.
2034         (cond_dependencies): New variable.
2035         (func_get_automake_snippet_conditional,
2036         func_get_automake_snippet_unconditional): New functions, extracted from
2037         func_get_automake_snippet.
2038         (func_get_automake_snippet): Use them.
2039         (sed_first_32_chars): New variable.
2040         (func_module_shellfunc_name): New function.
2041         (func_module_shellvar_name): New function.
2042         (func_module_conditional_name): New function.
2043         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
2044         func_cond_module_condition): New functions.
2045         (func_modules_transitive_closure): Add support for conditional
2046         dependencies.
2047         (func_emit_lib_Makefile_am): For a conditional module, enclose the
2048         conditional automake snippet in an automake conditional.
2049         (func_emit_autoconf_snippets): Emit shell functions that contain the
2050         code for conditional modules.
2051         (func_import, func_create_testdir): Update specification.
2052
2053 2011-05-03  Eric Blake  <eblake@redhat.com>
2054
2055         test-getaddrinfo: report error information
2056         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
2057
2058 2011-05-03  Jim Meyering  <meyering@redhat.com>
2059
2060         bootstrap: avoid build failure when $GZIP is set
2061         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
2062         program name.  If defined at all, it is supposed to list gzip options.
2063         Reported by Alan Curry in http://debbugs.gnu.org/8609
2064
2065 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
2066
2067         readme-release: new module with release instructions
2068         * modules/readme-release: New module.
2069         * top/README-release: New file, from coreutils, grep, diffutils.
2070         * MODULES.html.sh (Support for maintaining and releasing): Add it.
2071
2072 2011-05-02  Eric Blake  <eblake@redhat.com>
2073
2074         fflush: also replace fclose when fixing fflush
2075         * modules/fflush (Depends-on): Add fclose.
2076         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
2077         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
2078         memstreams with no backing fd.
2079         * doc/posix-functions/fclose.texi (fclose): Document the use of
2080         fflush module to fix the bug.
2081         * tests/test-fclose.c (main): Relax test when fclose is used in
2082         isolation.
2083
2084         fclose: add some tests
2085         * modules/fclose-tests: New test module.
2086         * tests/test-fclose.c: New file.
2087         * doc/posix-functions/fclose.texi (fclose): Document the bug.
2088
2089         fclose: reduced dependencies
2090         * modules/fclose (Depends-on): Switch from fflush/fseeko to
2091         simpler lseek.
2092         * lib/fclose.c (rpl_fclose): Likewise.
2093         Reported by Simon Josefsson.
2094
2095         exit: drop remaining clients
2096         * modules/argmatch (Depends-on): Replace exit with stdlib.
2097         * modules/copy-file (Depends-on): Likewise.
2098         * modules/execute (Depends-on): Likewise.
2099         * modules/exitfail (Depends-on): Likewise.
2100         * modules/obstack (Depends-on): Likewise.
2101         * modules/pagealign_alloc (Depends-on): Likewise.
2102         * modules/pipe-filter-gi (Depends-on): Likewise.
2103         * modules/pipe-filter-ii (Depends-on): Likewise.
2104         * modules/savewd (Depends-on): Likewise.
2105         * modules/spawn-pipe (Depends-on): Likewise.
2106         * modules/wait-process (Depends-on): Likewise.
2107         * modules/xsetenv (Depends-on): Likewise.
2108         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
2109         * modules/git-merge-changelog (Depends-on): Likewise.
2110         * modules/long-options (Depends-on): Likewise.
2111         * modules/pt_chown (Depends-on): Likewise.
2112         * modules/sysexits (Depends-on): Likewise.
2113
2114         freading: relax license from LGPLv3+ to LGPLv2+
2115         * modules/freading (License): Relax LGPL version.
2116
2117 2011-05-02  Bruno Haible  <bruno@clisp.org>
2118
2119         fchdir: Remove unused dependencies.
2120         * modules/fchdir (Depends-on): Remove include_next.
2121
2122 2011-05-02  Bruno Haible  <bruno@clisp.org>
2123
2124         gnulib-tool: Refactor.
2125         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
2126         from func_emit_autoconf_snippets.
2127         (func_emit_autoconf_snippets): Use it.
2128
2129 2011-05-02  Simon Josefsson  <simon@josefsson.org>
2130
2131         * NEWS: Document removal of 'exit'.
2132         * modules/exit: Remove file.
2133
2134 2011-05-01  Bruno Haible  <bruno@clisp.org>
2135
2136         Update DEPENDENCIES.
2137         * DEPENDENCIES (gettext): Recommend the newest release.
2138         Reported by Simon Josefsson.
2139
2140 2011-05-01  Bruno Haible  <bruno@clisp.org>
2141
2142         gnulib-tool: Reduce code duplication.
2143         * gnulib-tool (func_emit_autoconf_snippets): New function.
2144         (func_import, func_create_testdir): Use it.
2145
2146 2011-04-30  Eric Blake  <eblake@redhat.com>
2147
2148         fclose: don't fail on non-seekable input stream
2149         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
2150         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
2151         since fflush is allowed to fail in that case.
2152
2153 2011-04-30  Bruno Haible  <bruno@clisp.org>
2154
2155         dup3: cleanup
2156         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
2157
2158 2011-04-30  Bruno Haible  <bruno@clisp.org>
2159
2160         netdb: Make it work in C++ mode.
2161         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
2162         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
2163         module.
2164         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
2165         gl_MODULE_INDICATOR_FOR_TESTS.
2166         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
2167         * modules/netdb-c++-tests: New file.
2168         * tests/test-netdb-c++.cc: New file.
2169
2170 2011-04-30  Bruno Haible  <bruno@clisp.org>
2171
2172         New modules 'vfscanf', 'vscanf'.
2173         * modules/vfscanf: New file.
2174         * modules/vscanf: New file.
2175         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
2176         here.
2177         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
2178         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
2179
2180 2011-04-30  Bruno Haible  <bruno@clisp.org>
2181
2182         passfd: Add comments.
2183         * lib/passfd.c: Add comments about platforms.
2184
2185 2011-04-30  Bruno Haible  <bruno@clisp.org>
2186
2187         sys_uio: Make <sys/uio.h> self-contained.
2188         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
2189         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
2190
2191 2011-04-30  Bruno Haible  <bruno@clisp.org>
2192
2193         sys_socket: Ensure 'struct iovec' definition.
2194         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
2195         <sys/socket.h>.
2196         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2197
2198 2011-04-30  Bruno Haible  <bruno@clisp.org>
2199
2200         sys_uio: Protect definition of 'struct iovec'.
2201         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
2202         it as a C struct.
2203
2204 2011-04-30  Bruno Haible  <bruno@clisp.org>
2205
2206         manywarnings: fix indentation
2207         * m4/manywarnings.m4: Indent by 2 spaces consistently.
2208
2209 2011-04-30  Pádraig Brady <P@draigBrady.com>
2210
2211         manywarnings: add -Wno-missing-field-initializers if needed.
2212         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
2213         option if it's needed to allow initialization with { 0, }
2214
2215 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
2216
2217         announce-gen: cosmetic improvement
2218         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
2219
2220 2011-04-29  Jim Meyering  <meyering@redhat.com>
2221
2222         vc-list-files: indent with spaces, not TABs
2223         * build-aux/vc-list-files: Convert leading TABs to spaces,
2224         to match the style of most other files in gnulib.
2225
2226         announce-gen: indent with spaces, not TABs
2227         * build-aux/announce-gen: Convert all TABs to spaces, to match
2228         the style of most other files in gnulib.
2229
2230 2011-04-29  Eric Blake  <eblake@redhat.com>
2231
2232         quotearg: avoid uninitialized variable use
2233         * lib/quotearg.c (quoting_options_from_style): Initialize
2234         remaining fields, and ensure that custom styles are only used via
2235         quoting_options rather than quoting_style.
2236
2237 2011-04-29  Jim Meyering  <meyering@redhat.com>
2238
2239         maint.mk: remove unused VC-tag variable
2240         * top/maint.mk (VC-tag): Remove unused variable.
2241
2242 2011-04-29  Bruno Haible  <bruno@clisp.org>
2243
2244         netdb: fix gai_strerror replacements
2245         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
2246         * modules/netdb: Substitute it.
2247
2248 2011-04-29  Jim Meyering  <meyering@redhat.com>
2249
2250         test-getcwd.c: avoid new set-but-not-used warning
2251         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
2252         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
2253         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
2254         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
2255
2256         test-hash.c: avoid a new shadowing warning
2257         * tests/test-hash.c (main): Don't shadow "dup".
2258
2259 2011-04-28  Eric Blake  <eblake@redhat.com>
2260
2261         getaddrinfo: fix gai_strerror signature
2262         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
2263         and work around mingw with UNICODE defined.
2264         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
2265         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
2266         * modules/netdb (Makefile.am): Substitute it.
2267         * lib/netdb.in.h (gai_strerror): Declare replacement.
2268         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
2269         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
2270         the fix.
2271
2272         getsockopt: avoid compiler warning
2273         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
2274         Reported by Matthias Bolte.
2275
2276         tests: drop unused link dependency
2277         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
2278         * modules/dirent-safer-tests (Makefile.am): Likewise.
2279         * modules/fdopendir-tests (Makefile.am): Likewise.
2280         * modules/mkfifoat-tests (Makefile.am): Likewise.
2281         * modules/openat-safer-tests (Makefile.am): Likewise.
2282         * modules/openat-tests (Makefile.am): Likewise.
2283         * modules/readlinkat-tests (Makefile.am): Likewise.
2284         * modules/symlinkat-tests (Makefile.am): Likewise.
2285         * modules/linkat-tests (Makefile.am): Likewise.
2286         (Depends-on): Switch to filenamecat-lgpl.
2287         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
2288         LIBINTL.
2289         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
2290         * tests/test-linkat.c (main): Don't require xalloc.
2291
2292         hash, mgetgroups: drop xalloc dependency
2293         * lib/hash.c (includes): Adjust includes.
2294         * lib/mgetgroups.c (includes): Likewise.
2295         (xgetgroups): Move...
2296         * lib/xgetgroups.c: ...to new file.
2297         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
2298         * modules/xgetgroups: New file, split from...
2299         * modules/mgetgroups: ...here.
2300         (Depends-on): Add xalloc-oversized.
2301         * modules/hash (Depends-on): Likewise.
2302         * modules/hash-tests (Depends-on): Drop xalloc.
2303         (test_hash_LDADD): Drop unused library.
2304         * tests/test-hash.c (main): Break xalloc dependency.
2305         (includes): Drop unused include.
2306
2307         xalloc-oversized: new module
2308         * modules/xalloc-oversized: New module.
2309         * modules/xalloc (Depends-on): Add it.
2310         * lib/xalloc.h (xalloc_oversized): Move...
2311         * lib/xalloc-oversized.h: ...into new file.
2312
2313         utimecmp: drop dependency on xmalloc
2314         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
2315         due to memory pressure.
2316         * modules/utimecmp (Depends-on): Drop xalloc.
2317
2318 2011-04-27  Eric Blake  <eblake@redhat.com>
2319
2320         getcwd: fix mingw bugs
2321         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
2322         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
2323         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
2324
2325 2011-04-27  Bruno Haible  <bruno@clisp.org>
2326
2327         mkstemps: Ensure declaration on MacOS X 10.5.
2328         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
2329         * doc/glibc-functions/mkstemps.texi: Document header file problem on
2330         MacOS X.
2331
2332 2011-04-27  Bruno Haible  <bruno@clisp.org>
2333
2334         mkstemp: More documentation.
2335         * doc/posix-functions/mkstemp.texi: Document header file problem on
2336         MacOS X.
2337
2338 2011-04-27  Bruno Haible  <bruno@clisp.org>
2339
2340         mkstemp: Tweak configure message when cross-compiling.
2341         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
2342         result as a guess.
2343
2344 2011-04-27  Bruno Haible  <bruno@clisp.org>
2345
2346         clean-temp: Clarify what it does.
2347         * lib/clean-temp.h: Add more comments.
2348         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
2349         module.
2350         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
2351         * doc/glibc-functions/mkstemps.texi: Likewise.
2352         * doc/glibc-functions/mkostemps.texi: Likewise.
2353
2354 2011-04-27  Eric Blake  <eblake@redhat.com>
2355
2356         fchdir: avoid extra chdir and fix test
2357         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
2358         getcwd-lgpl.
2359         * lib/fchdir.c (get_name): Any absolute name will do; it does not
2360         have to be canonical.
2361         (canonicalize_file_name): Drop unused macro.
2362         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
2363
2364         filenamecat-lgpl: fix licence
2365         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
2366         when it was first created.
2367
2368         linkat, renameat: add missing dependency
2369         * modules/linkat (Depends-on): Require getcwd-lgpl.
2370         * modules/renameat (Depends-on): Likewise.
2371
2372         tests: reduce dependencies
2373         * tests/test-linkat.c (main): Use lighter-weight getcwd.
2374         * tests/test-renameat.c (main): Likewise.
2375         * modules/linkat-tests (Depends-on): Relax dependency.
2376         * modules/renameat-tests (Depends-on): Likewise.
2377         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
2378         dependency explicit.
2379
2380         save-cwd: reduce default dependency
2381         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
2382         * lib/save-cwd.c: Update comments.
2383         * NEWS: Document the semantic change.
2384
2385         getcwd: enhance tests
2386         * tests/test-getcwd-lgpl.c: New file, taken from...
2387         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
2388         repeat long path stress tests from m4 probe.
2389         * modules/getcwd-lgpl-tests: New module.
2390         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
2391         * m4/getcwd-abort-bug.m4: Update comment.
2392         * m4/getcwd-path-max.m4: Likewise.
2393
2394         getcwd-lgpl: new module
2395         * modules/getcwd-lgpl: New module.
2396         * lib/getcwd-lgpl.c: New file.
2397         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2398         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2399         * modules/getcwd (configure.ac): Set C witness.
2400         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
2401
2402         getcwd: tweak comments
2403         * m4/getcwd-abort-bug.m4: Fix comments.
2404         * m4/getcwd-path-max.m4: Likewise.
2405         * m4/getcwd.m4: Likewise.
2406
2407 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2408         and Eric Blake  <eblake@redhat.com>
2409
2410         mkstemp: replace if system version uses wrong permissions
2411         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
2412         read/write mode bits set in file created by mkstemp.
2413         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
2414
2415 2011-04-27  Eric Blake  <eblake@redhat.com>
2416
2417         passfd: avoid compiler warning
2418         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
2419         Reported by Laine Stump.
2420
2421 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
2422
2423         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
2424         required by the NetBSD (and perhaps other 4.4BSD derived) join.
2425
2426 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2427         and Eric Blake  <eblake@redhat.com>
2428
2429         mkstemp: mention clean-temp module
2430         * lib/mkstemp.c: Add comment.
2431         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
2432
2433 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2434
2435         inttypes: also provide default values for 32-bit tests
2436         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
2437         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
2438
2439 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2440
2441         strtoumax: remove dependency on strtoimax
2442         This is like the strtoull change of yesterday.
2443         * modules/strtoumax (Files): Add lib/strtoimax.c.
2444         (Depends-on): Remove strtoimax and add verify.
2445
2446         inttypes-incomplete: new module
2447         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
2448         all but the PRI* and SCN* parts of gl_INTTYPES_H.
2449         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
2450         of gl_INTTYPES_H.
2451         (gl_INTTYPES_H): Rewrite in terms of these new macros.
2452         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
2453         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
2454         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
2455         * modules/strtoumax, modules/xstrtol (Depends-on):
2456         Depend on inttypes-incomplete, not inttypes.
2457         * modules/inttypes-incomplete: New module, containing the contents
2458         of the old modules/inttypes module, except that the Files: section
2459         omits m4/inttypes-pri.m4, and the configure.ac section invokes
2460         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
2461         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
2462         (Depends-on): Depend only on inttypes-incomplete.
2463         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
2464
2465         inttypes: omit now-redundant strtoimax and strtoumax work
2466         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
2467         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
2468
2469         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
2470         This supports apps that need pointers to strtoimax and strtoumax,
2471         and ports to HP-UX 11.00 64.bit, which has macros that expand to
2472         nonexistent functions.  See
2473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
2474         et seq.
2475         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
2476         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
2477         a macro.
2478         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2479
2480 2011-04-25  Simon Josefsson  <simon@josefsson.org>
2481
2482         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
2483
2484 2011-04-25  Bruno Haible  <bruno@clisp.org>
2485
2486         strtol, strtoul: Mark modules as obsolete.
2487         * modules/strtol (Status, Notice): New sections.
2488         * modules/strtoul (Status, Notice): New sections.
2489
2490 2011-04-25  Bruno Haible  <bruno@clisp.org>
2491
2492         strtod: Remove check for strtod, unless supporting old platforms.
2493         * modules/strtod-obsolete: New file.
2494         * m4/strtod-obsolete.m4: New file.
2495         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
2496         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
2497         * modules/strtod (Depends-on): Add strtod-obsolete.
2498         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2499
2500 2011-04-25  Bruno Haible  <bruno@clisp.org>
2501
2502         strcase: Make module obsolete.
2503         * modules/strcase (Status, Notice): New sections.
2504
2505 2011-04-25  Bruno Haible  <bruno@clisp.org>
2506
2507         dup2: Remove check for dup2, unless supporting old obsolete platforms.
2508         * modules/dup2-obsolete: New file.
2509         * m4/dup2-obsolete.m4: New file.
2510         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
2511         gl_FUNC_DUP2_OBSOLETE is not also defined.
2512         * modules/dup2 (Depends-on): Add dup2-obsolete.
2513         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
2514
2515 2011-04-25  Bruno Haible  <bruno@clisp.org>
2516
2517         strnlen: Avoid memchr related link error on old obsolete platforms.
2518         * modules/memchr-obsolete: New file.
2519         * m4/memchr-obsolete.m4: New file.
2520         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
2521         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
2522         * modules/memchr (Depends-on): Add memchr-obsolete.
2523         * modules/strnlen (Depends-on): Likewise.
2524         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
2525
2526 2011-04-25  Jim Meyering  <meyering@redhat.com>
2527
2528         maint.mk: makefile_at_at_check extend and clean up
2529         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
2530         in addition to */Makefile.am.
2531         Exempt legitimate uses of @VAR@ notation, e.g.,
2532         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
2533         Remove obsolete coreutils-specific comment.
2534         Prompted by discussion here:
2535         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
2536
2537 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
2538
2539         strtoul: remove dependency on strtol
2540         This is so that 'configure' need not check for strtol merely because
2541         the application needs strtoul.
2542         * modules/strtoul (Files): Add lib/strtol.c.
2543         (Depends-on): Remove strtol.
2544
2545         strtoull: remove dependency on strtoul
2546         This is like the strtoll change.
2547         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
2548         (Depends-on): Remove strtoul.
2549
2550         strtoll: remove dependency on strtol
2551         This is so that 'configure' need not check for strtol merely because
2552         the application needs strtoll.
2553         * modules/strtoll (Files): Add lib/strtol.c.
2554         (Depends-on): Remove strtol.
2555
2556 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2557
2558         inttypes: Move some configure check to module 'imaxdiv'.
2559         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
2560         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
2561         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
2562
2563 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2564
2565         inttypes: Move some configure check to module 'imaxabs'.
2566         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
2567         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
2568         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
2569
2570 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2571
2572         inttypes: Remove configure tests that are not needed since 2009-12-31.
2573         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
2574         gl_cv_header_working_inttypes_h.
2575
2576 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2577
2578         * modules/strnlen (Depends-on): Remove memchr.
2579         The strnlen implementation doesn't need the memchr module's fixes; see
2580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
2581
2582         strtol: remove dependency on wchar
2583         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
2584         * modules/strtol (Depends-on): Remove wchar.
2585
2586 2011-04-21  Eric Blake  <eblake@redhat.com>
2587
2588         passfd: fix test regression on Linux
2589         * modules/passfd-tests (configure.ac): Correct socketpair check.
2590
2591         passfd: speed up configure and drop unused code
2592         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
2593         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
2594         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
2595         Instead of probing at configure for unix_scm_rights_bsd44_way,
2596         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
2597         check to a struct member probe.
2598         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
2599         (sendfd, recvfd): Update preprocessor checks.
2600         * modules/passfd (Files): Reflect rename, and drop unused file.
2601         (Depends-on): Drop unused dependency.
2602
2603         passfd: allow compilation on mingw
2604         * modules/sys_socket (Depends-on): Add sys_uio.
2605         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2606         iovec and a minimal struct msghdr.
2607         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2608         * tests/test-sys_socket.c (main): Enhance test.
2609         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2610         guaranteed to provide what we need.
2611         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2612         * modules/passfd-tests (Depends-on): Add sys_wait.
2613         * tests/test-passfd.c (main): Skip test on mingw, for now.
2614         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2615         partial 'struct msghdr' implementation.
2616
2617         sys_uio: new module
2618         * modules/sys_uio: New module.
2619         * modules/sys_uio-tests: Likewise.
2620         * lib/sys_uio.in.h: New file.
2621         * m4/sys_uio_h.m4: Likewise.
2622         * tests/test-sys_uio.c: Likewise.
2623         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2624         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2625
2626 2011-04-20  Jim Meyering  <meyering@redhat.com>
2627
2628         useless-if-before-free: avoid false-positive
2629         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
2630         disjunct so that it too requires a terminating ";".  Without that,
2631         this script would identify as useless one statement from gcc that
2632         was not:
2633           if (aligned_ptr)
2634             free (((void **) aligned_ptr) [-1]);
2635
2636 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
2637
2638         doc: update users.txt.
2639         * users.txt: Add barcode.
2640
2641 2011-04-19  Bruno Haible  <bruno@clisp.org>
2642
2643         ioctl: Remove link dependency on native Windows.
2644         * lib/fd-hook.h: Renamed from lib/close-hook.h.
2645         (gl_close_fn, gl_ioctl_fn): New types.
2646         (struct fd_hook): Renamed from struct close_hook. Change type of
2647         private_close_fn field. Add private_ioctl_fn field.
2648         (close_hook_fn): Add parameter for primary close method.
2649         (execute_close_hooks, execute_all_close_hooks): Likewise.
2650         (ioctl_hook_fn): New type.
2651         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
2652         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2653         argument.
2654         (unregister_fd_hook): Renamed from unregister_close_hook.
2655         * lib/fd-hook.c: Renamed from lib/close-hook.c.
2656         Don't include <unistd.h>.
2657         (close): Remove undef.
2658         (anchor): Update.
2659         (execute_close_hooks): Add argument for primary close method.
2660         (execute_all_close_hooks): Likewise.
2661         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
2662         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2663         argument. Allow each argument to be NULL.
2664         (unregister_fd_hook): Renamed from unregister_close_hook.
2665         * lib/close.c (rpl_close): Pass 'close' function pointer to
2666         execute_all_close_hooks.
2667         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
2668         (primary_ioctl): New function.
2669         (ioctl): Don't call ioctlsocket here. Instead, call
2670         execute_all_ioctl_hooks.
2671         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
2672         close method.
2673         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
2674         (fd_sockets_hook): Renamed from close_sockets_hook.
2675         (gl_sockets_startup, gl_sockets_cleanup): Update.
2676         * modules/fd-hook: Renamed from modules/close-hook. Update.
2677         * modules/close (Depends-on): Add fd-hook, remove close-hook.
2678         * modules/sockets (Depends-on): Likewise.
2679         * modules/ioctl (Depends-on): Add fd-hook.
2680         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
2681         GNULIB_SOCKET.
2682
2683 2011-04-19  Bruno Haible  <bruno@clisp.org>
2684
2685         Move the support of O_NONBLOCK in open() to the 'open' module.
2686         * modules/nonblocking (Depends-on): Remove 'open'.
2687         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
2688         gl_cv_have_open_O_NONBLOCK.
2689         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
2690         O_NONBLOCK support.
2691         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
2692
2693 2011-04-17  Bruno Haible  <bruno@clisp.org>
2694
2695         pipe2: Simplify code.
2696         * lib/pipe2.c (pipe2): Reduce code duplication.
2697
2698 2011-04-17  Bruno Haible  <bruno@clisp.org>
2699
2700         nonblocking: Add comment.
2701         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
2702
2703 2011-04-17  Bruno Haible  <bruno@clisp.org>
2704
2705         nonblocking: Add tests for sockets.
2706         * tests/test-nonblocking-socket.sh: New file.
2707         * tests/test-nonblocking-socket-main.c: New file.
2708         * tests/test-nonblocking-socket-child.c: New file.
2709         * tests/test-nonblocking-socket.h: New file.
2710         * tests/socket-server.h: New file.
2711         * tests/socket-client.h: New file.
2712         * modules/nonblocking-socket-tests: New file.
2713         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
2714
2715 2011-04-17  Bruno Haible  <bruno@clisp.org>
2716
2717         nonblocking: Add tests for pipes.
2718         * tests/test-nonblocking-pipe.sh: New file.
2719         * tests/test-nonblocking-pipe-main.c: New file.
2720         * tests/test-nonblocking-pipe-child.c: New file.
2721         * tests/test-nonblocking-pipe.h: New file.
2722         * tests/test-nonblocking-writer.h: New file.
2723         * tests/test-nonblocking-reader.h: New file.
2724         * tests/test-nonblocking-misc.h: New file.
2725         * modules/nonblocking-pipe-tests: New file.
2726         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
2727
2728 2011-04-16  Bruno Haible  <bruno@clisp.org>
2729
2730         gettext: Clarify the needed programmer actions.
2731         * modules/gettext (Notice): New field.
2732         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
2733
2734 2011-04-16  Bruno Haible  <bruno@clisp.org>
2735
2736         strchrnul: Tweak last commit.
2737         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
2738         bug.
2739         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
2740         as in _GL_FUNCDECL_SYS.
2741         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
2742         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
2743
2744 2011-04-15  Eric Blake  <eblake@redhat.com>
2745
2746         strchrnul: work around cygwin bug
2747         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
2748         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
2749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
2750         * modules/string (Makefile.am): Substitute it.
2751         * lib/string.in.h (strchrnul): Use it.
2752
2753 2011-04-15  Bruno Haible  <bruno@clisp.org>
2754
2755         Don't require lib/stdio-write.c when only module 'stdio' is used.
2756         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
2757         invocation.
2758         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
2759
2760 2011-04-14  Bruno Haible  <bruno@clisp.org>
2761
2762         Support non-blocking pipe I/O in read() on native Windows.
2763         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
2764         (read): New declaration.
2765         * lib/read.c: New file.
2766         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
2767         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
2768         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
2769         vscanf): New declarations.
2770         * lib/stdio-read.c: New file.
2771         * m4/read.m4: New file.
2772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
2773         REPLACE_READ.
2774         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
2775         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2776         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
2777         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
2778         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
2779         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2780         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2781         * modules/read: New file.
2782         * modules/nonblocking (Files): Add lib/stdio-read.c.
2783         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
2784         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
2785         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2786         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2787         * modules/pread (Depends-on): Add read.
2788         * modules/safe-read (Depends-on): Likewise.
2789         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
2790         gets, scanf, vfscanf, vscanf): Verify signatures.
2791         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
2792         problem with non-blocking pipes.
2793         * doc/posix-functions/fgetc.texi: Likewise.
2794         * doc/posix-functions/fgets.texi: Likewise.
2795         * doc/posix-functions/fread.texi: Likewise.
2796         * doc/posix-functions/fscanf.texi: Likewise.
2797         * doc/posix-functions/getc.texi: Likewise.
2798         * doc/posix-functions/getchar.texi: Likewise.
2799         * doc/posix-functions/gets.texi: Likewise.
2800         * doc/posix-functions/scanf.texi: Likewise.
2801         * doc/posix-functions/vfscanf.texi: Likewise.
2802         * doc/posix-functions/vscanf.texi: Likewise.
2803
2804 2011-04-14  Bruno Haible  <bruno@clisp.org>
2805
2806         Support non-blocking pipe I/O in write() on native Windows.
2807         * lib/write.c (rpl_write): Split a write request that failed merely
2808         because the byte count was larger than the pipe buffer's size.
2809         * doc/posix-functions/write.texi: Mention the problem with large byte
2810         counts.
2811
2812 2011-04-14  Bruno Haible  <bruno@clisp.org>
2813
2814         wchar: Ensure that wchar_t gets defined on uClibc.
2815         * lib/wchar.in.h: On uClibc, include <stddef.h>.
2816         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
2817
2818 2011-04-13  Bruno Haible  <bruno@clisp.org>
2819
2820         safe-write, full-read: Avoid unnecessary compilation units.
2821         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
2822         (Depends-on): Remove safe-read. Add ssize_t.
2823         * modules/full-read (Files): Add lib/full-write.c.
2824         (Depends-on): Add full-write.
2825
2826 2011-04-13  Bruno Haible  <bruno@clisp.org>
2827
2828         Support non-blocking pipe I/O and SIGPIPE in pwrite().
2829         * modules/pwrite (Depends-on): Add 'write'.
2830
2831 2011-04-13  Bruno Haible  <bruno@clisp.org>
2832
2833         Support non-blocking pipe I/O in write() on native Windows.
2834         * lib/unistd.in.h (write): Enable replacement also if
2835         GNULIB_UNISTD_H_NONBLOCKING is 1.
2836         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
2837         (rpl_write): When failing to write on a non-blocking pipe, change
2838         errno from ENOSPC to EAGAIN.
2839         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
2840         putchar, puts, vfprintf, vprintf): Enable replacement also if
2841         GNULIB_STDIO_H_NONBLOCKING is 1.
2842         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
2843         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
2844         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
2845         CALL_WITH_SIGPIPE_EMULATION.
2846         (CALL_WITH_SIGPIPE_EMULATION): Use them.
2847         * m4/nonblocking.m4: New file.
2848         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
2849         for non-blocking I/O support.
2850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2851         GNULIB_UNISTD_H_NONBLOCKING.
2852         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
2853         required for non-blocking I/O support.
2854         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
2855         * modules/nonblocking (Files): Add m4/nonblocking.m4,
2856         lib/stdio-write.c, m4/asm-underscore.m4.
2857         (Depends-on): Add stdio, unistd.
2858         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
2859         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
2860         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
2861         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
2862         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
2863         problem with non-blocking pipes.
2864         * doc/posix-functions/fputc.texi: Likewise.
2865         * doc/posix-functions/fputs.texi: Likewise.
2866         * doc/posix-functions/fwrite.texi: Likewise.
2867         * doc/posix-functions/printf.texi: Likewise.
2868         * doc/posix-functions/putc.texi: Likewise.
2869         * doc/posix-functions/putchar.texi: Likewise.
2870         * doc/posix-functions/puts.texi: Likewise.
2871         * doc/posix-functions/vfprintf.texi: Likewise.
2872         * doc/posix-functions/vprintf.texi: Likewise.
2873         * doc/posix-functions/write.texi: Likewise.
2874
2875 2011-04-10  Jim Meyering  <meyering@redhat.com>
2876
2877         maint.mk: prohibit doubled words
2878         Detect them also when they're separated by a newline.
2879         There are 3 ways to customize it:
2880           - disable the test on a per file basis, as usual with rules using
2881             $(VC_LIST_EXCEPT)
2882           - replace the default doubled-word-selecting regexp (affects all files)
2883           - ignore a particular file-vs-doubled-word match
2884         I nearly used that last one to ignore the "is is" match in
2885         coreutils' NEWS file, since the text was "ls -is is ..."
2886         To do that, I would have added this line to cfg.mk:
2887           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
2888         but it would have ignored any "is is" match in NEWS.
2889         Low probability, but still...
2890         Instead, I changed the text, slightly:
2891           -  ls -is is now consistent with ls -lis in ignoring values returned
2892           +  "ls -is" is now consistent with ls -lis in ignoring values returned
2893         * top/maint.mk (prohibit_double_word_RE_): Provide default.
2894         (prohibit_doubled_word_): Define.
2895         (sc_prohibit_doubled_word): New rule.
2896         (sc_prohibit_the_the): Remove.  Subsumed by the above.
2897
2898 2011-04-10  Jim Meyering  <meyering@redhat.com>
2899
2900         maint: fix doubled-word typo in comment
2901         * m4/gethostname.m4: s/is is/it is/
2902         * m4/getdomainname.m4: Likewise.
2903
2904 2011-04-10  Jim Meyering  <meyering@redhat.com>
2905
2906         maint: remove doubled word: s/it it/it/
2907         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
2908
2909 2011-04-10  Jim Meyering  <meyering@redhat.com>
2910
2911         maint.mk: remove useless semicolon and backslash
2912         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
2913         semicolon and backslash.
2914
2915 2011-04-10  Bruno Haible  <bruno@clisp.org>
2916
2917         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
2918         * modules/stdint-tests (Depends-on): Add wchar.
2919
2920 2011-04-10  Jim Meyering  <meyering@redhat.com>
2921
2922         maint: remove doubled words in comments, e.g., s/a a/a/
2923         * lib/strptime.c (day_of_the_week): s/the the/the/
2924         * tests/test-chown.h (test_chown): s/a a/a/
2925
2926         test-chown.h: correct a cast
2927         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
2928         when the destination is a stat.st_gid.
2929
2930 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
2931
2932         getaddrinfo: Fix test for sa_len member.
2933         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
2934         include <sys/types.h> before <sys/socket.h>.
2935
2936 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
2937
2938         maint: change "can not" to "cannot"
2939         * doc/posix-functions/iconv.texi (iconv): This one crossed line
2940         boundaries.
2941
2942 2011-04-09  Jim Meyering  <meyering@redhat.com>
2943
2944         maint: change "a a" to "a"
2945         * tests/test-lchown.h (test_lchown): s/a a/a/
2946
2947         maint.mk: prohibit \<the the\>
2948         * top/maint.mk (sc_prohibit_the_the): New rule.
2949
2950         maint: fix "the the" in comment
2951         * lib/count-one-bits.h: s/the the/the/
2952
2953         maint: change "can not" to "cannot"
2954         But do not change the occurrences in maintain.texi or in
2955         build-aux/po/Makefile.in.in, which I presume comes from gettext.
2956         * doc/gnulib-tool.texi: s/can not/cannot/
2957         * doc/posix-functions/accept.texi (accept): Likewise.
2958         * doc/posix-functions/socket.texi (socket): Likewise.
2959         * lib/mbrtowc.c: Likewise.
2960
2961         maint.mk: prohibit use of "can not"
2962         * top/maint.mk (sc_prohibit_can_not): New rule.
2963         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
2964
2965 2011-04-09  Bruno Haible  <bruno@clisp.org>
2966
2967         careadlinkat: Guard against misuse of careadlinkatcwd.
2968         * lib/careadlinkat.c: Include <stdlib.h>.
2969         (careadlinkatcwd): Check that the fd argument is as expected.
2970
2971 2011-04-09  Bruno Haible  <bruno@clisp.org>
2972
2973         careadlinkat: Use common coding style.
2974         * lib/careadlinkat.c: Move gnulib includes after system includes.
2975
2976 2011-04-09  Bruno Haible  <bruno@clisp.org>
2977
2978         careadlinkat: Clarify specification.
2979         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
2980         (careadlinkatcwd): Add comment.
2981         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
2982
2983 2011-04-09  Bruno Haible  <bruno@clisp.org>
2984
2985         areadlinkat: Avoid link error on many platforms.
2986         * modules/areadlinkat (Depends-on): Add areadlink.
2987
2988 2011-04-09  Bruno Haible  <bruno@clisp.org>
2989
2990         allocator, careadlinkat: Fix double-inclusion guard.
2991         * lib/allocator.h: Fix double-inclusion guard.
2992         * lib/careadlinkat.h: Likewise.
2993
2994 2011-04-09  Bruno Haible  <bruno@clisp.org>
2995
2996         relocatable-prog-wrapper: Update after module 'areadlink' changed.
2997         * lib/relocwrapper.c: Update dependencies hierarchy.
2998         * build-aux/install-reloc: Update list of files to be compiled.
2999         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
3000         lib/allocator.[hc].
3001
3002 2011-04-08  Eric Blake  <eblake@redhat.com>
3003
3004         strftime: silence gnulib-tool warning
3005         * modules/strftime-tests (Depends-on): Drop automatic dependency.
3006
3007 2011-04-08  Bruno Haible  <bruno@clisp.org>
3008
3009         verify: Fix syntax error with GCC 4.6 in C++ mode.
3010         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
3011         (HAVE_STATIC_ASSERT): New macro.
3012         (verify_true, verify): Use 'static_assert' if it is supported and
3013         '_Static_assert' is not supported.
3014
3015 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
3016
3017         allocator: New module.
3018         * modules/allocator, lib/allocator.c: New files.
3019         * lib/allocator.h (stdlib_allocator): New decl.
3020         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
3021         Remove.  Do not include <stdlib.h>.
3022         (careadlinkat): Use stdlib_allocator instead of rolling our own.
3023         * modules/careadlinkat (Files): Remove lib/allocator.h.
3024         (Depends-on): Add allocator.
3025
3026         stdlib: let modules use system malloc, realloc
3027         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
3028         if !_GL_USE_STDLIB_ALLOC.
3029         (malloc, realloc): Limit this change to a smaller scope.
3030
3031         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
3032         (malloc, realloc): Don't #undef; no longer needed.
3033         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3034         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3035         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3036         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3037         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3038         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3039         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3040         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3041
3042         careadlinkat: rename members to avoid problem
3043         * lib/allocator.h (struct allocator): Rename members from
3044         malloc/realloc to allocate/reallocate, to avoid problems if malloc
3045         and realloc are #define'd.  Reported by Eric Blake in
3046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
3047         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
3048
3049 2011-04-08  Eric Blake  <eblake@redhat.com>
3050
3051         nonblocking: reduce dependency
3052         * tests/test-nonblocking.c: Only test sockets when in use.
3053         * modules/nonblocking-tests (Depends-on): Drop socket.
3054         (Makefile.am): Link even if sockets are not present.
3055         * modules/pipe2-tests (Makefile.am): Likewise.
3056         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
3057
3058         pipe2: fix O_NONBLOCK support on mingw
3059         * modules/pipe2 (Depends-on): Add nonblocking.
3060         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
3061         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
3062         * tests/test-nonblocking.c (main): Likewise.
3063         * modules/pipe2-tests (Makefile.am): Avoid link failure.
3064
3065         fcntl-h: fix O_ACCMODE on cygwin
3066         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
3067         * lib/fcntl.in.h (O_ACCMODE): Fix it.
3068
3069         pipe-filter: drop O_NONBLOCK workarounds
3070         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
3071         * modules/pipe-filter-ii (Depends-on): Likewise.
3072         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
3073
3074         nonblocking: provide O_NONBLOCK for mingw
3075         * modules/nonblocking (Depends-on): Add open.
3076         (configure.ac): Set new witness macro.
3077         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
3078         * modules/fcntl-h (Makefile.am): Substitute it.
3079         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
3080         nonblocking module is in use.
3081         * lib/nonblocking.c: Adjust portability test.
3082         * lib/open.c (open): Don't let native open see gnulib flag.
3083         * tests/test-fcntl-h.c (main): Enhance test.
3084         * tests/test-open.h (test_open): Likewise.
3085         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
3086
3087         careadlinkat: fix compilation error on mingw
3088         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
3089         within struct allocator.
3090
3091 2011-04-06  Eric Blake  <eblake@redhat.com>
3092
3093         binary-io: relicense under LGPLv2+
3094         * modules/binary-io (License): Relax to LGPLv2+.
3095         Requested for libvirt, and required by pipe2.
3096
3097 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
3098
3099         verify: use _Static_assert if available
3100         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
3101         (verify_true, verify): Use it if available.  This generates better
3102         diagnostics with GCC 4.6.0 and later.
3103
3104 2011-04-05  Bruno Haible  <bruno@clisp.org>
3105
3106         Remove leftover generated .h files after config.status changed.
3107
3108         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
3109         GL_GENERATE_ALLOCA_H.
3110         * modules/alloca-opt (Makefile.am): Remove alloca.h if
3111         GL_GENERATE_ALLOCA_H evaluates to false.
3112
3113         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
3114         GL_GENERATE_ARGZ_H.
3115         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
3116         evaluates to false.
3117
3118         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
3119         GL_GENERATE_BYTESWAP_H.
3120         * modules/byteswap (Makefile.am): Remove byteswap.h if
3121         GL_GENERATE_BYTESWAP_H evaluates to false.
3122
3123         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
3124         GL_GENERATE_ERRNO_H.
3125         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
3126         evaluates to false.
3127
3128         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
3129         GL_GENERATE_FLOAT_H.
3130         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
3131         evaluates to false.
3132
3133         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
3134         GL_GENERATE_FNMATCH_H.
3135         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
3136         GL_GENERATE_FNMATCH_H evaluates to false.
3137
3138         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
3139         GL_GENERATE_GLOB_H.
3140         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
3141         evaluates to false.
3142
3143         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
3144         automake conditional GL_GENERATE_ICONV_H.
3145         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
3146         evaluates to false.
3147
3148         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
3149         GL_GENERATE_NETINET_IN_H.
3150         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
3151         GL_GENERATE_NETINET_IN_H evaluates to false.
3152
3153         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
3154         conditional GL_GENERATE_PTHREAD_H.
3155         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
3156         * modules/pthread (Makefile.am): Remove pthread.h if
3157         GL_GENERATE_PTHREAD_H evaluates to false.
3158
3159         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
3160         GL_GENERATE_SCHED_H.
3161         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
3162         evaluates to false.
3163
3164         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
3165         conditional GL_GENERATE_SELINUX_CONTEXT_H.
3166         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
3167         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
3168
3169         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
3170         GL_GENERATE_STDARG_H.
3171         * modules/stdarg (Makefile.am): Remove stdarg.h if
3172         GL_GENERATE_STDARG_H evaluates to false.
3173
3174         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
3175         GL_GENERATE_STDBOOL_H.
3176         * modules/stdbool (Makefile.am): Remove stdbool.h if
3177         GL_GENERATE_STDBOOL_H evaluates to false.
3178
3179         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
3180         conditional GL_GENERATE_STDDEF_H.
3181         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
3182         * modules/stddef (Makefile.am): Remove stddef.h if
3183         GL_GENERATE_STDDEF_H evaluates to false.
3184
3185         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
3186         GL_GENERATE_STDINT_H.
3187         * modules/stdint (Makefile.am): Remove stdint.h if
3188         GL_GENERATE_STDINT_H evaluates to false.
3189
3190         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
3191         GL_GENERATE_SYSEXITS_H.
3192         * modules/sysexits (Makefile.am): Remove sysexits.h if
3193         GL_GENERATE_SYSEXITS_H evaluates to false.
3194
3195         Reported by Karl Berry and Ralf Wildenhues.
3196
3197 2011-04-05  Bruno Haible  <bruno@clisp.org>
3198
3199         Ensure to rebuild generated .h files when config.status has changed.
3200         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
3201         config.status.
3202         * modules/ctype (Makefile.am): Likewise.
3203         * modules/dirent (Makefile.am): Likewise.
3204         * modules/errno (Makefile.am): Likewise.
3205         * modules/fcntl-h (Makefile.am): Likewise.
3206         * modules/float (Makefile.am): Likewise.
3207         * modules/getopt-posix (Makefile.am): Likewise.
3208         * modules/glob (Makefile.am): Likewise.
3209         * modules/iconv-h (Makefile.am): Likewise.
3210         * modules/inttypes (Makefile.am): Likewise.
3211         * modules/langinfo (Makefile.am): Likewise.
3212         * modules/locale (Makefile.am): Likewise.
3213         * modules/math (Makefile.am): Likewise.
3214         * modules/netdb (Makefile.am): Likewise.
3215         * modules/netinet_in (Makefile.am): Likewise.
3216         * modules/poll-h (Makefile.am): Likewise.
3217         * modules/pthread (Makefile.am): Likewise.
3218         * modules/pty (Makefile.am): Likewise.
3219         * modules/sched (Makefile.am): Likewise.
3220         * modules/search (Makefile.am): Likewise.
3221         * modules/selinux-h (Makefile.am): Likewise.
3222         * modules/signal (Makefile.am): Likewise.
3223         * modules/spawn (Makefile.am): Likewise.
3224         * modules/stdarg (Makefile.am): Likewise.
3225         * modules/stdbool (Makefile.am): Likewise.
3226         * modules/stddef (Makefile.am): Likewise.
3227         * modules/stdint (Makefile.am): Likewise.
3228         * modules/stdio (Makefile.am): Likewise.
3229         * modules/stdlib (Makefile.am): Likewise.
3230         * modules/string (Makefile.am): Likewise.
3231         * modules/strings (Makefile.am): Likewise.
3232         * modules/sys_file (Makefile.am): Likewise.
3233         * modules/sys_ioctl (Makefile.am): Likewise.
3234         * modules/sys_select (Makefile.am): Likewise.
3235         * modules/sys_socket (Makefile.am): Likewise.
3236         * modules/sys_stat (Makefile.am): Likewise.
3237         * modules/sys_time (Makefile.am): Likewise.
3238         * modules/sys_times (Makefile.am): Likewise.
3239         * modules/sys_utsname (Makefile.am): Likewise.
3240         * modules/sys_wait (Makefile.am): Likewise.
3241         * modules/sysexits (Makefile.am): Likewise.
3242         * modules/termios (Makefile.am): Likewise.
3243         * modules/time (Makefile.am): Likewise.
3244         * modules/unistd (Makefile.am): Likewise.
3245         * modules/wchar (Makefile.am): Likewise.
3246         * modules/wctype-h (Makefile.am): Likewise.
3247         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
3248
3249 2011-04-05  Bruno Haible  <bruno@clisp.org>
3250
3251         pipe2: Relicense under LGPLv2+.
3252         * modules/pipe2 (License): Change to LGPLv2+.
3253         Requested by Eric Blake, for libvirt.
3254
3255 2011-04-05  Bruce Korb  <bkorb@gnu.org>
3256
3257         bootstrap: compute gnulib_extra_files after updating build_aux
3258         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
3259         change build_aux or also supply gnulib_extra_files.  Handle correctly.
3260
3261 2011-04-05  Eric Blake  <eblake@redhat.com>
3262
3263         bootstrap: preserve git whitelist item sorting
3264         * build-aux/bootstrap (sort_patterns): New function.
3265         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
3266
3267 2011-04-05  Simon Josefsson  <simon@josefsson.org>
3268
3269         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
3270         sc_space_tab check.
3271
3272 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3273
3274         areadlink, areadlinkat: rewrite in terms of careadlinkat
3275         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
3276         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
3277         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
3278         (malloc, realloc): Remove #undefs.
3279         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
3280         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
3281         readlink, ssize_t, stdint, unistd.
3282         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
3283         areadlink, stdint.
3284
3285         careadlinkat: new module
3286         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
3287         * modules/careadlinkat: New files, written by me with
3288         a review and feedback from Ben Pfaff in
3289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
3290
3291 2011-04-01  Bruno Haible  <bruno@clisp.org>
3292
3293         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
3294         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
3295         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
3296         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3297         Reported by Bruce Korb <bruce.korb@gmail.com>.
3298
3299 2011-04-01  Bruno Haible  <bruno@clisp.org>
3300
3301         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
3302         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
3303         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
3304         * modules/wcpcpy (Depends-on): Add extensions.
3305         * modules/wcpncpy (Depends-on): Likewise.
3306         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
3307         systems.
3308         * doc/posix-functions/wcpncpy.texi: Likewise.
3309         * doc/posix-functions/wcwidth.texi: Likewise.
3310
3311 2011-03-31  Eric Blake  <eblake@redhat.com>
3312
3313         nonblocking: fix mingw test failures
3314         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
3315         non-blocking flag on regular file.
3316         (get_nonblocking_flag): Set errno on invalid fd.
3317         * tests/test-nonblocking.c (main): Avoid test failure on
3318         directories if fchdir is not active.
3319         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
3320
3321 2011-03-31  Bruno Haible  <bruno@clisp.org>
3322
3323         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
3324         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
3325         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
3326         Reported by Simon Josefsson <simon@josefsson.org>.
3327
3328 2011-03-31  Bruno Haible  <bruno@clisp.org>
3329         and Eric Blake  <eblake@redhat.com>
3330
3331         nonblocking: new module
3332         * modules/nonblocking: New module.
3333         * modules/nonblocking-tests: Likewise.
3334         * lib/nonblocking.h: New file.
3335         * lib/nonblocking.c: Likewise.
3336         * tests/test-nonblocking.c: New test.
3337         * lib/ioctl.c (ioctl) [mingw]: Update comment.
3338
3339 2011-03-30  Bruno Haible  <bruno@clisp.org>
3340
3341         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
3342         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
3343         instead of 'printf' format for GCC >= 4.4.
3344         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
3345         (fprintf, printf, vfprintf, vprintf): Declare with
3346         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
3347         the system's vfprintf() function.
3348         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
3349
3350 2011-03-30  Eric Blake  <eblake@redhat.com>
3351
3352         passfd: fix scoping bug
3353         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
3354         before sendmsg/recvmsg.
3355
3356         passfd: standardize coding conventions
3357         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
3358         can be learned at compile time.
3359         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
3360         ifdefs.
3361         (sendfd, recvfd): Follow gnulib code conventions.
3362
3363         passfd: fix incorrect sendmsg arguments
3364         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
3365         incorrect msg_controllen value.
3366         * modules/passfd-tests (Depends-on): Check for alarm.
3367         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
3368         Reported by Bastien ROUCARIES.
3369
3370 2011-03-30  Bruno Haible  <bruno@clisp.org>
3371
3372         c-strcasestr: Relicense under LGPLv2+.
3373         * modules/c-strcasestr (License): Change to LGPLv2+.
3374         Requested by Eric Blake, for libvirt.
3375
3376 2011-03-30  Simon Josefsson  <simon@josefsson.org>
3377
3378         * users.txt: Add libidn2.  Fix libtasn1 link.
3379
3380 2011-03-30  Jim Meyering  <meyering@redhat.com>
3381
3382         tests: readlink* ("",... fails with EINVAL on newer kernels
3383         readlink and readlinkat have typically failed with ENOENT for
3384         the invalid, empty file name,  "".  However, with the advent
3385         of linux-2.6.39, they fail with EINVAL.
3386         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
3387         when operating on the empty file name.
3388         * tests/test-readlink.h (test_readlink): Likewise.
3389
3390 2011-03-29  Bruno Haible  <bruno@clisp.org>
3391
3392         Relicense some modules under LGPLv2+, for libidn2.
3393         * modules/array-mergesort (License): Change to LGPLv2+.
3394         * modules/c-strcaseeq (License): Likewise.
3395         * modules/striconveh (License): Likewise.
3396         * modules/striconveha (License): Likewise.
3397         * modules/uniconv/base (License): Likewise.
3398         * modules/uniconv/u8-conv-from-enc (License): Likewise.
3399         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
3400         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
3401         * modules/unictype/base (License): Likewise.
3402         * modules/unictype/bidiclass-of (License): Likewise.
3403         * modules/unictype/category-M (License): Likewise.
3404         * modules/unictype/category-none (License): Likewise.
3405         * modules/unictype/category-of (License): Likewise.
3406         * modules/unictype/category-test (License): Likewise.
3407         * modules/unictype/category-test-withtable (License): Likewise.
3408         * modules/unictype/combining-class (License): Likewise.
3409         * modules/unictype/joiningtype-of (License): Likewise.
3410         * modules/unictype/scripts (License): Likewise.
3411         * modules/uninorm/base (License): Likewise.
3412         * modules/uninorm/canonical-decomposition (License): Likewise.
3413         * modules/uninorm/composition (License): Likewise.
3414         * modules/uninorm/decompose-internal (License): Likewise.
3415         * modules/uninorm/decomposition-table (License): Likewise.
3416         * modules/uninorm/nfc (License): Likewise.
3417         * modules/uninorm/nfd (License): Likewise.
3418         * modules/uninorm/u32-normalize (License): Likewise.
3419         * modules/unistr/base (License): Likewise.
3420         * modules/unistr/u32-cpy (License): Likewise.
3421         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
3422         * modules/unistr/u32-to-u8 (License): Likewise.
3423         * modules/unistr/u32-uctomb (License): Likewise.
3424         * modules/unistr/u8-check (License): Likewise.
3425         * modules/unistr/u8-mblen (License): Likewise.
3426         * modules/unistr/u8-mbtouc (License): Likewise.
3427         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
3428         * modules/unistr/u8-mbtoucr (License): Likewise.
3429         * modules/unistr/u8-prev (License): Likewise.
3430         * modules/unistr/u8-strlen (License): Likewise.
3431         * modules/unistr/u8-to-u32 (License): Likewise.
3432         * modules/unistr/u8-uctomb (License): Likewise.
3433         * modules/unitypes (License): Likewise.
3434         Requested by Simon Josefsson.
3435
3436 2011-03-29  Simon Josefsson  <simon@josefsson.org>
3437
3438         lib-symbol-visibility: Add a notice.
3439         * modules/lib-symbol-visibility (Notice): New field.
3440
3441 2011-03-29  Bruno Haible  <bruno@clisp.org>
3442
3443         getaddrinfo: Doc fix.
3444         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
3445         section "fixed in Gnulib".
3446
3447 2011-03-28  Simon Josefsson  <simon@josefsson.org>
3448
3449         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
3450         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
3451
3452 2011-03-26  Bruno Haible  <bruno@clisp.org>
3453
3454         unictype/property-byname: Reduce the number of load-time relocations.
3455         * lib/unictype/pr_byname.c: Include <stdlib.h>.
3456         (UC_PROPERTY_INDEX_*): New enumeration values.
3457         (uc_property_byname): Convert an index from the lookup table to an
3458         uc_property_t.
3459         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
3460         values.
3461
3462 2011-03-26  Bruno Haible  <bruno@clisp.org>
3463
3464         unictype/property-byname: Allow omitted word separators and aliases.
3465         * lib/unictype/pr_byname.gperf: Add property names without word
3466         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
3467         for 'space'.
3468
3469 2011-03-26  Bruno Haible  <bruno@clisp.org>
3470
3471         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
3472         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
3473         also hyphens to space.
3474         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
3475         without spaces.
3476         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
3477
3478 2011-03-26  Bruno Haible  <bruno@clisp.org>
3479
3480         unictype/joiningtype-byname: Recognize long names as well.
3481         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
3482         a long name.
3483         * lib/unictype/joiningtype_byname.c: Include <string.h>,
3484         unictype/joiningtype_byname.h.
3485         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
3486         * lib/unictype/joiningtype_byname.gperf: New file.
3487         * modules/unictype/joiningtype-byname (Files): Add
3488         lib/unictype/joiningtype_byname.gperf.
3489         (Depends-on): Add gperf.
3490         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
3491         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
3492         long names.
3493
3494         Tests for module 'unictype/joiningtype-longname'.
3495         * modules/unictype/joiningtype-longname-tests: New file.
3496         * tests/unictype/test-joiningtype_longname.c: New file.
3497
3498         New module 'unictype/joiningtype-longname'.
3499         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
3500         * lib/unictype/joiningtype_longname.c: New file.
3501         * modules/unictype/joiningtype-longname: New file.
3502         * modules/unictype/joiningtype-all (Depends-on): Add
3503         unictype/joiningtype-longname.
3504
3505 2011-03-26  Bruno Haible  <bruno@clisp.org>
3506
3507         unictype/bidiclass-byname: Recognize long names as well.
3508         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
3509         name.
3510         * lib/unictype/bidi_byname.c: Include <string.h>,
3511         unictype/bidi_byname.h.
3512         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
3513         * lib/unictype/bidi_byname.gperf: New file.
3514         * modules/unictype/bidiclass-byname (Files): Add
3515         lib/unictype/bidi_byname.gperf.
3516         (Depends-on): Add gperf.
3517         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
3518         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
3519         long names.
3520
3521         Tests for module 'unictype/bidiclass-longname'.
3522         * modules/unictype/bidiclass-longname-tests: New file.
3523         * tests/unictype/test-bidi_longname.c: New file.
3524
3525         New module 'unictype/bidiclass-longname'.
3526         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
3527         * lib/unictype/bidi_longname.c: New file.
3528         * modules/unictype/bidiclass-longname: New file.
3529         * modules/unictype/bidiclass-all (Depends-on): Add
3530         unictype/bidiclass-longname.
3531
3532 2011-03-26  Bruno Haible  <bruno@clisp.org>
3533
3534         unictype/bidi*: Rename modules.
3535         * modules/unictype/bidiclass-all: Renamed from
3536         modules/unictype/bidicategory-all.
3537         * modules/unictype/bidiclass-name: Renamed from
3538         modules/unictype/bidiclass-name.
3539         (Description): Update.
3540         * modules/unictype/bidiclass-name-tests: Renamed from
3541         modules/unictype/bidicategory-name-tests.
3542         * modules/unictype/bidiclass-byname: Renamed from
3543         modules/unictype/bidicategory-byname.
3544         (Description): Update.
3545         * modules/unictype/bidiclass-byname-tests: Renamed from
3546         modules/unictype/bidicategory-byname-tests.
3547         * modules/unictype/bidiclass-of: Renamed from
3548         modules/unictype/bidicategory-of.
3549         (Description): Update.
3550         * modules/unictype/bidiclass-of-tests: Renamed from
3551         modules/unictype/bidicategory-of-tests.
3552         * modules/unictype/bidiclass-test: Renamed from
3553         modules/unictype/bidicategory-test.
3554         (Description): Update.
3555         * modules/unictype/bidiclass-test-tests: Renamed from
3556         modules/unictype/bidicategory-test-tests.
3557         * modules/unictype/bidicategory-all: New file, a simple redirection.
3558         * modules/unictype/bidicategory-name: Likewise.
3559         * modules/unictype/bidicategory-byname: Likewise.
3560         * modules/unictype/bidicategory-of: Likewise.
3561         * modules/unictype/bidicategory-test: Likewise.
3562         * modules/unictype/property-bidi-* (Dependencies): Update.
3563         * lib/unictype/bidi_*.c: Update comment.
3564
3565 2011-03-26  Bruno Haible  <bruno@clisp.org>
3566
3567         unictype/bidi*: Rename functions, part 2.
3568         * modules/unictype/bidicategory-name (configure.ac): Update required
3569         libunistring version.
3570         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
3571
3572 2011-03-25  Bruno Haible  <bruno@clisp.org>
3573
3574         New module 'unictype/combining-class-all'.
3575         * modules/unictype/combining-class-all: New file.
3576
3577         Tests for module 'unictype/combining-class-byname'.
3578         * modules/unictype/combining-class-byname-tests: New file.
3579         * tests/unictype/test-combiningclass_byname.c: New file.
3580
3581         New module 'unictype/combining-class-byname'.
3582         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
3583         * lib/unictype/combiningclass_byname.c: New file.
3584         * lib/unictype/combiningclass_byname.gperf: New file.
3585         * modules/unictype/combining-class-byname: New file.
3586
3587         Tests for module 'unictype/combining-class-longname'.
3588         * modules/unictype/combining-class-longname-tests: New file.
3589         * tests/unictype/test-combiningclass_longname.c: New file.
3590
3591         New module 'unictype/combining-class-longname'.
3592         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
3593         * lib/unictype/combiningclass_longname.c: New file.
3594         * modules/unictype/combining-class-longname: New file.
3595
3596         Tests for module 'unictype/combining-class-name'.
3597         * modules/unictype/combining-class-name-tests: New file.
3598         * tests/unictype/test-combiningclass_name.c: New file.
3599
3600         New module 'unictype/combining-class-name'.
3601         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3602         * lib/unictype/combiningclass_name.c: New file.
3603         * modules/unictype/combining-class-name: New file.
3604
3605 2011-03-25  Bruno Haible  <bruno@clisp.org>
3606
3607         unictype/combining-class: Rename source files.
3608         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3609         of unictype/combining.h.
3610         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3611         Update.
3612         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3613         * modules/unictype/combining-class (Description): Fix.
3614         (Files, Makefile.am): Update.
3615         * tests/unictype/test-combiningclass.c: Renamed from
3616         tests/unictype/test-combining.c.
3617         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3618
3619 2011-03-25  Bruno Haible  <bruno@clisp.org>
3620
3621         unictype: Update list of canonical combining classes.
3622         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3623
3624 2011-03-25  Bruno Haible  <bruno@clisp.org>
3625
3626         unictype/category-byname: Recognize long names as well.
3627         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3628         a long name.
3629         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
3630         unictype/categ_byname.h.
3631         (UC_CATEGORY_INDEX_*): New enumeration values.
3632         (uc_general_category_byname): Use uc_general_category_lookup and
3633         convert from index to value.
3634         * lib/unictype/categ_byname.gperf: New file.
3635         * modules/unictype/category-byname (Files): Add
3636         lib/unictype/categ_byname.gperf.
3637         (Depends-on): Add gperf.
3638         (Makefile.am): Add rule for generating unictype/categ_byname.h.
3639         * tests/unictype/test-categ_byname.c (main): Test the recognition of
3640         long names.
3641
3642         Tests for module 'unictype/category-longname'.
3643         * modules/unictype/category-longname-tests: New file.
3644         * tests/unictype/test-categ_longname.c: New file.
3645
3646         New module 'unictype/category-longname'.
3647         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
3648         * lib/unictype/categ_longname.c: New file.
3649         * modules/unictype/category-longname: New file.
3650         * modules/unictype/category-all (Depends-on): Add it.
3651
3652 2011-03-25  Bruno Haible  <bruno@clisp.org>
3653
3654         Tests for module 'unictype/category-LC'.
3655         * modules/unictype/category-LC-tests: New file.
3656         * tests/unictype/test-categ_LC.c: New file, automatically generated.
3657
3658         New module 'unictype/category-LC'.
3659         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
3660         (UC_CATEGORY_LC): New declaration.
3661         (UC_CASED_LETTER): New macro.
3662         * lib/gen-uni-tables.c (is_category_LC): New function.
3663         (output_categories): Also handle category LC.
3664         (UC_CATEGORY_MASK_LC): New enumeration value.
3665         (general_category_byname): Also handle category LC.
3666         * lib/unictype/categ_LC.c: New file.
3667         * lib/unictype/categ_LC.h: New file, automatically generated.
3668         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
3669         category LC.
3670         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
3671         * modules/unictype/category-LC: New file.
3672         * modules/unictype/category-byname (Depends-on): Add
3673         unictype/category-LC.
3674         * modules/unictype/category-all (Depends-on): Likewise.
3675
3676 2011-03-25  Eric Blake  <eblake@redhat.com>
3677
3678         xmalloc: revert yesterday's regression
3679         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
3680         realloc's underlying behavior (allowing allocation of zero-size
3681         objects, especially if malloc-gnu is also in use).
3682
3683 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
3684
3685         maint.mk: add missing version to VC-tag
3686         * top/maint.mk: git tag was missing actual tag name; add it.
3687
3688         valgrind: do leak checking, and exit with code 1 on error (not 0)
3689         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
3690         to VALGRIND.
3691
3692 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
3693
3694         posix-modules: say what it does.
3695         * posix-modules: Add a line to the --help output saying what it does.
3696
3697 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
3698
3699         xmalloc: Do not leak if underlying realloc is C99 compatible.
3700         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
3701         This avoids a leak on C99-based systems.  See
3702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
3703
3704 2011-03-24  Eric Blake  <eblake@redhat.com>
3705
3706         realloc: document portability problem
3707         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
3708         passing 0 size to realloc.
3709
3710 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
3711
3712         doc: update users.txt
3713         * users.txt: Add cvsps, tmpwatch
3714
3715 2011-03-23  Matt Rice  <ratmice@gmail.com>
3716
3717         doc: update users.txt
3718         * users.txt: Add gdb.
3719
3720 2011-03-23  Jim Meyering  <meyering@redhat.com>
3721
3722         doc: update users.txt
3723         Looking through matches up to the following URL (there are still
3724         several more pages), I found several projects that use gnulib:
3725         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
3726         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
3727         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
3728
3729 2011-03-22  Bruno Haible  <bruno@clisp.org>
3730
3731         unictype/bidi*: Rename functions.
3732         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
3733         uc_bidi_class, uc_is_bidi_class): New declarations.
3734         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
3735         uc_bidi_category_byname.
3736         (uc_bidi_category_byname): New function.
3737         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
3738         u_bidi_category_name.
3739         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
3740         (uc_bidi_category_name): New function.
3741         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
3742         uc_bidi_category.
3743         (uc_bidi_category): New function.
3744         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
3745         uc_is_bidi_category. Invoke uc_bidi_class.
3746         (uc_is_bidi_category): New function.
3747         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
3748         instead of uc_bidi_category_byname.
3749         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
3750         instead of uc_bidi_category_name.
3751         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
3752         uc_bidi_category.
3753         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
3754         instead of uc_is_bidi_category.
3755
3756 2011-03-21  Bruno Haible  <bruno@clisp.org>
3757
3758         New module 'unictype/joininggroup-all'.
3759         * modules/unictype/joininggroup-all: New file.
3760
3761         Tests for module 'unictype/joininggroup-of'.
3762         * modules/unictype/joininggroup-of-tests: New file.
3763         * tests/unictype/test-joininggroup_of.c: New file.
3764         * tests/unictype/test-joininggroup_of.h: New file, automatically
3765         generated by gen-uni-tables.
3766
3767         New module 'unictype/joininggroup-of'.
3768         * modules/unictype/joininggroup-of: New file.
3769         * lib/unictype/joininggroup_of.c: New file.
3770         * lib/unictype/joininggroup_of.h: New file, automatically generated by
3771         gen-uni-tables.
3772
3773         Tests for module 'unictype/joininggroup-byname'.
3774         * modules/unictype/joininggroup-byname-tests: New file.
3775         * tests/unictype/test-joininggroup_byname.c: New file.
3776
3777         New module 'unictype/joininggroup-byname'.
3778         * modules/unictype/joininggroup-byname: New file.
3779         * lib/unictype/joininggroup_byname.c: New file.
3780         * lib/unictype/joininggroup_byname.gperf: New file.
3781
3782         Tests for module 'unictype/joininggroup-name'.
3783         * modules/unictype/joininggroup-name-tests: New file.
3784         * tests/unictype/test-joininggroup_name.c: New file.
3785
3786         New module 'unictype/joininggroup-name'.
3787         * modules/unictype/joininggroup-name: New file.
3788         * lib/unictype/joininggroup_name.c: New file.
3789         * lib/unictype/joininggroup_name.h: New file.
3790
3791         New module 'unictype/joiningtype-all'.
3792         * modules/unictype/joiningtype-all: New file.
3793
3794         Tests for module 'unictype/joiningtype-of'.
3795         * modules/unictype/joiningtype-of-tests: New file.
3796         * tests/unictype/test-joiningtype_of.c: New file.
3797         * tests/unictype/test-joiningtype_of.h: New file, automatically
3798         generated by gen-uni-tables.
3799
3800         New module 'unictype/joiningtype-of'.
3801         * modules/unictype/joiningtype-of: New file.
3802         * lib/unictype/joiningtype_of.c: New file.
3803         * lib/unictype/joiningtype_of.h: New file, automatically generated by
3804         gen-uni-tables.
3805
3806         Tests for module 'unictype/joiningtype-byname'.
3807         * modules/unictype/joiningtype-byname-tests: New file.
3808         * tests/unictype/test-joiningtype_byname.c: New file.
3809
3810         New module 'unictype/joiningtype-byname'.
3811         * modules/unictype/joiningtype-byname: New file.
3812         * lib/unictype/joiningtype_byname.c: New file.
3813
3814         Tests for module 'unictype/joiningtype-name'.
3815         * modules/unictype/joiningtype-name-tests: New file.
3816         * tests/unictype/test-joiningtype_name.c: New file.
3817
3818         New module 'unictype/joiningtype-name'.
3819         * modules/unictype/joiningtype-name: New file.
3820         * lib/unictype/joiningtype_name.c: New file.
3821
3822         unictype: Add support for Arabic shaping properties.
3823         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
3824         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
3825         declarations.
3826         (UC_JOINING_GROUP_*): New enumeration values.
3827         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
3828         declarations.
3829         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
3830         (unicode_joining_type): New variable.
3831         (UC_JOINING_GROUP_*): New enumeration values.
3832         (unicode_joining_group): New variable.
3833         (fill_arabicshaping, joining_type_as_c_identifier,
3834         output_joining_type_test, output_joining_type,
3835         joining_group_as_c_identifier, output_joining_group_test,
3836         output_joining_group): New functions.
3837         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
3838         fill_arabicshaping and output_joining_type_test, output_joining_type,
3839         output_joining_group_test, output_joining_group.
3840         Reported by Simon Josefsson.
3841
3842 2011-03-21  Jim Meyering  <meyering@redhat.com>
3843
3844         strftime: fix a bug in yesterday's change
3845         * lib/strftime.c (add): Accommodate width's initial value of -1.
3846         Otherwise, nstrftime would copy uninitialized data into
3847         the result buffer.
3848
3849 2011-03-21  Jim Meyering  <meyering@redhat.com>
3850
3851         tests: add strftime-tests module
3852         * tests/test-strftime.c: New file.
3853         * modules/strftime-tests: New module.
3854
3855 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3856
3857         strftime: don't assume a byte count fits in 'int'
3858         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
3859         found this problem by static analysis, using gcc -Wstrict-overflow
3860         (GCC 4.5.2, x86-64).  This reported an optimization that depended
3861         on an integer overflow having undefined behavior, but it turns out
3862         that the argument is a size, which might not fit in 'int' anyway,
3863
3864 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3865
3866         stdio: don't require ignore_value around fwrite
3867
3868         This patch works around libc bug 11959
3869         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
3870         Without this patch, applications must often write
3871         ignore_value (fwrite (...)) even though the ignore_value is
3872         not helpful here.  It's common to write many objects, using
3873         fwrite/printf/etc., and then use ferror to detect output error.
3874
3875         I considered making this patch optional, but decided against it,
3876         because libc is obviously being inconsistent here: there is no
3877         reason libc should insist that user code must inspect fwrite
3878         return's value without also insisting that it inspect printf's,
3879         putchar's, etc.  If user code wants to have a strict style where
3880         all these functions' values are checked (so that ferror need not
3881         be checked), we could add support for that style in a new gnulib
3882         module, but in the meantime it's better to be consistent and to
3883         support common usage.
3884
3885         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
3886         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
3887         that we are compiling in checking mode, and if not C++, and
3888         if not already wrapping fwrite for some other reason.
3889         (fwrite): #define to rpl_fwrite if the latter is defined.
3890
3891 2011-03-20  Bruno Haible  <bruno@clisp.org>
3892
3893         verror: Fix compilation error introduced on 2011-02-13.
3894         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
3895         instead of __attribute__.
3896         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3897
3898 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3899             Bruno Haible  <bruno@clisp.org>
3900
3901         socklen: do not depend on sys_socket
3902         While trying to modify Emacs to use gnulib's socklen module,
3903         I discovered a circular dependency: socklen depends on sys_socket
3904         and vice versa.  Emacs can use socklen, but it does not need
3905         sys_socket because it has its own substitute for sys/socket.h.
3906         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
3907         gl_TYPE_SOCKLEN_T.
3908         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
3909         gl_PREREQ_SYS_H_SOCKET.
3910         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
3911         gl_PREREQ_SYS_H_SOCKET.
3912         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
3913         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
3914         * modules/socklen (Depends-on): Do not depend on sys_socket.
3915         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
3916
3917 2011-03-20  Jim Meyering  <meyering@redhat.com>
3918
3919         maint.mk: sort file names *after* new transformation
3920         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
3921         prefix would have led to an unwarranted failure in GNU parted.
3922         Sort after that transformation.
3923
3924 2011-03-19  Jim Meyering  <meyering@redhat.com>
3925
3926         maint.mk: fix po-file syntax-check rule
3927         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
3928         Patch by Bruno Haible.
3929
3930 2011-03-19  Bruno Haible  <bruno@clisp.org>
3931
3932         socklen: Update comment.
3933         * m4/socklen.m4: Update comment about platforms.
3934
3935 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3936             Bruno Haible  <bruno@clisp.org>
3937
3938         inet_ntop, inet_pton: Simplify.
3939         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
3940         documented to provide socklen_t and we already depend on sys_socket.
3941         * modules/inet_pton (Depends-on): Likewise.
3942         * lib/arpa_inet.in.h: Adjust comment.
3943
3944 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3945             Bruno Haible  <bruno@clisp.org>
3946
3947         netdb: Simplify.
3948         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
3949         documented to provide socklen_t and we already depend on sys_socket.
3950         * lib/netdb.in.h: Adjust comment.
3951
3952 2011-03-19  Bruno Haible  <bruno@clisp.org>
3953
3954         sys_socket, netdb: Document problem with socklen_t.
3955         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
3956         platforms.
3957         * doc/posix-headers/netdb.texi: Likewise.
3958
3959 2011-03-18  Eric Blake  <eblake@redhat.com>
3960
3961         maint.mk: let po check work in VPATH build
3962         * top/maint.mk (po_file): Allow cfg.mk override.
3963         (sc_po_check): Allow VPATH use.
3964         Reported by Jiri Denemark.
3965
3966 2011-03-16  Jim Meyering  <meyering@redhat.com>
3967
3968         maint.mk: allow fine-grained syntax-check exclusion via Make variables
3969         Before, you would have had to create one .x-sc_ file per rule in order
3970         to exempt offending files.  Now, you may instead use a Make variable --
3971         usually defined in cfg.mk -- whose name identifies the affected rule.
3972         * top/maint.mk (_sc_excl): Define.
3973         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
3974         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
3975
3976 2011-03-13  Bruno Haible  <bruno@clisp.org>
3977
3978         ignore-value tests: Avoid warnings.
3979         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
3980         empty for gcc < 3.4.
3981
3982 2011-03-13  Bruno Haible  <bruno@clisp.org>
3983
3984         passfd: Fix link error on Solaris.
3985         * modules/passfd (Description): Correct.
3986         (Depends-on): Add socketlib.
3987         (Link): New section.
3988         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
3989
3990 2011-03-13  Bruno Haible  <bruno@clisp.org>
3991
3992         passfd: Fix link error on AIX 5.2.
3993         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
3994
3995 2011-03-13  Bruno Haible  <bruno@clisp.org>
3996
3997         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
3998         * lib/sys_socket.in.h: Include <stddef.h>.
3999         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
4000         CMSG_FIRSTHDR. Remove unused variable.
4001
4002 2011-03-13  Bruno Haible  <bruno@clisp.org>
4003
4004         passfd: Fix compilation error on OpenBSD.
4005         * lib/passfd.c: Include <sys/uio.h>.
4006
4007 2011-03-13  Bruno Haible  <bruno@clisp.org>
4008
4009         passfd test: Fix warnings.
4010         * tests/test-passfd.c: Include <sys/wait.h>.
4011         (main): Fix typo.
4012
4013 2011-03-13  Bruno Haible  <bruno@clisp.org>
4014
4015         passfd module, part 4, tweaks.
4016         * tests/test-passfd.c: Reorder includes.
4017         (main): Fix perror and printf calls.
4018
4019 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4020
4021         passfd module, part 4.
4022         * modules/passfd-tests: New file.
4023         * tests/test-passfd.c: New file.
4024
4025 2011-03-13  Jim Meyering  <meyering@redhat.com>
4026
4027         Makefile: rely on GNU make; derive syntax-check rule names
4028         Rather than requiring that each sc_ rule be listed as a dependent
4029         of "check", use features of GNU make to derive the list.
4030         * Makefile (syntax-check-rules): Define.
4031         (check): Depend on the new variable, not the hard-coded list.
4032
4033 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
4034             Bruno Haible  <bruno@clisp.org>
4035
4036         passfd module, part 3.
4037         * lib/passfd.h (recvfd): Add a flags argument.
4038         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
4039         (recvfd): Add a flags argument.
4040         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
4041         exists.
4042         * modules/passfd (Depends-on): Add cloexec.
4043         Suggested by Eric Blake.
4044
4045 2011-03-13  Bruno Haible  <bruno@clisp.org>
4046
4047         passfd module, part 2, tweaks.
4048         * modules/passfd (Files): Reorder.
4049         (Depends-on): Remove errno.
4050         (Include): Remove <sys/socket.h>, <sys/un.h>.
4051         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
4052         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
4053         specification header. Include <sys/socket.h> always. Don't include
4054         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
4055         (sendfd): Clarify that it sets errno when it fails.
4056         (recvfd): Fix specification.
4057
4058 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4059
4060         passfd module, part 2.
4061         * modules/passfd: New file.
4062         * lib/passfd.h: New file.
4063         * lib/passfd.c: New file.
4064
4065 2011-03-12  Bruno Haible  <bruno@clisp.org>
4066
4067         wcswidth, mbswidth: Avoid integer overflow.
4068         * lib/wcswidth.c: Include <limits.h>.
4069         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
4070         * lib/mbswidth.c: Include <limits.h>.
4071         (mbsnwidth): Avoid 'int' overflow.
4072         Reported by Jim Meyering.
4073
4074 2011-03-12  Bruno Haible  <bruno@clisp.org>
4075
4076         futimens, utimensat: Avoid endless recursion on Solaris 10.
4077         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
4078         Solaris.
4079         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
4080         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
4081
4082 2011-03-11  Jim Meyering  <meyering@redhat.com>
4083
4084         maint.mk: relax a regexp to accommodate other formatting styles
4085         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
4086         between "ngettext" and the following "(".
4087
4088 2011-03-11  Pádraig Brady <P@draigBrady.com>
4089
4090         maint.mk: suppress a false positive warning
4091         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
4092         diagnostics are marked with ngettext.
4093
4094 2011-03-10  Eric Blake  <eblake@redhat.com>
4095
4096         wchar: add explicit dependencies, for Tru64
4097         * modules/mbmemcasecoll (Depends-on): Add wchar.
4098         * modules/mbtowc (Depends-on): Likewise.
4099         * modules/vasnprintf (Depends-on): Likewise.
4100         * modules/unistdio/u-printf-args (Depends-on): Likewise.
4101         * modules/wctomb (Depends-on): Likewise.
4102         Reported by Peter O'Gorman.
4103
4104 2011-03-08  Bruno Haible  <bruno@clisp.org>
4105
4106         passfd module, part 1, tweaks.
4107         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
4108         Improve indentation. Improve AC_MSG_CHECKING messages.
4109         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
4110         gl_SOCKET_FAMILIES.
4111
4112 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4113
4114         passfd module, part 1.
4115         * m4/afunix.m4: New file.
4116         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
4117         sockets.
4118
4119 2011-03-08  Bruno Haible  <bruno@clisp.org>
4120
4121         regex-quote: New API.
4122         * lib/regex-quote.h: Include <stdbool.h>.
4123         (struct regex_quote_spec): New type.
4124         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4125         New declarations.
4126         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4127         'const struct regex_quote_spec *' argument.
4128         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
4129         (pcre_special): New constant.
4130         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4131         New functions.
4132         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4133         'const struct regex_quote_spec *' argument.
4134         * modules/regex-quote (Depends-on): Add stdbool.
4135         * tests/test-regex-quote.c (check): Update for new API. Add test for
4136         anchored results.
4137         * NEWS: Mention the API change.
4138         Reported by Reuben Thomas and Eric Blake.
4139
4140 2011-03-06  Bruno Haible  <bruno@clisp.org>
4141
4142         regex-quote: Fix creation of POSIX extended regular expressions.
4143         * lib/regex-quote.c (ere_special): Add grouping and alternation
4144         operators.
4145
4146 2011-03-05  Bruno Haible  <bruno@clisp.org>
4147
4148         doc: Improve doc regarding autopoint vs. gnulib.
4149         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
4150         disable autopoint while running autoreconf.
4151         Suggested by Ralf Wildenhues.
4152
4153 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4154
4155         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
4156         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
4157
4158 2011-03-03  Bruce Korb  <bkorb@gnu.org>
4159
4160         parse-duration: remove xalloc.h dependency
4161         * lib/parse-duration.c (parse_period): handle NULL return from
4162         strdup instead of calling xstrdup().
4163         * modules/parse-duration: remove "xalloc" dependency
4164
4165 2011-03-03  Matthew Booth  <mbooth@redhat.com>
4166
4167         bootstrap: honor m4_base when running aclocal
4168         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
4169
4170 2011-03-02  Jim Meyering  <meyering@redhat.com>
4171
4172         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
4173         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
4174         on request from Matt Booth.
4175
4176 2011-03-01  Eric Blake  <eblake@redhat.com>
4177
4178         test-link: work on Hurd
4179         * tests/test-link.h (test_link): Hurd rejects linking directories
4180         with EISDIR instead of the POSIX-mandated EPERM.
4181
4182 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
4183
4184         stdio: simplify by moving files to printf-posix, sigpipe
4185         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
4186         since this symbol is needed only if printf is replaced.
4187         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
4188         Require gl_ASM_SYMBOL_PREFIX.
4189         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
4190         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
4191         (Depends-on): Add 'raise'.
4192         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
4193         * modules/stdio (Files): Remove lib/stdio-write.c,
4194         m4/asm-underscore.m4.
4195         (Depends-on): Remove 'raise'.
4196
4197         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
4198         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
4199         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
4200         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
4201
4202 2011-02-28  Bruno Haible  <bruno@clisp.org>
4203
4204         localcharset: Assume ANSI C behaviour of free().
4205         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
4206         calling free().
4207         Suggested by Simon Josefsson <simon@josefsson.org>.
4208
4209 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
4210             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
4211             Bruno Haible  <bruno@clisp.org>  (tiny change)
4212
4213         On Cygwin, use /proc file system instead of win32 API.
4214         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
4215         Win32 file names.
4216         (DllMain): Simplify by removing Cygwin specific code.
4217         (find_shared_library_fullname): Use Linux specific implementation also
4218         for Cygwin.
4219         (get_shared_library_fullname): Update accordingly.
4220         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
4221         Win32 file names.
4222         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
4223         Cygwin specific code.
4224
4225 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
4226             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
4227
4228         Fix OpenMP flag detection for various Fortran compilers.
4229         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
4230         OpenMP-conditional compilation construct, to force compile
4231         failure with missing OpenMP flag.
4232         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
4233
4234 2011-02-25  Eric Blake  <eblake@redhat.com>
4235
4236         strstr: expand test coverage
4237         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
4238         compilation.
4239         * tests/test-memmem.c (main): Duplicate tests.
4240         * tests/test-strcasestr.c (main): Likewise.
4241         * tests/test-c-strcasestr.c (main): Likewise.
4242
4243 2011-02-25  Jim Meyering  <meyering@redhat.com>
4244
4245         maint.mk: detect missing-NL-at-EOF, too
4246         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
4247         it also detects when a file lacks a newline at EOF.
4248         (require_exactly_one_NL_at_EOF_): Renamed from
4249         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
4250         since people may well have .x-sc_... file names tied to the
4251         existing name.  Suggested by Eric Blake.
4252
4253 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4254
4255         dirname: move m4/dos.m4 functionality into lib/dosname.h
4256
4257         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
4258         extracts symbols from it, puts them into config.h; but it's much
4259         easier to use the symbols directly.  filename.h already does this,
4260         but it disagrees with dos.m4 in some respects.  This patch
4261         introduces a different include file dosname.h that packages up
4262         dos.m4, and then later we can work on merging filename.h and
4263         dosname.h.  Applications that need only the easy-to-configure
4264         symbols should consider including dosname.h rather than dirname.h.
4265         * NEWS: Mention incompatible changes.
4266         * m4/dos.m4: Remove.
4267         * lib/dosname.h, modules/dosname: New files.
4268         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
4269         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
4270         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
4271         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
4272         Include dosname.h, not dirname.h.
4273         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
4274         Include dosname.h, for definitions of symbols like ISSLASH
4275         that used to be in config.h.
4276         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
4277         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4278         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4279         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4280         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
4281         * modules/rmdir (Files): Likewise.
4282         * modules/stat (Files): Likewise.
4283         * modules/unlink (Files): Likewise.
4284         * modules/dirname-lgpl (Depends-on): Add dosname.
4285         * modules/lstat (Depends-on): Likewise.
4286         * modules/openat (Depends-on): Likewise.
4287         * modules/rmdir (Depends-on): Likewise.
4288         * modules/savewd (Depends-on): Likewise.
4289         * modules/stat (Depends-on): Likewise.
4290         * modules/unlink (Depends-on): Likewise.
4291         * modules/openat (Depends-on): Remove dirname-lgpl.
4292         * modules/savewd (Depends-on): Likewise.
4293         * tests/test-dirname.c: Do not use removed symbols like
4294         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
4295         the remaining symbols, e.g., ISSLASH ('\\').
4296
4297 2011-02-25  Eric Blake  <eblake@redhat.com>
4298
4299         strstr: revert patches that introduced bug and pessimization
4300         * lib/str-two-way.h: Add another reference.
4301         (two_way_short_needle, two_way_long_needle): Revert changes from
4302         2011-02-24; they pessimize search speed.
4303         (critical_factorization): Partially revert changes from
4304         2010-06-22; they violate the requirement that the left half of the
4305         needle be smaller than the period of the needle.
4306
4307 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4308
4309         filenamecat: remove unnecessary dependency on dirname-lgpl
4310         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
4311         is no direct dependency, just an indirect one via filenamecat-lgpl.
4312
4313         remove: remove unnecessary use of m4/dos.m4
4314         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
4315         * modules/remove (FILES): Remove m4/dos.m4.
4316
4317         * lib/openat-proc.c: Don't include dirname.h; not needed.
4318
4319         backupfile: remove unnecessary use of m4/dos.m4
4320         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
4321         of its symbols are used by the backupfile code.  backupfile.c does
4322         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
4323         for the rare case of programs that want all their backup file
4324         names to live within 8+3 limits, and dos.m4 doesn't address that.
4325         * modules/backupfile (Files): Remove m4/dos.m4.
4326
4327 2011-02-24  Jim Meyering  <meyering@redhat.com>
4328
4329         strstr: fix a bug whereby strstr would mistakenly return NULL
4330         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
4331         in period calculation.
4332         (two_way_long_needle): Likewise.
4333         The original problem was reported by Mike Stump in
4334         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
4335         Ralf Wildenhues provided the short needle and haystack.
4336         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
4337         Add a more involved test to trigger the bug in two_way_long_needle.
4338
4339 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4340
4341         gnulib-tool: remove use of bold display in help screen
4342         * gnulib-tool (func_usage): Do not use bold display anymore in the
4343         help screen.  That was just meant to be a temporary emphasis for a
4344         backward-incompatible change.
4345
4346 2011-02-23  Bruno Haible  <bruno@clisp.org>
4347
4348         Fix misindentation of preprocessor directives.
4349         * lib/argp-namefrob.h: Reindent preprocessor directives.
4350         * lib/getopt_int.h (struct _getopt_data): Likewise.
4351         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
4352         * lib/vasnprintf.c (decode_long_double): Likewise.
4353         * tests/test-argmatch.c: Insert blank lines, for clarity.
4354         * tests/test-exclude.c: Likewise.
4355
4356 2011-02-22  Bruno Haible  <bruno@clisp.org>
4357
4358         ioctl: Fix for MacOS X in 64-bit mode.
4359         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
4360         value.
4361         Suggested by Eric Blake.
4362         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
4363
4364 2011-02-22  Jim Meyering  <meyering@redhat.com>
4365
4366         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
4367         * Makefile (sc_cpp_indent_check): Don't limit the check to files
4368         in lib/.
4369
4370 2011-02-22  Eric Blake  <eblake@redhat.com>
4371
4372         maint: avoid any CDPATH issue
4373         * Makefile (sc_cpp_indent_check): Anchor cd argument.
4374
4375         maint: adjust cpp indentation for my modules, as well
4376         * Makefile (sc_cpp_indent_check): Add my name.
4377         * lib/fbufmode.c: Filter through cppi.
4378         * lib/fpurge.c: Likewise.
4379         * lib/freadable.c: Likewise.
4380         * lib/freading.c: Likewise.
4381         * lib/fwritable.c: Likewise.
4382         * lib/fwriting.c: Likewise.
4383         * lib/sigaction.c: Likewise.
4384
4385 2011-02-22  Jim Meyering  <meyering@redhat.com>
4386
4387         maint: adjust cpp indentation to reflect nesting depth
4388         I.e., in a block of code that begins with an unnested "#if",
4389         put one space between the "#" in column 1 and following token.
4390         For example,
4391         -#include <sys/vfs.h>
4392         +# include <sys/vfs.h>
4393         Do this only in .c files that are part of a module I maintain.
4394         * lib/linkat.c: Filter through cppi.
4395         * lib/nanosleep.c: Likewise.
4396         * lib/openat.c: Likewise.
4397         * lib/openat-die.c: Likewise.
4398         * lib/dup3.c: Likewise.
4399         * lib/fchownat.c: Likewise.
4400         * lib/flock.c: Likewise.
4401         * lib/fsync.c: Likewise.
4402         * lib/fts.c: Likewise.
4403         * lib/getpass.c: Likewise.
4404         * lib/gettimeofday.c: Likewise.
4405         * lib/userspec.c: Likewise.
4406         * Makefile (sc_cpp_indent_check): New rule, to check this.
4407
4408 2011-02-22  Bruno Haible  <bruno@clisp.org>
4409
4410         New module 'wctomb'.
4411         * lib/stdlib.in.h (wctomb): New declaration.
4412         * lib/wctomb.c: New file.
4413         * lib/wctomb-impl.h: New file.
4414         * m4/wctomb.m4: New file.
4415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
4416         REPLACE_WCTOMB.
4417         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
4418         REPLACE_WCTOMB.
4419         * modules/wctomb: New file.
4420         * tests/test-stdlib-c++.cc: Test signature of wctomb.
4421         * doc/posix-functions/wctomb.texi: Mention the new module.
4422         * modules/wctob (Depends-on): Add wctomb.
4423
4424 2011-02-22  Bruno Haible  <bruno@clisp.org>
4425
4426         New module 'mbtowc'.
4427         * lib/stdlib.in.h (mbtowc): New declaration.
4428         * lib/mbtowc.c: New file.
4429         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
4430         * m4/mbtowc.m4: New file.
4431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
4432         REPLACE_MBTOWC.
4433         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
4434         REPLACE_MBTOWC.
4435         * modules/mbtowc: New file.
4436         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
4437         * doc/posix-functions/mbtowc.texi: Mention the new module.
4438         * modules/btowc (Depends-on): Add mbtowc.
4439
4440 2011-02-22  Bruno Haible  <bruno@clisp.org>
4441
4442         wcrtomb: Add more tests for native Windows platforms.
4443         * tests/test-wcrtomb-w32-1.sh: New file.
4444         * tests/test-wcrtomb-w32-2.sh: New file.
4445         * tests/test-wcrtomb-w32-3.sh: New file.
4446         * tests/test-wcrtomb-w32-4.sh: New file.
4447         * tests/test-wcrtomb-w32-5.sh: New file.
4448         * tests/test-wcrtomb-w32.c: New file.
4449         * modules/wcrtomb-tests (Files): Add them.
4450         (Makefile.am): Arrange to run these tests.
4451         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
4452         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
4453
4454 2011-02-20  Bruno Haible  <bruno@clisp.org>
4455
4456         wcrtomb: Enhance test.
4457         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
4458
4459 2011-02-20  Bruno Haible  <bruno@clisp.org>
4460
4461         mbrtowc: Tiny optimization.
4462         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
4463
4464 2011-02-20  Jim Meyering  <meyering@redhat.com>
4465
4466         test-exclude.c: remove unmatched #endif
4467         * tests/test-exclude.c: Remove stray #endif, left over from
4468         the change of a week ago.
4469
4470 2011-02-19  Jim Meyering  <meyering@redhat.com>
4471
4472         git-version-gen: skip "-dirty" check when appropriate
4473         * build-aux/git-version-gen: Don't run any git commands when the
4474         version string comes from .tarball-version.  Prior to this, we
4475         would run git update-index --refresh even from a just-unpacked
4476         tarball directory, and that could affect a .git/ directory in a
4477         parent of the build directory.  Reported by Mike Frysinger.
4478
4479 2011-02-19  Bruno Haible  <bruno@clisp.org>
4480
4481         unictype/property-byname: Reduce the size of the 'data' segment.
4482         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
4483
4484 2011-02-19  Bruno Haible  <bruno@clisp.org>
4485
4486         unictype/scripts: Reduce the size of the 'data' segment.
4487         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
4488         '%pic'.
4489         * lib/unictype/scripts_byname.gperf: Regenerated.
4490
4491 2011-02-19  Bruno Haible  <bruno@clisp.org>
4492
4493         stdint: Update documentation.
4494         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
4495
4496 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
4497
4498         stdint: omit redundant check for wchar.h
4499         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
4500         always tests whether wchar.h exists, so remove the now-redundant test.
4501
4502 2011-02-18  Bruno Haible  <bruno@clisp.org>
4503
4504         stdint: Cut dependency to module 'wchar'.
4505         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
4506         include the necessary prerequisites.
4507         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
4508         * modules/stdint (Depends-on): Remove wchar.
4509         (Makefile.am): Substitute HAVE_WCHAR_H.
4510         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
4511
4512 2011-02-18  Eric Blake  <eblake@redhat.com>
4513
4514         longlong: skip, rather than fail, on cross-compilation
4515         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
4516         when cross-compiling; regression from 2011-02-16.
4517
4518 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4519
4520         * NEWS: Mention 2011-02-08 change to stdlib.
4521
4522 2011-02-17  Bruno Haible  <bruno@clisp.org>
4523
4524         getloadavg: Add comments about platforms.
4525         * m4/getloadavg.m4: Add comment.
4526         * lib/getloadavg.c: Likewise.
4527
4528 2011-02-17  Bruno Haible  <bruno@clisp.org>
4529
4530         getloadavg: Fix link error on Solaris 2.6.
4531         * modules/getloadavg (Link): New section.
4532         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
4533         linking test-getloadavg.
4534         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
4535         getloadavg.
4536
4537 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4538
4539         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
4540         It was 'int', but this doesn't match the IRIX 6.5 manual.
4541         Suggested by Bruno Haible in
4542         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
4543
4544 2011-02-17  Bruno Haible  <bruno@clisp.org>
4545
4546         havelib: Fix comments.
4547         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
4548         change.
4549
4550 2011-02-17  Bruno Haible  <bruno@clisp.org>
4551
4552         havelib: Update config.rpath.
4553         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
4554
4555 2011-02-17  Bruno Haible  <bruno@clisp.org>
4556
4557         getloadavg test: Add some plausibility checks.
4558         * tests/test-getloadavg.c (check_avg): Print a warning when the value
4559         is improbable.
4560
4561 2011-02-16  Eric Blake  <eblake@redhat.com>
4562
4563         maintainer-makefile: make syntax-check a no-op from tarballs
4564         * top/maint.mk (no-vc-detected): New rule.
4565         (local-checks-available): Use it to avoid hanging if someone tries
4566         'make syntax-check' from a tarball.  Also append to any non-syntax
4567         checks already defined in cfg.mk.
4568
4569 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
4570
4571         longlong: tune, particularly for common case of c99
4572
4573         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
4574         or running anything if c99, or if unsigned long long int does not
4575         work.  In either case, we know the answer without further tests.
4576         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
4577         it at most once, and use its results for both long long int and
4578         unsigned long long int.  This is more likely to be efficient in
4579         the common case where the program wants to check for both long
4580         long int and unsigned long long int.
4581         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
4582         since the answer is already known.
4583
4584 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
4585
4586         getloadavg: set errno
4587         * lib/getloadavg.c: Set errno when returning -1.  If no other
4588         error number looks appropriate, set it to ENOSYS if the getloadavg
4589         looks like it can't possibly ever work, ENOTSUP otherwise.
4590         Suggested by Bruno Haible in
4591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
4592
4593         getloadavg: trim unused parts and speed up 'configure'
4594         * NEWS: Document this.
4595         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
4596         always compiled if getloadavg is absent.
4597         Move test code to ...
4598         * tests/test-getloadavg.c: New file, containing previous
4599         contents of test from lib/getloadavg.c.  It also contains
4600         suggestions by Bruno Haible in
4601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4602         * modules/getloadavg-tests: New file.
4603         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4604         Do tests in the same order as they're needed for getloadavg.c.
4605         Omit setgid-related tests that generate symbols KMEM_GROUP,
4606         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4607         Do only the tests that are needed to see whether the system has
4608         getloadavg, moving the other tests into ...
4609         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4610         NLIST_NAME_UNION; nobody should be using it.  Do not define
4611         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4612         relevant, as the user of this module shouldn't care how getloadavg
4613         is implemented.
4614
4615         getloadavg: omit unused var
4616         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4617
4618 2011-02-15  Jim Meyering  <meyering@redhat.com>
4619
4620         doc: update users.txt
4621         * users.txt: Update iwhd's URL.
4622
4623 2011-02-13  Bruno Haible  <bruno@clisp.org>
4624
4625         Consistent macro naming for macros that use GCC __attribute__.
4626         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4627         _ATTRIBUTE_NONNULL_.
4628         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
4629         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
4630         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
4631         ATTRIBUTE_DEPRECATED.
4632         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
4633         ATTRIBUTE_NORETURN.
4634         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4635         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4636         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4637         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4638         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
4639         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
4640         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
4641         ATTRIBUTE_SENTINEL.
4642         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
4643         ATTRIBUTE_RETURN_CHECK.
4644         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
4645         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
4646         ATTRIBUTE_NORETURN.
4647         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
4648         Reported by Paul Eggert.
4649
4650 2011-02-13  Bruno Haible  <bruno@clisp.org>
4651
4652         Don't interfere with a program's definition of __attribute__.
4653         * lib/argp.h (__attribute__): Remove definition.
4654         (_GL_ATTRIBUTE_FORMAT): New macro.
4655         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
4656         * lib/argp-fmtstream.h (__attribute__): Remove definition.
4657         (_GL_ATTRIBUTE_FORMAT): New macro.
4658         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
4659         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
4660         GCC 3 or newer.
4661         * lib/error.h (__attribute__): Remove definition.
4662         (_GL_ATTRIBUTE_FORMAT): New macro.
4663         (error, error_at_line): Use it.
4664         * lib/hash.h (__attribute__): Remove definition.
4665         (ATTRIBUTE_WUR): Update definition. Define always.
4666         * lib/openat.h (__attribute__): Remove definition.
4667         (ATTRIBUTE_NORETURN): Update definition. Define always.
4668         * lib/sigpipe-die.h (__attribute__): Remove definition.
4669         (ATTRIBUTE_NORETURN): Update definition. Define always.
4670         * lib/vasnprintf.h (__attribute__): Remove definition.
4671         (_GL_ATTRIBUTE_FORMAT): New macro.
4672         (asnprintf, vasnprintf): Use it.
4673         * lib/xalloc.h (__attribute__): Remove definition.
4674         (ATTRIBUTE_NORETURN): Update definition. Define always.
4675         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
4676         * lib/xmemdup0.h (__attribute__): Remove definition.
4677         (ATTRIBUTE_NORETURN): Update definition. Define always.
4678         * lib/xprintf.h (__attribute__): Remove definition.
4679         (_GL_ATTRIBUTE_FORMAT): New macro.
4680         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
4681         * lib/xstrtol.h (__attribute__): Remove definition.
4682         (ATTRIBUTE_NORETURN): Update definition. Define always.
4683         * lib/xvasprintf.h (__attribute__): Remove definition.
4684         (_GL_ATTRIBUTE_FORMAT): New macro.
4685         (xasprintf, xvasprintf): Use it.
4686         * tests/test-argmatch.c (__attribute__): Remove definition.
4687         (ATTRIBUTE_NORETURN): Update definition. Define always.
4688         * tests/test-exclude.c (__attribute__): Remove definition.
4689         (ATTRIBUTE_NORETURN): Update definition. Define always.
4690         Reported by Paul Eggert.
4691
4692 2011-02-13  Bruno Haible  <bruno@clisp.org>
4693
4694         mbrtowc: Add more tests for native Windows platforms.
4695         * tests/test-mbrtowc-w32-1.sh: New file.
4696         * tests/test-mbrtowc-w32-2.sh: New file.
4697         * tests/test-mbrtowc-w32-3.sh: New file.
4698         * tests/test-mbrtowc-w32-4.sh: New file.
4699         * tests/test-mbrtowc-w32-5.sh: New file.
4700         * tests/test-mbrtowc-w32.c: New file.
4701         * modules/mbrtowc-tests (Files): Add them.
4702         (Makefile.am): Arrange to run these tests.
4703         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
4704         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
4705
4706 2011-02-13  Bruno Haible  <bruno@clisp.org>
4707
4708         mbrtowc: Work around native Windows bug.
4709         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
4710         guess when no suitable locale for testing was found.
4711         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
4712
4713 2011-02-13  Bruno Haible  <bruno@clisp.org>
4714
4715         mbsinit: Work around mingw bug.
4716         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
4717         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
4718         Windows.
4719         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
4720
4721 2011-02-13  Bruno Haible  <bruno@clisp.org>
4722
4723         mbsinit: Don't crash for a NULL argument.
4724         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
4725         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
4726
4727 2011-02-13  Bruno Haible  <bruno@clisp.org>
4728
4729         Don't interfere with a program's definition of __attribute__.
4730         * lib/stdio.in.h (__attribute__): Remove definition.
4731         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
4732         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
4733         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
4734         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
4735         * lib/string.in.h (__attribute__): Remove definition.
4736         Reported by Paul Eggert.
4737
4738 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4739
4740         stdlib: don't get in the way of non-GCC __attribute__
4741         See thread starting at
4742         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
4743         Revert previous stdlib change, installing the following instead:
4744         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
4745         to get in the way of a non-GCC compiler that supports __attribute__.
4746         (_GL_ATTRIBUTE_RETURN): New macro.
4747         (_Exit): Use it instead of __attribute__.
4748
4749 2011-02-12  Bruno Haible  <bruno@clisp.org>
4750
4751         quotearg test: Avoid test failure on mingw.
4752         * tests/test-quotearg.sh: Convert the locale identifier from native
4753         Windows syntax to Unix syntax.
4754
4755 2011-02-12  Bruno Haible  <bruno@clisp.org>
4756
4757         setlocale: Prefer gnulib's override over libintl's override.
4758         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
4759         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
4760         GNULIB_defined_setlocale is set.
4761
4762 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4763
4764         stdlib: support non-GCC __attribute__
4765
4766         Fix a serious and tricky problem encountered when attempting to
4767         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
4768         5.5, but it crashed due to memory corruption on Solaris 10 with
4769         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
4770         bits that are otherwise zero.  This tagging is optional inside
4771         Emacs but is preferred and is used when __attribute__ ((__aligned
4772         (8))) works, as it does with both recent-enough GCC and with Sun C
4773         5.11.  However, Sun C 5.11 is not GCC and does not #define
4774         __GNUC__ and __GNUC_MINOR__.
4775
4776         When I added the getloadavg module to Emacs, it brought in
4777         stdlib.in.h, which contained this fragment:
4778
4779            #ifndef __attribute__
4780            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
4781            #  define __attribute__(Spec)   /* empty */
4782            # endif
4783            #endif
4784
4785         When files that include <stdlib.h> were compiled with Sun C 5.11,
4786         the above code disabled __attribute__ ((__aligned (8))), which
4787         caused variables to not be properly aligned, which eventually led
4788         to the pointer corruption mentioned above.  (This was a bit hard
4789         to diagnose, unfortunately.)
4790
4791         Several "#define __attribute__(X) /* empty */" code snippets need
4792         to be eradicated from Gnulib to work with non-GCC compilers that
4793         support __attribute__.  The Autoconf way to do this is to test for
4794         each kind of attribute that we want support for, and selectively
4795         enable that in source code.
4796
4797         Fix this problem just for stdlib.h, by adding a test for the
4798         __noreturn__ attribute, and change stdlib.in.h to use that test
4799         when needed.  This technique can be easily generalized to the
4800         other *.in.h files and attributes, and a similar technique can be
4801         used for *.h and *.c files.  This patch is enough to solve the
4802         problem for Emacs + getloadavg, and I thought I'd publish it for
4803         feedback before undertaking further, similar fixes in other
4804         modules.
4805
4806         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
4807         because it's not needed for stdlib.h.  It merely substitutes the
4808         value directly into stdlib.h.  We may well need to #define it, or
4809         similar symbols, for other modules, but it's nice to also have an
4810         option to not #define it for applications like Emacs that do not
4811         need it.
4812
4813         * lib/stdlib.in.h (__attribute__): Do not #define.
4814         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
4815         be defined only if the _Exit module is also used.
4816         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
4817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
4818         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
4819         platforms.
4820         * modules/_Exit (Files): Add m4/attribute.m4.
4821         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
4822         * m4/attribute.m4: New file.
4823
4824 2011-02-12  Bruno Haible  <bruno@clisp.org>
4825
4826         wcsrtombs: Work around bug on native Windows.
4827         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
4828         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
4829         instead of len.
4830         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
4831
4832 2011-02-12  Bruno Haible  <bruno@clisp.org>
4833
4834         mbsrtowcs: Work around bug on native Windows.
4835         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
4836         against mingw bug.
4837         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
4838
4839 2011-02-12  Bruno Haible  <bruno@clisp.org>
4840
4841         Avoid setlocale bugs in tests.
4842         * modules/btowc (Dependencies): Add setlocale.
4843         * modules/c-strcase (Dependencies): Likewise.
4844         * modules/mbmemcasecmp (Dependencies): Likewise.
4845         * modules/mbmemcasecoll (Dependencies): Likewise.
4846         * modules/mbrtowc (Dependencies): Likewise.
4847         * modules/mbscasecmp (Dependencies): Likewise.
4848         * modules/mbscasestr (Dependencies): Likewise.
4849         * modules/mbschr (Dependencies): Likewise.
4850         * modules/mbscspn (Dependencies): Likewise.
4851         * modules/mbsinit (Dependencies): Likewise.
4852         * modules/mbsncasecmp (Dependencies): Likewise.
4853         * modules/mbsnrtowcs (Dependencies): Likewise.
4854         * modules/mbspbrk (Dependencies): Likewise.
4855         * modules/mbspcasecmp (Dependencies): Likewise.
4856         * modules/mbsrchr (Dependencies): Likewise.
4857         * modules/mbsrtowcs (Dependencies): Likewise.
4858         * modules/mbsspn (Dependencies): Likewise.
4859         * modules/mbsstr (Dependencies): Likewise.
4860         * modules/nl_langinfo (Dependencies): Likewise.
4861         * modules/quotearg (Dependencies): Likewise.
4862         * modules/unicase/locale-language (Dependencies): Likewise.
4863         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
4864         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
4865         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
4866         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
4867         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
4868         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
4869         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
4870         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
4871         * modules/vasnprintf-posix (Dependencies): Likewise.
4872         * modules/wcrtomb (Dependencies): Likewise.
4873         * modules/wcsnrtombs (Dependencies): Likewise.
4874         * modules/wcsrtombs (Dependencies): Likewise.
4875
4876 2011-02-12  Bruno Haible  <bruno@clisp.org>
4877
4878         setlocale: Workaround native Windows bug.
4879         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
4880         succeeds but sets LC_CTYPE to "C", report a failure.
4881         * tests/test-setlocale2.sh: New file.
4882         * tests/test-setlocale2.c: New file.
4883         * modules/setlocale-tests (Files): Add the new files.
4884         (Makefile.am): Enable test-setlocale2.sh test.
4885         * doc/posix-functions/setlocale.texi: Mention workaround.
4886
4887 2011-02-11  Bruno Haible  <bruno@clisp.org>
4888
4889         Tests for module 'setlocale'.
4890         * modules/setlocale-tests: New file.
4891         * tests/test-setlocale1.sh: New file.
4892         * tests/test-setlocale1.c: New file.
4893
4894         New module 'setlocale'.
4895         * lib/locale.in.h (setlocale): New declaration.
4896         * lib/setlocale.c: New file, based on
4897         gettext/gettext-runtime/intl/setlocale.c.
4898         * m4/setlocale.m4: New file.
4899         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
4900         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
4901         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
4902         REPLACE_SETLOCALE.
4903         * modules/setlocale: New file.
4904         * tests/test-locale-c++.cc: Test the declaration of setlocale.
4905         * doc/posix-functions/setlocale.texi: Mention the new module.
4906
4907 2011-02-11  Bruno Haible  <bruno@clisp.org>
4908
4909         Prepare for locale dependent tests on mingw.
4910         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
4911         because it has the wrong locale encoding.
4912         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
4913         French_France.1252 instead of "fr".
4914         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
4915         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
4916         because it has the wrong locale encoding.
4917         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
4918         native Windows, try Turkish_Turkey.65001.
4919         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
4920         Chinese_China.54936.
4921
4922         Prepare for locale dependent tests on mingw.
4923         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
4924         differently.
4925         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4926         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4927         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4928         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4929
4930 2011-02-11  Eric Blake  <eblake@redhat.com>
4931
4932         strptime: avoid compiler warnings
4933         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
4934         compiler warnings about dead code.
4935         Reported by Daniel P. Berrange.
4936
4937 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
4938
4939         doc: update users.txt
4940         * users.txt: Add rcs.
4941
4942 2011-02-10  John W. Eaton  <jwe@gnu.org>
4943
4944         doc: update users.txt
4945         * users.txt: Add octave.
4946
4947 2011-02-10  Jim Meyering  <meyering@redhat.com>
4948
4949         doc: update users.txt
4950         * users.txt: Add iwhd.
4951
4952 2011-02-09  Bruno Haible  <bruno@clisp.org>
4953
4954         gnulib-tool: Make copyright notice adjustment more robust.
4955         * gnulib-tool (func_import): In sed_transform_main_lib_file,
4956         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
4957         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
4958         License".
4959         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
4960
4961 2011-02-06  Bruno Haible  <bruno@clisp.org>
4962
4963         New module 'towctrans'.
4964         * modules/towctrans: New file.
4965         * lib/wctype.in.h (towctrans): New declaration.
4966         * lib/towctrans.c: New file.
4967         * lib/towctrans-impl.h: New file.
4968         * m4/towctrans.m4: New file.
4969         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
4970         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
4971         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
4972         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
4973         * doc/posix-functions/towctrans.texi: Mention the new module.
4974
4975 2011-02-06  Bruno Haible  <bruno@clisp.org>
4976
4977         New module 'wctrans'.
4978         * modules/wctrans: New file.
4979         * lib/wctype.in.h (wctrans): New declaration.
4980         * lib/wctrans.c: New file.
4981         * lib/wctrans-impl.h: New file.
4982         * m4/wctrans.m4: New file.
4983         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
4984         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
4985         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
4986         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
4987         * doc/posix-functions/wctrans.texi: Mention the new module.
4988
4989 2011-02-06  Bruno Haible  <bruno@clisp.org>
4990
4991         New module 'iswctype'.
4992         * modules/iswctype: New file.
4993         * lib/wctype.in.h (iswctype): New declaration.
4994         * lib/iswctype.c: New file.
4995         * lib/iswctype-impl.h: New file.
4996         * m4/iswctype.m4: New file.
4997         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
4998         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
4999         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
5000         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
5001         * doc/posix-functions/iswctype.texi: Mention the new module and the
5002         HP-UX 11.00 problem.
5003
5004 2011-02-06  Bruno Haible  <bruno@clisp.org>
5005
5006         New module 'wctype'.
5007         * modules/wctype: Change to represent the wctype() substitute.
5008         * lib/wctype.in.h (wctype): New declaration.
5009         * lib/wctype.c: New file.
5010         * lib/wctype-impl.h: New file.
5011         * m4/wctype.m4: New file.
5012         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
5013         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
5014         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
5015         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
5016         * doc/posix-functions/wctype.texi: Mention the new module and the
5017         HP-UX 11.00 problem.
5018
5019 2011-02-06  Bruno Haible  <bruno@clisp.org>
5020
5021         wctype-h: Ensure wctype_t and wctrans_t are defined.
5022         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
5023         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5024         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5025         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
5026         HAVE_WCTRANS_T.
5027         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
5028
5029 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5030
5031         flock: fix license typo
5032
5033         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
5034         omitted.
5035
5036 2011-02-08  Bruno Haible  <bruno@clisp.org>
5037
5038         Split large sed scripts, for HP-UX sed.
5039         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
5040         to avoid HP-UX limit of 99 commands, in the near future.
5041         * modules/stdlib (Makefile.am): Likewise.
5042         * modules/unistd (Makefile.am): Likewise.
5043         * modules/wchar (Makefile.am): Likewise.
5044         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5045         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
5046         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
5047
5048 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5049             Bruno Haible  <bruno@clisp.org>
5050
5051         stdlib: improve random_r modularization
5052         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
5053         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
5054         you also need the random_r module to get this material right.
5055         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
5056         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
5057         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
5058
5059 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5060
5061         stdlib: don't depend on stdint
5062         * lib/stdlib.in.h: Don't include <stdint.h> merely because
5063         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
5064         be independent of whether stdint.h is needed.
5065         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
5066         here, instead of ...
5067         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
5068         struct random_data should be using the random_r module, not just
5069         the stdlib module (which wouldn't make sense: what package needs
5070         just struct random_data without also needing random_r?).
5071         * modules/stdlib (Depends-on): Remove stdint.
5072
5073         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
5074         See the thread rooted at
5075         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
5076         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
5077         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
5078         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
5079         __VMS)); previously it was always included (via fcntl--.h).
5080         (getloadavg): Do not use c_strtod.  Instead, approximate it by
5081         hand; this is good enough for load averages.  Also, do not use
5082         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
5083         flags directly if available and don't bother otherwise.  (Packages
5084         that need the extra reliability should use the modules that define
5085         these flags on older platforms that lack them.)
5086         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
5087         fcntl-safer.
5088
5089 2011-02-08  Jim Meyering  <meyering@redhat.com>
5090
5091         di-set.h, ino-map.h: add multiple-inclusion guard
5092         Technically, the guard is required only for ino-map.h, due to its
5093         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
5094         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
5095         * lib/ino-map.h: Likewise.
5096
5097 2011-02-06  Bruno Haible  <bruno@clisp.org>
5098
5099         iswblank: Ensure declaration on glibc systems.
5100         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
5101         * modules/iswblank (Dependencies): Add 'extensions'.
5102         * doc/posix-functions/iswblank.texi: Document the glibc problem.
5103
5104 2011-02-06  Bruno Haible  <bruno@clisp.org>
5105
5106         New module 'iswblank'.
5107         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
5108         * modules/iswblank: New file.
5109         * modules/wctype-h (Files): Remove lib/iswblank.c.
5110         (Makefile.am): Substitute GNULIB_ISWBLANK.
5111         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
5112         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
5113         (gl_WCTYPE_H_DEFAULTS): New macro.
5114         (gl_WCTYPE_H): Require it. Remove iswblank related code.
5115         * modules/iswblank-tests: New file.
5116         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
5117         * tests/test-wctype-h.c (main): Remove iswblank tests.
5118         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
5119         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
5120         of 'wctype-h'.
5121         * NEWS: Mention the change.
5122         * modules/mbchar (Depends-on): Add iswblank.
5123
5124 2011-02-08  Bruno Haible  <bruno@clisp.org>
5125
5126         di-set tests: Refactor.
5127         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
5128         unnecessary includes.
5129         (ASSERT): Remove macro.
5130         (main): Make C90 compliant by avoiding variable declaration after
5131         statement.
5132         * modules/di-set-tests (Files): Add tests/macros.h.
5133
5134 2011-02-08  Bruno Haible  <bruno@clisp.org>
5135
5136         ino-map tests: Refactor.
5137         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
5138         unnecessary includes.
5139         (ASSERT): Remove macro.
5140         (main): Make C90 compliant by avoiding variable declaration after
5141         statement.
5142         * modules/ino-map-tests (Files): Add tests/macros.h.
5143
5144 2011-02-08  Jim Meyering  <meyering@redhat.com>
5145
5146         di-set: add "const" to a cast
5147         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
5148         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
5149
5150 2011-02-06  Bruno Haible  <bruno@clisp.org>
5151
5152         Rename module 'wctype' to 'wctype-h'.
5153         * modules/wctype-h: Renamed from modules/wctype.
5154         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
5155         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
5156         (Files, Depends-on, Makefile.am): Update.
5157         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
5158         (Files, Makefile.am): Update.
5159         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
5160         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
5161         * doc/posix-headers/wctype.texi: Update.
5162         * doc/posix-functions/iswalnum.texi: Update.
5163         * doc/posix-functions/iswalpha.texi: Update.
5164         * doc/posix-functions/iswblank.texi: Update.
5165         * doc/posix-functions/iswcntrl.texi: Update.
5166         * doc/posix-functions/iswdigit.texi: Update.
5167         * doc/posix-functions/iswgraph.texi: Update.
5168         * doc/posix-functions/iswlower.texi: Update.
5169         * doc/posix-functions/iswprint.texi: Update.
5170         * doc/posix-functions/iswpunct.texi: Update.
5171         * doc/posix-functions/iswspace.texi: Update.
5172         * doc/posix-functions/iswupper.texi: Update.
5173         * doc/posix-functions/iswxdigit.texi: Update.
5174         * doc/posix-functions/towlower.texi: Update.
5175         * doc/posix-functions/towupper.texi: Update.
5176         * NEWS: Mention the change.
5177         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
5178         * modules/mbchar (Dependencies): Likewise.
5179         * modules/mbswidth (Dependencies): Likewise.
5180         * modules/quotearg (Dependencies): Likewise.
5181         * modules/regex (Dependencies): Likewise.
5182         * modules/wcscasecmp (Dependencies): Likewise.
5183         * modules/wcsncasecmp (Dependencies): Likewise.
5184         * modules/wcwidth (Dependencies): Likewise.
5185
5186 2011-02-06  Bruno Haible  <bruno@clisp.org>
5187
5188         New module 'wcswidth'.
5189         * modules/wcswidth: New file.
5190         * lib/wchar.in.h (wcswidth): New declaration.
5191         * lib/wcswidth.c: New file.
5192         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
5193         * m4/wcswidth.m4: New file.
5194         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
5195         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
5196         REPLACE_WCSWIDTH.
5197         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
5198         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
5199         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
5200         * doc/posix-functions/wcswidth.texi: Mention the new module.
5201
5202 2011-02-06  Bruno Haible  <bruno@clisp.org>
5203
5204         New module 'wcstok'.
5205         * modules/wcstok: New file.
5206         * lib/wchar.in.h (wcstok): New declaration.
5207         * lib/wcstok.c: New file.
5208         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
5209         * m4/wcstok.m4: New file.
5210         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
5211         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
5212         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
5213         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
5214         * doc/posix-functions/wcstok.texi: Mention the new module.
5215
5216 2011-02-06  Bruno Haible  <bruno@clisp.org>
5217
5218         New module 'wcsstr'.
5219         * modules/wcsstr: New file.
5220         * lib/wchar.in.h (wcsstr): New declaration.
5221         * lib/wcsstr.c: New file.
5222         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
5223         * m4/wcsstr.m4: New file.
5224         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
5225         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
5226         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
5227         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
5228         * doc/posix-functions/wcsstr.texi: Mention the new module.
5229
5230 2011-02-06  Bruno Haible  <bruno@clisp.org>
5231
5232         New module 'wcspbrk'.
5233         * modules/wcspbrk: New file.
5234         * lib/wchar.in.h (wcspbrk): New declaration.
5235         * lib/wcspbrk.c: New file.
5236         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
5237         * m4/wcspbrk.m4: New file.
5238         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
5239         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
5240         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
5241         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
5242         * doc/posix-functions/wcspbrk.texi: Mention the new module.
5243
5244 2011-02-06  Bruno Haible  <bruno@clisp.org>
5245
5246         New module 'wcsspn'.
5247         * modules/wcsspn: New file.
5248         * lib/wchar.in.h (wcsspn): New declaration.
5249         * lib/wcsspn.c: New file.
5250         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
5251         * m4/wcsspn.m4: New file.
5252         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
5253         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
5254         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
5255         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
5256         * doc/posix-functions/wcsspn.texi: Mention the new module.
5257
5258 2011-02-06  Bruno Haible  <bruno@clisp.org>
5259
5260         New module 'wcscspn'.
5261         * modules/wcscspn: New file.
5262         * lib/wchar.in.h (wcscspn): New declaration.
5263         * lib/wcscspn.c: New file.
5264         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
5265         * m4/wcscspn.m4: New file.
5266         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
5267         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
5268         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
5269         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
5270         * doc/posix-functions/wcscspn.texi: Mention the new module.
5271
5272 2011-02-06  Bruno Haible  <bruno@clisp.org>
5273
5274         New module 'wcsrchr'.
5275         * modules/wcsrchr: New file.
5276         * lib/wchar.in.h (wcsrchr): New declaration.
5277         * lib/wcsrchr.c: New file.
5278         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
5279         * m4/wcsrchr.m4: New file.
5280         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
5281         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
5282         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
5283         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
5284         * doc/posix-functions/wcsrchr.texi: Mention the new module.
5285
5286 2011-02-06  Bruno Haible  <bruno@clisp.org>
5287
5288         New module 'wcschr'.
5289         * modules/wcschr: New file.
5290         * lib/wchar.in.h (wcschr): New declaration.
5291         * lib/wcschr.c: New file.
5292         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
5293         * m4/wcschr.m4: New file.
5294         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
5295         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
5296         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
5297         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
5298         * doc/posix-functions/wcschr.texi: Mention the new module.
5299
5300 2011-02-06  Bruno Haible  <bruno@clisp.org>
5301
5302         New module 'wcsdup'.
5303         * modules/wcsdup: New file.
5304         * lib/wchar.in.h (wcsdup): New declaration.
5305         * lib/wcsdup.c: New file.
5306         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
5307         * m4/wcsdup.m4: New file.
5308         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
5309         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
5310         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
5311         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
5312         * doc/posix-functions/wcsdup.texi: Mention the new module.
5313
5314 2011-02-06  Bruno Haible  <bruno@clisp.org>
5315
5316         New module 'wcsxfrm'.
5317         * modules/wcsxfrm: New file.
5318         * lib/wchar.in.h (wcsxfrm): New declaration.
5319         * lib/wcsxfrm.c: New file.
5320         * lib/wcsxfrm-impl.h: New file.
5321         * m4/wcsxfrm.m4: New file.
5322         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
5323         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
5324         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
5325         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
5326         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
5327
5328 2011-02-06  Bruno Haible  <bruno@clisp.org>
5329
5330         New module 'wcscoll'.
5331         * modules/wcscoll: New file.
5332         * lib/wchar.in.h (wcscoll): New declaration.
5333         * lib/wcscoll.c: New file.
5334         * lib/wcscoll-impl.h: New file.
5335         * m4/wcscoll.m4: New file.
5336         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
5337         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
5338         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
5339         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
5340         * doc/posix-functions/wcscoll.texi: Mention the new module.
5341
5342 2011-02-06  Bruno Haible  <bruno@clisp.org>
5343
5344         New module 'wcsncasecmp'.
5345         * modules/wcsncasecmp: New file.
5346         * lib/wchar.in.h (wcsncasecmp): New declaration.
5347         * lib/wcsncasecmp.c: New file.
5348         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
5349         * m4/wcsncasecmp.m4: New file.
5350         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
5351         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
5352         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
5353         HAVE_WCSNCASECMP.
5354         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
5355         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
5356
5357 2011-02-06  Bruno Haible  <bruno@clisp.org>
5358
5359         New module 'wcscasecmp'.
5360         * modules/wcscasecmp: New file.
5361         * lib/wchar.in.h (wcscasecmp): New declaration.
5362         * lib/wcscasecmp.c: New file.
5363         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
5364         * m4/wcscasecmp.m4: New file.
5365         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
5366         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
5367         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
5368         HAVE_WCSCASECMP.
5369         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
5370         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
5371
5372 2011-02-05  Bruno Haible  <bruno@clisp.org>
5373
5374         New module 'wcsncmp'.
5375         * modules/wcsncmp: New file.
5376         * lib/wchar.in.h (wcsncmp): New declaration.
5377         * lib/wcsncmp.c: New file.
5378         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
5379         * m4/wcsncmp.m4: New file.
5380         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
5381         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
5382         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
5383         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
5384         * doc/posix-functions/wcsncmp.texi: Mention the new module.
5385
5386 2011-02-05  Bruno Haible  <bruno@clisp.org>
5387
5388         New module 'wcscmp'.
5389         * modules/wcscmp: New file.
5390         * lib/wchar.in.h (wcscmp): New declaration.
5391         * lib/wcscmp.c: New file.
5392         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
5393         * m4/wcscmp.m4: New file.
5394         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
5395         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
5396         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
5397         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
5398         * doc/posix-functions/wcscmp.texi: Mention the new module.
5399
5400 2011-02-05  Bruno Haible  <bruno@clisp.org>
5401
5402         New module 'wcsncat'.
5403         * modules/wcsncat: New file.
5404         * lib/wchar.in.h (wcsncat): New declaration.
5405         * lib/wcsncat.c: New file.
5406         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
5407         * m4/wcsncat.m4: New file.
5408         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
5409         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
5410         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
5411         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
5412         * doc/posix-functions/wcsncat.texi: Mention the new module.
5413
5414 2011-02-05  Bruno Haible  <bruno@clisp.org>
5415
5416         New module 'wcscat'.
5417         * modules/wcscat: New file.
5418         * lib/wchar.in.h (wcscat): New declaration.
5419         * lib/wcscat.c: New file.
5420         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
5421         * m4/wcscat.m4: New file.
5422         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
5423         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
5424         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
5425         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
5426         * doc/posix-functions/wcscat.texi: Mention the new module.
5427
5428 2011-02-05  Bruno Haible  <bruno@clisp.org>
5429
5430         New module 'wcpncpy'.
5431         * modules/wcpncpy: New file.
5432         * lib/wchar.in.h (wcpncpy): New declaration.
5433         * lib/wcpncpy.c: New file.
5434         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
5435         * m4/wcpncpy.m4: New file.
5436         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
5437         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
5438         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
5439         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
5440         * doc/posix-functions/wcpncpy.texi: Mention the new module.
5441
5442 2011-02-05  Bruno Haible  <bruno@clisp.org>
5443
5444         New module 'wcsncpy'.
5445         * modules/wcsncpy: New file.
5446         * lib/wchar.in.h (wcsncpy): New declaration.
5447         * lib/wcsncpy.c: New file.
5448         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
5449         * m4/wcsncpy.m4: New file.
5450         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
5451         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
5452         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
5453         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
5454         * doc/posix-functions/wcsncpy.texi: Mention the new module.
5455
5456 2011-02-05  Bruno Haible  <bruno@clisp.org>
5457
5458         New module 'wcpcpy'.
5459         * modules/wcpcpy: New file.
5460         * lib/wchar.in.h (wcpcpy): New declaration.
5461         * lib/wcpcpy.c: New file.
5462         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
5463         * m4/wcpcpy.m4: New file.
5464         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
5465         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
5466         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
5467         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
5468         * doc/posix-functions/wcpcpy.texi: Mention the new module.
5469
5470 2011-02-05  Bruno Haible  <bruno@clisp.org>
5471
5472         New module 'wcscpy'.
5473         * modules/wcscpy: New file.
5474         * lib/wchar.in.h (wcscpy): New declaration.
5475         * lib/wcscpy.c: New file.
5476         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
5477         * m4/wcscpy.m4: New file.
5478         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
5479         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
5480         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
5481         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
5482         * doc/posix-functions/wcscpy.texi: Mention the new module.
5483
5484 2011-02-05  Bruno Haible  <bruno@clisp.org>
5485
5486         New module 'wcsnlen'.
5487         * modules/wcsnlen: New file.
5488         * lib/wchar.in.h (wcsnlen): New declaration.
5489         * lib/wcsnlen.c: New file.
5490         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
5491         * m4/wcsnlen.m4: New file.
5492         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
5493         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
5494         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
5495         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
5496         * doc/posix-functions/wcsnlen.texi: Mention the new module.
5497
5498 2011-02-05  Bruno Haible  <bruno@clisp.org>
5499
5500         New module 'wcslen'.
5501         * modules/wcslen: New file.
5502         * lib/wchar.in.h (wcslen): New declaration.
5503         * lib/wcslen.c: New file.
5504         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
5505         * m4/wcslen.m4: New file.
5506         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
5507         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
5508         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
5509         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
5510         * doc/posix-functions/wcslen.texi: Mention the new module.
5511
5512 2011-02-05  Bruno Haible  <bruno@clisp.org>
5513
5514         New module 'wmemset'.
5515         * modules/wmemset: New file.
5516         * lib/wchar.in.h (wmemset): New declaration.
5517         * lib/wmemset.c: New file.
5518         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
5519         * m4/wmemset.m4: New file.
5520         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
5521         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
5522         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
5523         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
5524         * doc/posix-functions/wmemset.texi: Mention the new module.
5525
5526 2011-02-05  Bruno Haible  <bruno@clisp.org>
5527
5528         New module 'wmemmove'.
5529         * modules/wmemmove: New file.
5530         * lib/wchar.in.h (wmemmove): New declaration.
5531         * lib/wmemmove.c: New file.
5532         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
5533         * m4/wmemmove.m4: New file.
5534         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
5535         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
5536         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
5537         HAVE_WMEMMOVE.
5538         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
5539         * doc/posix-functions/wmemmove.texi: Mention the new module.
5540
5541 2011-02-05  Bruno Haible  <bruno@clisp.org>
5542
5543         New module 'wmemcpy'.
5544         * modules/wmemcpy: New file.
5545         * lib/wchar.in.h (wmemcpy): New declaration.
5546         * lib/wmemcpy.c: New file.
5547         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
5548         * m4/wmemcpy.m4: New file.
5549         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
5550         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
5551         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
5552         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
5553         * doc/posix-functions/wmemcpy.texi: Mention the new module.
5554
5555 2011-02-05  Bruno Haible  <bruno@clisp.org>
5556
5557         New module 'wmemcmp'.
5558         * modules/wmemcmp: New file.
5559         * lib/wchar.in.h (wmemcmp): New declaration.
5560         * lib/wmemcmp.c: New file.
5561         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
5562         * m4/wmemcmp.m4: New file.
5563         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
5564         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
5565         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
5566         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
5567         * doc/posix-functions/wmemcmp.texi: Mention the new module.
5568
5569 2011-02-07  Jim Meyering  <meyering@redhat.com>
5570
5571         di-set, ino-map: new modules, from coreutils
5572         * lib/di-set.c: New file.
5573         * lib/di-set.h: Likewise.
5574         * lib/ino-map.c: Likewise.
5575         * lib/ino-map.h: Likewise.
5576         * modules/di-set: Likewise.
5577         * modules/di-set-tests: Likewise.
5578         * modules/ino-map: Likewise.
5579         * modules/ino-map-tests: Likewise.
5580         * tests/test-di-set.c: Likewise.
5581         * tests/test-ino-map.c: Likewise.
5582
5583 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
5584
5585         getloadavg: merge minor changes from Emacs
5586
5587         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
5588         (getloadavg): Use memset, not bzero.
5589
5590         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
5591         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5592         clash (bug#86).
5593
5594 2010-11-14  Bruno Haible  <bruno@clisp.org>
5595
5596         Allow multiple gnulib generated replacements to coexist.
5597         * lib/getopt.in.h (struct option): Avoid identical redefinition.
5598         * lib/inttypes.in.h (imaxdiv_t): Likewise.
5599         * lib/langinfo.in.h (nl_item): Likewise.
5600         * lib/math.in.h (_NaN, NAN): Likewise.
5601         * lib/netdb.in.h (struct addrinfo): Likewise.
5602         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5603         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5604         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5605         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5606         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5607         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5608         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5609         pthread_mutexattr_init, pthread_mutexattr_settype,
5610         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5611         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5612         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5613         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5614         * lib/sched.in.h (struct sched_param): Likewise.
5615         * lib/se-selinux.in.h (security_class_t, security_context_t,
5616         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5617         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5618         lsetfilecon, fsetfilecon, security_check_context,
5619         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5620         Likewise.
5621         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5622         Likewise.
5623         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5624         _gl_function_taking_int_returning_void_t, union sigval,
5625         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5626         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5627         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5628         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
5629         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
5630         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
5631         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
5632         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
5633         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
5634         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
5635         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
5636         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
5637         socklen_t, rpl_fd_isset): Likewise.
5638         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
5639         * lib/sys_time.in.h (struct timeval): Likewise.
5640         * lib/sys_times.in.h (struct tms): Likewise.
5641         * lib/sys_utsname.in.h (struct utsname):
5642         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
5643         * lib/unistd.in.h (getpagesize): Likewise.
5644         * lib/wchar.in.h (mbstate_t): Likewise.
5645         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5646         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
5647         towlower, towupper): Likewise.
5648         Reported by Sam Steingold <sds@gnu.org>.
5649
5650 2011-02-05  Eric Blake  <eblake@redhat.com>
5651
5652         unsetenv: work around Haiku issues
5653         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
5654         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
5655
5656 2010-12-30  Bruce Korb  <bkorb@gnu.org>
5657
5658         libposix: avoid calling error() within libposix
5659         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
5660         is defined.
5661
5662 2011-02-05  Eric Blake  <eblake@redhat.com>
5663
5664         strerror_r-posix: port to cygwin
5665         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
5666         implementation.
5667         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
5668         * tests/test-strerror_r.c (main): Fix test.
5669         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5670         issue.
5671
5672 2011-02-05  Bruno Haible  <bruno@clisp.org>
5673
5674         New module 'wmemchr'.
5675         * modules/wmemchr: New file.
5676         * lib/wchar.in.h (wmemchr): New declaration.
5677         * lib/wmemchr.c: New file.
5678         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
5679         * m4/wmemchr.m4: New file.
5680         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
5681         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
5682         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
5683         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
5684         * doc/posix-functions/wmemchr.texi: Mention the new module.
5685
5686 2011-02-04  Eric Blake  <eblake@redhat.com>
5687
5688         fdopendir: detect FreeBSD bug
5689         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
5690         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
5691
5692 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5693
5694         stdbool: do not define HAVE_STDBOOL_H
5695         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
5696         AC_HEADER_STDBOOL.  All uses changed.  Do not define
5697         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
5698         imported from the latest Autoconf git.  It was motivated by Emacs,
5699         which uses gnulib but does not need HAVE_STDBOOL_H.
5700
5701 2011-02-04  Bruno Haible  <bruno@clisp.org>
5702
5703         wcsnrtombs: Prepare for new module wwcsnrtombs.
5704         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
5705         * lib/wcsnrtombs.c: Include it.
5706         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
5707
5708         wcsrtombs: Prepare for new module wwcsrtombs.
5709         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
5710         * lib/wcsrtombs.c: Include it.
5711         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
5712
5713         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
5714         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
5715         * lib/mbsnrtowcs.c: Include it.
5716         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
5717
5718         mbsrtowcs: Prepare for new module mbsrtowwcs.
5719         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
5720         * lib/mbsrtowcs.c: Include it.
5721         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
5722
5723 2011-02-04  Bruno Haible  <bruno@clisp.org>
5724
5725         vasnprintf: Reduce use of malloc for small format strings.
5726         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
5727         (arguments): Add room for the first 7 arguments.
5728         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
5729         (char_directives, u8_directives, u16_directives, u32_directives): Add
5730         room for the first 7 directives.
5731         * lib/printf-parse.c: Include <string.h>.
5732         (PRINTF_PARSE): Change memory handling code so that it uses the first
5733         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
5734         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
5735         Reported by Pádraig Brady <P@draigbrady.com>.
5736
5737 2011-01-31  Eric Blake  <eblake@redhat.com>
5738
5739         dup2: work around Haiku bug
5740         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
5741         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
5742         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5743         * tests/test-dup2.c (main): Enhance test.
5744
5745 2011-01-31  Simon Josefsson  <simon@josefsson.org>
5746
5747         doc: off_t is not available in eglibc 2.11.2 stdio.h.
5748         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
5749         declared by eglibc 2.11.2.
5750         * lib/stdio.in.h: Likewise.
5751
5752 2011-01-31  Eric Blake  <eblake@redhat.com>
5753
5754         ignore-value: add missing test dependency
5755         * tests/test-ignore-value.c: Revert previous change; stdio.h
5756         provides off_t.
5757         * modules/ignore-value-tests (Depends-on): Add missing dependency.
5758
5759 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
5760
5761         mktime: clarify long_int width checking
5762         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
5763         the top level, to make it clearer that the assumption about
5764         long_int width is being checked.  See
5765         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
5766
5767 2011-01-30  Simon Josefsson  <simon@josefsson.org>
5768
5769         ignore-value: Fix self-test.
5770         * tests/test-ignore-value.c: Include sys/types.h for off_t.
5771
5772 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
5773
5774         TYPE_MAXIMUM: avoid theoretically undefined behavior
5775         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
5776         negative number, which the C Standard says has undefined behavior.
5777         In practice this is not a problem, but might as well do it by the book.
5778         Reported by Rich Felker and Eric Blake; see
5779         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
5780         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
5781         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5782         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5783         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
5784         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5785         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
5786
5787         mktime: #undef mktime before #defining it
5788         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
5789
5790         mktime: systematically normalize tm_isdst comparisons
5791         * lib/mktime.c (isdst_differ): New function.
5792         (__mktime_internal): Use it systematically for all isdst comparisons.
5793         This completes the fix for libc BZ #6723, and removes the need for
5794         normalizing tm_isdst.  See
5795         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
5796         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
5797
5798         mktime: fix some integer overflow issues and sidestep the rest
5799
5800         This was prompted by a bug report by Benjamin Lindner for MinGW
5801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
5802         His bug is due to signed integer overflow (0 - INT_MIN), and I
5803         I scanned through mktime.c looking for other integer overflow
5804         problems, fixing all the bugs I found.
5805
5806         Although the C Standard says the resulting code is still not safe
5807         in the presence of integer overflow, in practice it should be good
5808         enough for all real-world two's-complement implementations, except
5809         for debugging environments that deliberately trap on integer
5810         overflow (e.g., gcc -ftrapv).
5811
5812         * lib/mktime.c (WRAPV): New macro.
5813         (SHR): Also check that long_int and time_t shift right in the
5814         usual way, before using the fast-but-unportable method.
5815         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
5816         used.  The code already assumed two's complement, so there's
5817         no need to test for alternatives.  All uses removed.
5818         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
5819         the C standard.  Problem reported by Rich Felker in
5820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
5821         (twos_complement_arithmetic): Also check long_int and time_t.
5822         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
5823         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
5824         (__mktime_internal): Avoid integer overflow with unary subtraction
5825         in two instances where -1 - X is an adequate replacement for -X,
5826         since the calculations are approximate.
5827
5828 2011-01-29  Eric Blake  <eblake@redhat.com>
5829
5830         mktime: avoid infinite loop
5831         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
5832         type; behavior is still undefined but portable to all known targets.
5833         Reported by Rich Felker.
5834
5835 2011-01-29  Simon Josefsson  <simon@josefsson.org>
5836
5837         rename, unlink, same-inode: Relicense.
5838         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
5839         * modules/unlink (License): Likewise.
5840         * modules/same-inode (License): Likewise.
5841
5842 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5843
5844         mktime: avoid problems on NetBSD 5 / i386
5845         * lib/mktime.c (long_int): New type.  This works around a problem
5846         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
5847         but time_t is 64 bits, and where I expect the existing code is
5848         wrong in some cases.
5849         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
5850         (ydhms_diff): Bring back the compile-time check for wide-enough
5851         year and yday.
5852
5853         mktime: fix misspelling in comment
5854         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
5855         This merges all recent glibc changes of importance.
5856
5857 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5858
5859         move-if-change: cope with concurrent mv of identical file.
5860         * build-aux/move-if-change (CMPPROG): Accept environment
5861         variable as an override for `cmp'.
5862         (usage): Document CMPPROG.
5863         Adjust comparison to drop stdout.  Cope with failure of mv if
5864         the target file exists and is identical to the source, for
5865         parallel builds.
5866         Report from H.J. Lu against binutils in PR binutils/12283.
5867
5868 2011-01-28  Bruce Korb  <bkorb@gnu.org>
5869
5870         * users.txt: Mention sharutils.
5871
5872 2011-01-28  Simon Josefsson  <simon@josefsson.org>
5873
5874         * users.txt: Mention OATH Toolkit.
5875
5876 2011-01-27  Bruno Haible  <bruno@clisp.org>
5877
5878         Prepare for supporting FreeBSD 10.
5879         * build-aux/config.libpath: Remove handling of freebsd1*.
5880
5881 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
5882
5883         Prepare for supporting FreeBSD 10.
5884         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
5885         match FreeBSD 10.0.
5886
5887 2011-01-27  Bruno Haible  <bruno@clisp.org>
5888
5889         vma-iter, get-rusage-as: Add OpenBSD support.
5890         * modules/vma-iter (configure.ac): Test for mquery.
5891         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
5892         * lib/vma-iter.c: Include <sys/mman.h>.
5893         (vma_iterate): Add an implementation based on mquery().
5894         * lib/resource-ext.h (get_rusage_as): Update comments.
5895         * lib/get-rusage-as.c: Likewise.
5896         * lib/get-rusage-data.c: Likewise.
5897
5898 2011-01-26  Karl Berry  <karl@gnu.org>
5899
5900         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
5901         variables to make it easier to override the makeinfo program used.
5902
5903 2011-01-26  Eric Blake  <eblake@redhat.com>
5904
5905         fcntl: work around Haiku F_DUPFD bugs
5906         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
5907         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
5908         cloexec bit on duplication.
5909         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
5910
5911 2011-01-26  Bruno Haible  <bruno@clisp.org>
5912
5913         Enable memory leak tests on AIX.
5914         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
5915         * tests/test-fprintf-posix3.c (main): Likewise.
5916
5917 2011-01-26  Bruno Haible  <bruno@clisp.org>
5918
5919         Tests for module 'get-rusage-data'.
5920         * modules/get-rusage-data-tests: New file.
5921         * tests/test-get-rusage-data.c: New file.
5922
5923         New module 'get-rusage-data'.
5924         * lib/resource-ext.h (get_rusage_data): New declaration.
5925         * lib/get-rusage-data.c: New file.
5926         * modules/get-rusage-data: New file.
5927
5928 2011-01-25  Bruno Haible  <bruno@clisp.org>
5929
5930         get-rusage-as: Allow for easier testing.
5931         * lib/resource-ext.h (get_rusage_as): Add comment.
5932         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
5933         (main): New function for interactive testing.
5934
5935 2011-01-25  Bruno Haible  <bruno@clisp.org>
5936
5937         vma-iter: Treat Haiku like BeOS.
5938         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
5939         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
5940
5941 2011-01-25  Eric Blake  <eblake@redhat.com>
5942
5943         c-stack: fix regression on cygwin when libsigsegv is present
5944         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
5945
5946 2011-01-24  Bruno Haible  <bruno@clisp.org>
5947
5948         vma-iter: Avoid empty intervals.
5949         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
5950         on an empty interval.
5951
5952 2011-01-24  Jim Meyering  <meyering@redhat.com>
5953
5954         u64: remove unnecessary #include
5955         * lib/u64.h: Don't include <stddef.h>.  It was not used.
5956
5957 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5958
5959         Allow the user to avoid the HAVE_RAW_DECL_* macros.
5960         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
5961
5962 2011-01-23  Bruno Haible  <bruno@clisp.org>
5963
5964         New module 'vma-iter'.
5965         * lib/vma-iter.h: New file.
5966         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
5967         * modules/vma-iter: New file.
5968         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
5969         for get_rusage_as_via_iterator.
5970         (vma_iterate_callback): New function.
5971         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
5972         * modules/get-rusage-as (Depends-on): Add vma-iter.
5973
5974 2011-01-23  Bruno Haible  <bruno@clisp.org>
5975
5976         uninorm: Tweak includes.
5977         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
5978         Reported by Jim Meyering.
5979
5980 2011-01-23  Bruno Haible  <bruno@clisp.org>
5981
5982         get-rusage-as: Improve on NetBSD.
5983         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
5984         /proc, like on FreeBSD.
5985
5986 2011-01-23  Jim Meyering  <meyering@redhat.com>
5987
5988         xreadlink.h: remove unnecessary #include
5989         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
5990
5991         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
5992         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
5993
5994 2011-01-23  Bruno Haible  <bruno@clisp.org>
5995
5996         get-rusage-as: Fix bug.
5997         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
5998         original limit when aborting the first loop.
5999
6000 2011-01-23  Bruno Haible  <bruno@clisp.org>
6001
6002         wctype: Ensure valid C syntax.
6003         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
6004         unconditionally, instead of gl_NEXT_HEADERS conditionally.
6005
6006 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
6007
6008         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
6009         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
6010         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
6011         as they are needed only for configure's test case.
6012         This removes two unnecessary symbols from config.h.
6013
6014         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
6015         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
6016         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
6017         AC_CHECK_HEADERS_ONCE on a header that we also invoke
6018         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
6019         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
6020         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
6021         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6022         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6023         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6024         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6026         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6027         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6028         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6029         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6030         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6031         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6032
6033 2011-01-21  Eric Blake  <eblake@redhat.com>
6034
6035         maintainer-makefile: work with older git for submodule check
6036         * top/maint.mk (public-submodule-commit): Rewrite to avoid
6037         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
6038         Reported by Matthias Bolte.
6039
6040         bootstrap: minor portability fixes
6041         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
6042         (usage): Omit leading capital and trailing . on help phrases, per
6043         GNU Coding Standards.
6044         (check_versions, top level): Prefix messages with script name.
6045
6046 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
6047
6048         bootstrap: support --no-git option
6049         * build-aux/bootstrap: Add --no-git option, to be used when
6050         --gnulib-srcdir points to the exact desired checkout.
6051
6052 2011-01-21  Eric Blake  <eblake@redhat.com>
6053
6054         strerror_r-posix: work with glibc 2.13
6055         * lib/strerror_r.c (strerror_r): Fix return type.
6056
6057 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6058             Bruno Haible  <bruno@clisp.org>
6059
6060         uN_strstr: New unit tests.
6061         * modules/unistr/u8-strstr-tests: New file.
6062         * modules/unistr/u16-strstr-tests: New file.
6063         * modules/unistr/u32-strstr-tests: New file.
6064         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
6065         * tests/unistr/test-u8-strstr.c: New file.
6066         * tests/unistr/test-u16-strstr.c: New file.
6067         * tests/unistr/test-u32-strstr.c: New file.
6068
6069 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6070             Bruno Haible  <bruno@clisp.org>
6071
6072         Make uN_strstr functions O(n) worst-case.
6073         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
6074         16-bit and 32-bit unit cases, use the unibyte algorithm from
6075         lib/mbsstr.c.
6076         * lib/unistr/u8-strstr.c: Include <string.h>.
6077         (UNIT_IS_UINT8_T): New macro.
6078         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
6079         (U_STRLEN, U_STRNLEN): New macros.
6080         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
6081         (U_STRLEN, U_STRNLEN): New macros.
6082         * modules/unistr/u8-strstr (Depends-on): Add strstr.
6083         (configure.ac): Update required libunistring version.
6084         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
6085         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
6086         malloca.
6087         (configure.ac): Update required libunistring version.
6088         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
6089         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
6090         malloca.
6091         (configure.ac): Update required libunistring version.
6092
6093 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6094             Bruno Haible  <bruno@clisp.org>
6095
6096         Prepare for faster uN_strstr functions.
6097         * lib/str-kmp.h: Support definable UNITs.
6098         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
6099         needle_len argument.
6100         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
6101         * lib/mbscasestr.c (mbscasestr): Likewise.
6102
6103 2011-01-21  Pádraig Brady <P@draigBrady.com>
6104
6105         malloca-tests: make faster by unsetting MALLOC_PERTURB_
6106         * tests/test-malloca.c (main): Unset the environment variable
6107         to greatly speed up the test.
6108         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
6109         * modules/malloca-tests: Depend on unsetenv.
6110
6111 2011-01-21  Pádraig Brady <P@draigBrady.com>
6112
6113         ignore-value: remove stdint dependency
6114         * lib/ignore-value.h: Remove <stdint.h>
6115         * modules/ignore-value: Remove stdint dependency.
6116
6117 2011-01-21  Jim Meyering  <meyering@redhat.com>
6118
6119         maint.mk: adjust variable name to be consistent with other gl_ vars
6120         * top/maint.mk (gl_public_submodule_commit): Rename the variable
6121         to be lower case.
6122
6123 2011-01-20  Jim Meyering  <meyering@redhat.com>
6124
6125         maint.mk: make "check" depend on public-submodule-commit by default
6126         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
6127
6128 2011-01-20  Bruno Haible  <bruno@clisp.org>
6129
6130         mbfile, mbiter: Complete change from 2008-12-21.
6131         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
6132         * m4/mbiter.m4 (gl_MBITER): Likewise.
6133
6134 2011-01-20  Jim Meyering  <meyering@redhat.com>
6135
6136         init.sh: insert space between each function name and "()"
6137         * tests/init.sh: Make it a little easier to see that a function's
6138         name is "warn_", and not "warn" when looking at the first part of
6139         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
6140
6141 2011-01-20  Jim Meyering  <meyering@redhat.com>
6142
6143         mountlist: clean up code formatting
6144         * lib/mountlist.c (read_file_system_list): Split a long line,
6145         correct bracing style, use NULL in place of "(struct statfs *)0",
6146         don't parenthesize return value, add spaces around "=" and after
6147         ";-in-for-stmt".
6148
6149 2011-01-14  Markus Duft <mduft@gentoo.org>
6150
6151         mountlist: add support for Interix
6152         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
6153         Apply statvfs to all entries of /dev/fs.
6154         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
6155         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
6156
6157 2011-01-20  Jim Meyering  <meyering@redhat.com>
6158
6159         maint.mk: improve the public-submodule-commit rule
6160         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
6161         to suppress printing of its commands... unless V=1.
6162         Add git submodule's --quiet option to suppress printing of e.g.,
6163         "Entering gnulib" output.
6164         "cd" into $(srcdir) before running git submodule.
6165
6166 2011-01-20  Bruno Haible  <bruno@clisp.org>
6167
6168         include_next: Fix bug introduced on 2011-01-18.
6169         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
6170         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
6171         ac_cv_header_... variable if the second argument is not 'check'.
6172         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
6173         gl_NEXT_HEADERS_INTERNAL.
6174
6175 2011-01-20  Bruno Haible  <bruno@clisp.org>
6176
6177         Allow the user to avoid the GNULIB_TEST_* macros.
6178         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
6179         Suggested by Paul Eggert.
6180
6181 2011-01-14  Jim Meyering  <meyering@redhat.com>
6182
6183         bootstrap: avoid failure when there is no .gitmodules file
6184         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
6185         has been assigned to, even when its value is the empty string.
6186         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
6187         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
6188         Reported by John W. Eaton <jwe@gnu.org>.
6189
6190 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6191
6192         assume <ctype.h>, ..., <time.h> exist
6193         For years gnulib has been assuming the existence of the headers
6194         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
6195         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
6196         them, since they don't appear to be needed.
6197         * README (Portability guidelines): Document this.
6198         * lib/flock.c: Assume <fcntl.h> exists.
6199         * lib/regex_internal.h: Assume <locale.h> exists.
6200         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
6201         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
6202         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
6203         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
6204         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
6205         * m4/regex.m4 (gl_REGEX): Likewise.
6206         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
6207         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
6208         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
6209         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
6210         * tests/test-argp.c: Likewise.
6211         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
6212
6213         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
6214         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
6215         AA_APPLE_UNIVERSAL_BUILD.  See
6216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
6217         * NEWS: Document this.
6218
6219 2011-01-19  Eric Blake  <eblake@redhat.com>
6220
6221         c-stack: assume stack overflow if SA_SIGINFO unsupported
6222         * lib/c-stack.c (SIGACTION_WORKS): Rename...
6223         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
6224         sigaction will work.
6225         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
6226         behavior match Linux.
6227         * tests/test-c-stack.c (main): Prefer NULL for pointers.
6228
6229         stdbool-tests: accomodate Haiku
6230         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
6231
6232         binary-io: fix O_TEXT on Haiku
6233         * modules/binary-io (Depends-on): Add fcntl-h.
6234         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
6235         than blindly undefining O_TEXT.
6236         Reported by Scott McCreary.
6237
6238 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6239
6240         include_next: do not check for standard headers like stddef.h
6241
6242         I found this problem when modifying Emacs to use gnulib.
6243         I noticed that it added HAVE_STDDEF_H to config.h, even though
6244         gnulib always assumes <stddef.h> exists as per README and this
6245         symbol is unnecessary.
6246         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
6247         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
6248         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
6249         faster for headers like stddef.h that are known to exist.
6250         (gl_CHECK_NEXT_HEADERS): Use it.
6251         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
6252         rather than gl_CHECK_NEXT_HEADERS.
6253         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
6254         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
6255
6256 2011-01-18  Eric Blake  <eblake@redhat.com>
6257
6258         ansi-c++-opt: skip C++ dependency style if C++ is unused
6259         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
6260         tests when we know C++ compilation is not desired.
6261         Reported by Scott McCreary.
6262
6263 2011-01-18  Bruno Haible  <bruno@clisp.org>
6264
6265         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
6266         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
6267         (main): Perform test also when getrlimit and setrlimit don't exist or
6268         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
6269         limiting the address space size using setrlimit, compare the address
6270         space size before and after the the test.
6271         * tests/test-dprintf-posix2.c: Likewise.
6272         * tests/test-fprintf-posix3.sh: Update skip messages.
6273         * tests/test-dprintf-posix2.sh: Likewise.
6274         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
6275         * modules/dprintf-posix-tests (Depends-on): Likewise.
6276         Reported by Bruce Korb <bkorb@gnu.org> and
6277         Gary V. Vaughan <gary@gnu.org>.
6278
6279 2011-01-18  Bruno Haible  <bruno@clisp.org>
6280
6281         get-rusage-as: Improvement for Cygwin.
6282         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
6283         areas that are merely reserved.
6284
6285 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6286
6287         strftime: remove dependencies on multibyte modules
6288
6289         strftime depended on mbrlen, mbsinit, and wchar, but these modules
6290         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
6291         only if __osf__ is defined, and I suspect OSF doesn't need these
6292         other modules.  If my guess is wrong, we'll need to come up with a
6293         variant of strftime that doesn't need the multibyte modules.
6294
6295         I discovered this problem when attempting modify Emacs to use the
6296         strftime module.  With the previous gnulib, this caused Emacs to
6297         need 31 new files, ranging from lib/config.charset to
6298         m4/wint_t.m4.  This was overkill and I expect would be offputting
6299         to the Emacs maintainers.  After this change, only 6 new files are
6300         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
6301         stdbool.m4, and tm_gmtoff.m4.
6302
6303         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
6304         Suggested by Bruno Haible in
6305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
6306         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
6307         and do not check for wchar.h.
6308         * modules/strftime (Files): Remove m4/mbstate_t.m4.
6309         (Depends-on): Remove mbrlen, mbsinit, wchar.
6310
6311 2011-01-18  Bruno Haible  <bruno@clisp.org>
6312
6313         Tests for module 'get-rusage-as'.
6314         * modules/get-rusage-as-tests: New file.
6315         * tests/test-get-rusage-as.c: New file.
6316
6317         New module 'get-rusage-as'.
6318         * modules/get-rusage-as: New file.
6319         * lib/resource-ext.h: New file.
6320         * lib/get-rusage-as.c: New file.
6321
6322 2011-01-17  Eric Blake  <eblake@redhat.com>
6323
6324         sigaction: relax license from LGPLv3+ to LGPLv2+
6325         * modules/sigaction (License): Relax to LGPLv2+.
6326
6327 2011-01-14  Bruno Haible  <bruno@clisp.org>
6328
6329         filemode: Make function declarations usable in C++ mode.
6330         * lib/filemode.h: Enclose function declarations in extern "C" block.
6331         Reported by John W. Eaton <jwe@gnu.org>.
6332
6333 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
6334
6335         save-cwd: no longer include "xgetcwd.h"
6336         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
6337         This avoids a compilation failure in projects that use save-cwd
6338         without also using the xgetcwd module.
6339
6340 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6341
6342         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
6343         This is so that a program like Emacs, which needs only dtoastr,
6344         does not have to bother with distributing and compiling ftoastr
6345         and ldtoastr.
6346         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
6347         * modules/dtoastr, modules/ldtoastr: New files.
6348         * modules/ftoastr: Now works just for 'float'.
6349         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
6350         (Makefile.am): Remove ftoastr.h (not needed and no effect),
6351         dtoastr.c, ldtoastr.c.
6352
6353 2011-01-11  Jim Meyering  <meyering@redhat.com>
6354
6355         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
6356         There is no need to work around the lack of the fchdir function,
6357         since gnulib can now provide a replacement when required.
6358         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
6359         * modules/save-cwd (Depends-on): Add fchdir.
6360
6361 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6362
6363         openat, save-cwd: avoid xmalloc
6364
6365         This removes a direct (but undocumented) dependency of openat on
6366         xalloc, along with an indirect dependency via save-cwd.  It also
6367         removes a dependency of save-cwd on xgetcwd, and thereby
6368         indirectly on xalloc.  This change causes the openat substitute
6369         to fall back on save_cwd when memory is tight, and for save_cwd to
6370         fail instead of dying when memory is tight, but that's good enough.
6371         Problem and initial idea for fix reported by Bastien Roucaries in
6372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
6373
6374         * lib/openat-proc.c: Include stdlib.h (for malloc), not
6375         xalloc.h (for xmalloc).
6376         (openat_proc_name): Use malloc, not xmalloc.
6377         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
6378         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
6379
6380         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
6381         This avoids heap allocation for file names whose lengths are in
6382         the range 512..1023, with the upper bound increasing to at most
6383         4031 depending on the platform's PATH_MAX.  (We do not want
6384         pathmax.h here as it might supply a non-constant PATH_MAX.)
6385         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
6386         Perhaps they should be moved to malloca.h?
6387         (OPENAT_BUFFER_SIZE): Use them.
6388
6389 2011-01-10  Bruno Haible  <bruno@clisp.org>
6390
6391         doc: Update users.txt.
6392         * users.txt: Add recutils.
6393
6394 2011-01-09  Karl Berry  <karl@gnu.org>
6395
6396         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
6397
6398         * doc/configmake.texi: New file.
6399         * doc/gnulib.texi: Include it.
6400         * modules/configmake: Move documentation from here.
6401
6402 2011-01-09  Bruno Haible  <bruno@clisp.org>
6403
6404         Update to Unicode 6.0.0.
6405         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
6406         (get_lbp): Update for Unicode 6.0.0.
6407         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
6408         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
6409         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
6410         U+11001, U+11038..U+11046. Remove U+06DE.
6411         (uc_width): Fix bounds of planes.
6412         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6413         lib/uniwidth/width.c.
6414         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
6415         trailing whitespace removed.
6416         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
6417         without comments, but with the original copyright notice.
6418         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
6419         * lib/unicase/ignorable.h: Likewise.
6420         * lib/unicase/tocasefold.h: Likewise.
6421         * lib/unicase/tolower.h: Likewise.
6422         * lib/unicase/totitle.h: Likewise.
6423         * lib/unicase/toupper.h: Likewise.
6424         * lib/unictype/bidi_of.h: Likewise.
6425         * lib/unictype/blocks.h: Likewise.
6426         * lib/unictype/categ_C.h: Likewise.
6427         * lib/unictype/categ_Cn.h: Likewise.
6428         * lib/unictype/categ_L.h: Likewise.
6429         * lib/unictype/categ_Ll.h: Likewise.
6430         * lib/unictype/categ_Lm.h: Likewise.
6431         * lib/unictype/categ_Lo.h: Likewise.
6432         * lib/unictype/categ_Lu.h: Likewise.
6433         * lib/unictype/categ_M.h: Likewise.
6434         * lib/unictype/categ_Mc.h: Likewise.
6435         * lib/unictype/categ_Me.h: Likewise.
6436         * lib/unictype/categ_Mn.h: Likewise.
6437         * lib/unictype/categ_N.h: Likewise.
6438         * lib/unictype/categ_Nd.h: Likewise.
6439         * lib/unictype/categ_No.h: Likewise.
6440         * lib/unictype/categ_P.h: Likewise.
6441         * lib/unictype/categ_Po.h: Likewise.
6442         * lib/unictype/categ_S.h: Likewise.
6443         * lib/unictype/categ_Sc.h: Likewise.
6444         * lib/unictype/categ_Sk.h: Likewise.
6445         * lib/unictype/categ_Sm.h: Likewise.
6446         * lib/unictype/categ_So.h: Likewise.
6447         * lib/unictype/categ_of.h: Likewise.
6448         * lib/unictype/combining.h: Likewise.
6449         * lib/unictype/ctype_alnum.h: Likewise.
6450         * lib/unictype/ctype_alpha.h: Likewise.
6451         * lib/unictype/ctype_graph.h: Likewise.
6452         * lib/unictype/ctype_lower.h: Likewise.
6453         * lib/unictype/ctype_print.h: Likewise.
6454         * lib/unictype/ctype_punct.h: Likewise.
6455         * lib/unictype/ctype_upper.h: Likewise.
6456         * lib/unictype/decdigit.h: Likewise.
6457         * lib/unictype/digit.h: Likewise.
6458         * lib/unictype/numeric.h: Likewise.
6459         * lib/unictype/pr_alphabetic.h: Likewise.
6460         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6461         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6462         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6463         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6464         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6465         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6466         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6467         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6468         * lib/unictype/pr_case_ignorable.h: Likewise.
6469         * lib/unictype/pr_cased.h: Likewise.
6470         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
6471         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
6472         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
6473         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
6474         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
6475         * lib/unictype/pr_combining.h: Likewise.
6476         * lib/unictype/pr_composite.h: Likewise.
6477         * lib/unictype/pr_currency_symbol.h: Likewise.
6478         * lib/unictype/pr_decimal_digit.h: Likewise.
6479         * lib/unictype/pr_deprecated.h: Likewise.
6480         * lib/unictype/pr_format_control.h: Likewise.
6481         * lib/unictype/pr_grapheme_base.h: Likewise.
6482         * lib/unictype/pr_grapheme_extend.h: Likewise.
6483         * lib/unictype/pr_grapheme_link.h: Likewise.
6484         * lib/unictype/pr_id_continue.h: Likewise.
6485         * lib/unictype/pr_id_start.h: Likewise.
6486         * lib/unictype/pr_ideographic.h: Likewise.
6487         * lib/unictype/pr_lowercase.h: Likewise.
6488         * lib/unictype/pr_math.h: Likewise.
6489         * lib/unictype/pr_numeric.h: Likewise.
6490         * lib/unictype/pr_other_alphabetic.h: Likewise.
6491         * lib/unictype/pr_other_id_continue.h: Likewise.
6492         * lib/unictype/pr_other_math.h: Likewise.
6493         * lib/unictype/pr_punctuation.h: Likewise.
6494         * lib/unictype/pr_sentence_terminal.h: Likewise.
6495         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6496         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6497         * lib/unictype/pr_unified_ideograph.h: Likewise.
6498         * lib/unictype/pr_uppercase.h: Likewise.
6499         * lib/unictype/pr_xid_continue.h: Likewise.
6500         * lib/unictype/pr_xid_start.h: Likewise.
6501         * lib/unictype/scripts.h: Likewise.
6502         * lib/unictype/scripts_byname.gperf: Likewise.
6503         * lib/unictype/sy_java_ident.h: Likewise.
6504         * lib/unigbrk/gbrkprop.h: Likewise.
6505         * lib/unilbrk/lbrkprop1.h: Likewise.
6506         * lib/unilbrk/lbrkprop2.h: Likewise.
6507         * lib/uninorm/decomposition-table2.h: Likewise.
6508         * lib/uniwbrk/wbrkprop.h: Likewise.
6509         * tests/unicase/test-cased.c: Likewise.
6510         * tests/unicase/test-ignorable.c: Likewise.
6511         * tests/unicase/test-uc_tolower.c: Likewise.
6512         * tests/unicase/test-uc_totitle.c: Likewise.
6513         * tests/unicase/test-uc_toupper.c: Likewise.
6514         * tests/unictype/test-categ_C.c: Likewise.
6515         * tests/unictype/test-categ_Cn.c: Likewise.
6516         * tests/unictype/test-categ_L.c: Likewise.
6517         * tests/unictype/test-categ_Ll.c: Likewise.
6518         * tests/unictype/test-categ_Lm.c: Likewise.
6519         * tests/unictype/test-categ_Lo.c: Likewise.
6520         * tests/unictype/test-categ_Lu.c: Likewise.
6521         * tests/unictype/test-categ_M.c: Likewise.
6522         * tests/unictype/test-categ_Mc.c: Likewise.
6523         * tests/unictype/test-categ_Me.c: Likewise.
6524         * tests/unictype/test-categ_Mn.c: Likewise.
6525         * tests/unictype/test-categ_N.c: Likewise.
6526         * tests/unictype/test-categ_Nd.c: Likewise.
6527         * tests/unictype/test-categ_No.c: Likewise.
6528         * tests/unictype/test-categ_P.c: Likewise.
6529         * tests/unictype/test-categ_Po.c: Likewise.
6530         * tests/unictype/test-categ_S.c: Likewise.
6531         * tests/unictype/test-categ_Sc.c: Likewise.
6532         * tests/unictype/test-categ_Sk.c: Likewise.
6533         * tests/unictype/test-categ_Sm.c: Likewise.
6534         * tests/unictype/test-categ_So.c: Likewise.
6535         * tests/unictype/test-ctype_alnum.c: Likewise.
6536         * tests/unictype/test-ctype_alpha.c: Likewise.
6537         * tests/unictype/test-ctype_graph.c: Likewise.
6538         * tests/unictype/test-ctype_lower.c: Likewise.
6539         * tests/unictype/test-ctype_print.c: Likewise.
6540         * tests/unictype/test-ctype_punct.c: Likewise.
6541         * tests/unictype/test-ctype_upper.c: Likewise.
6542         * tests/unictype/test-decdigit.h: Likewise.
6543         * tests/unictype/test-digit.h: Likewise.
6544         * tests/unictype/test-numeric.h: Likewise.
6545         * tests/unictype/test-pr_alphabetic.c: Likewise.
6546         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6547         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
6548         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
6549         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6550         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6551         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6552         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6553         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6554         * tests/unictype/test-pr_case_ignorable.c: Likewise.
6555         * tests/unictype/test-pr_cased.c: Likewise.
6556         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
6557         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
6558         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
6559         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
6560         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
6561         * tests/unictype/test-pr_combining.c: Likewise.
6562         * tests/unictype/test-pr_composite.c: Likewise.
6563         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6564         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6565         * tests/unictype/test-pr_deprecated.c: Likewise.
6566         * tests/unictype/test-pr_format_control.c: Likewise.
6567         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6568         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6569         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6570         * tests/unictype/test-pr_id_continue.c: Likewise.
6571         * tests/unictype/test-pr_id_start.c: Likewise.
6572         * tests/unictype/test-pr_ideographic.c: Likewise.
6573         * tests/unictype/test-pr_lowercase.c: Likewise.
6574         * tests/unictype/test-pr_math.c: Likewise.
6575         * tests/unictype/test-pr_numeric.c: Likewise.
6576         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6577         * tests/unictype/test-pr_other_id_continue.c: Likewise.
6578         * tests/unictype/test-pr_other_math.c: Likewise.
6579         * tests/unictype/test-pr_punctuation.c: Likewise.
6580         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6581         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6582         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6583         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6584         * tests/unictype/test-pr_uppercase.c: Likewise.
6585         * tests/unictype/test-pr_xid_continue.c: Likewise.
6586         * tests/unictype/test-pr_xid_start.c: Likewise.
6587         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6588         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6589         changes.
6590         * lib/unictype/categ_Cc.h: Likewise.
6591         * lib/unictype/categ_Cf.h: Likewise.
6592         * lib/unictype/categ_Co.h: Likewise.
6593         * lib/unictype/categ_Cs.h: Likewise.
6594         * lib/unictype/categ_Lt.h: Likewise.
6595         * lib/unictype/categ_Nl.h: Likewise.
6596         * lib/unictype/categ_Pc.h: Likewise.
6597         * lib/unictype/categ_Pd.h: Likewise.
6598         * lib/unictype/categ_Pe.h: Likewise.
6599         * lib/unictype/categ_Pf.h: Likewise.
6600         * lib/unictype/categ_Pi.h: Likewise.
6601         * lib/unictype/categ_Ps.h: Likewise.
6602         * lib/unictype/categ_Z.h: Likewise.
6603         * lib/unictype/categ_Zl.h: Likewise.
6604         * lib/unictype/categ_Zp.h: Likewise.
6605         * lib/unictype/categ_Zs.h: Likewise.
6606         * lib/unictype/ctype_blank.h: Likewise.
6607         * lib/unictype/ctype_cntrl.h: Likewise.
6608         * lib/unictype/ctype_digit.h: Likewise.
6609         * lib/unictype/ctype_space.h: Likewise.
6610         * lib/unictype/ctype_xdigit.h: Likewise.
6611         * lib/unictype/mirror.h: Likewise.
6612         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6613         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6614         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6615         * lib/unictype/pr_bidi_control.h: Likewise.
6616         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6617         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6618         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6619         * lib/unictype/pr_bidi_pdf.h: Likewise.
6620         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6621         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6622         * lib/unictype/pr_dash.h: Likewise.
6623         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6624         * lib/unictype/pr_diacritic.h: Likewise.
6625         * lib/unictype/pr_extender.h: Likewise.
6626         * lib/unictype/pr_hex_digit.h: Likewise.
6627         * lib/unictype/pr_hyphen.h: Likewise.
6628         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6629         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6630         * lib/unictype/pr_ignorable_control.h: Likewise.
6631         * lib/unictype/pr_iso_control.h: Likewise.
6632         * lib/unictype/pr_join_control.h: Likewise.
6633         * lib/unictype/pr_left_of_pair.h: Likewise.
6634         * lib/unictype/pr_line_separator.h: Likewise.
6635         * lib/unictype/pr_logical_order_exception.h: Likewise.
6636         * lib/unictype/pr_non_break.h: Likewise.
6637         * lib/unictype/pr_not_a_character.h: Likewise.
6638         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6639         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6640         * lib/unictype/pr_other_id_start.h: Likewise.
6641         * lib/unictype/pr_other_lowercase.h: Likewise.
6642         * lib/unictype/pr_other_uppercase.h: Likewise.
6643         * lib/unictype/pr_paired_punctuation.h: Likewise.
6644         * lib/unictype/pr_paragraph_separator.h: Likewise.
6645         * lib/unictype/pr_pattern_syntax.h: Likewise.
6646         * lib/unictype/pr_pattern_white_space.h: Likewise.
6647         * lib/unictype/pr_private_use.h: Likewise.
6648         * lib/unictype/pr_quotation_mark.h: Likewise.
6649         * lib/unictype/pr_radical.h: Likewise.
6650         * lib/unictype/pr_soft_dotted.h: Likewise.
6651         * lib/unictype/pr_space.h: Likewise.
6652         * lib/unictype/pr_titlecase.h: Likewise.
6653         * lib/unictype/pr_variation_selector.h: Likewise.
6654         * lib/unictype/pr_white_space.h: Likewise.
6655         * lib/unictype/pr_zero_width.h: Likewise.
6656         * lib/unictype/sy_c_ident.h: Likewise.
6657         * lib/unictype/sy_c_whitespace.h: Likewise.
6658         * lib/unictype/sy_java_whitespace.h: Likewise.
6659         * lib/uninorm/composition-table.gperf: Likewise.
6660         * lib/uninorm/decomposition-table1.h: Likewise.
6661         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
6662         LB8.
6663         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6664         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6665         * modules/unictype/*: Bump version number of expected libunistring
6666         version.
6667
6668 2011-01-09  Bruno Haible  <bruno@clisp.org>
6669
6670         Update to Unicode 5.2.0.
6671         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
6672         trailing whitespace removed.
6673
6674 2011-01-09  Bruno Haible  <bruno@clisp.org>
6675
6676         New Unicode character properties, from Unicode 5.2.0.
6677         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
6678         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
6679         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
6680         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
6681         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
6682         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
6683         uc_is_property_cased, uc_is_property_case_ignorable,
6684         uc_is_property_changes_when_lowercased,
6685         uc_is_property_changes_when_uppercased,
6686         uc_is_property_changes_when_titlecased,
6687         uc_is_property_changes_when_casefolded,
6688         uc_is_property_changes_when_casemapped): New declarations.
6689         * lib/unictype/pr_byname.gperf: Add the new properties.
6690         * modules/unictype/property-byname (Depends-on): Depend on the new
6691         properties modules.
6692         * modules/unictype/property-all (Depends-on): Likewise.
6693         * MODULES.html.sh (Unicode string functions): Add
6694         unictype/property-case-ignorable, unictype/property-cased,
6695         unictype/property-changes-when-casefolded,
6696         unictype/property-changes-when-casemapped,
6697         unictype/property-changes-when-lowercased,
6698         unictype/property-changes-when-titlecased,
6699         unictype/property-changes-when-uppercased.
6700
6701         New module 'unictype/property-changes-when-casemapped'.
6702         * modules/unictype/property-changes-when-casemapped: New file.
6703         * lib/unictype/pr_changes_when_casemapped.c: New file.
6704         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
6705         generated by gen-uni-tables.
6706         * modules/unictype/property-changes-when-casemapped-tests: New file.
6707         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
6708         automatically generated by gen-uni-tables.
6709
6710         New module 'unictype/property-changes-when-casefolded'.
6711         * modules/unictype/property-changes-when-casefolded: New file.
6712         * lib/unictype/pr_changes_when_casefolded.c: New file.
6713         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
6714         generated by gen-uni-tables.
6715         * modules/unictype/property-changes-when-casefolded-tests: New file.
6716         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
6717         automatically generated by gen-uni-tables.
6718
6719         New module 'unictype/property-changes-when-titlecased'.
6720         * modules/unictype/property-changes-when-titlecased: New file.
6721         * lib/unictype/pr_changes_when_titlecased.c: New file.
6722         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
6723         generated by gen-uni-tables.
6724         * modules/unictype/property-changes-when-titlecased-tests: New file.
6725         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
6726         automatically generated by gen-uni-tables.
6727
6728         New module 'unictype/property-changes-when-uppercased'.
6729         * modules/unictype/property-changes-when-uppercased: New file.
6730         * lib/unictype/pr_changes_when_uppercased.c: New file.
6731         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
6732         generated by gen-uni-tables.
6733         * modules/unictype/property-changes-when-uppercased-tests: New file.
6734         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
6735         automatically generated by gen-uni-tables.
6736
6737         New module 'unictype/property-changes-when-lowercased'.
6738         * modules/unictype/property-changes-when-lowercased: New file.
6739         * lib/unictype/pr_changes_when_lowercased.c: New file.
6740         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
6741         generated by gen-uni-tables.
6742         * modules/unictype/property-changes-when-lowercased-tests: New file.
6743         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
6744         automatically generated by gen-uni-tables.
6745
6746         New module 'unictype/property-case-ignorable'.
6747         * modules/unictype/property-case-ignorable: New file.
6748         * lib/unictype/pr_case_ignorable.c: New file.
6749         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
6750         by gen-uni-tables.
6751         * modules/unictype/property-case-ignorable-tests: New file.
6752         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
6753         generated by gen-uni-tables.
6754
6755         New module 'unictype/property-cased'.
6756         * modules/unictype/property-cased: New file.
6757         * lib/unictype/pr_cased.c: New file.
6758         * lib/unictype/pr_cased.h: New file, automatically generated by
6759         gen-uni-tables.
6760         * modules/unictype/property-cased-tests: New file.
6761         * tests/unictype/test-pr_cased.c: New file, automatically generated by
6762         gen-uni-tables.
6763
6764 2011-01-09  Bruno Haible  <bruno@clisp.org>
6765
6766         Update to Unicode 5.2.0.
6767         * lib/gen-uni-tables.c (output_predicate, output_category,
6768         output_combclass, output_bidi_category, output_decimal_digit_test,
6769         output_decimal_digit, output_digit_test, output_digit,
6770         output_numeric_test, output_numeric, output_mirror, output_scripts,
6771         output_scripts_byname, output_blocks, output_ident_category): Fix
6772         comment header.
6773         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
6774         get_wbp.
6775         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
6776         items.
6777         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
6778         Changes_When_Lowercased, Changes_When_Uppercased,
6779         Changes_When_Titlecased, Changes_When_Casefolded,
6780         Changes_When_Casemapped.
6781         (is_property_alphabetic, is_property_default_ignorable_code_point):
6782         Update for Unicode 5.2.0.
6783         (is_property_cased, is_property_case_ignorable,
6784         is_property_changes_when_lowercased,
6785         is_property_changes_when_uppercased,
6786         is_property_changes_when_titlecased,
6787         is_property_changes_when_casefolded,
6788         is_property_changes_when_casemapped): New functions.
6789         (output_properties): Output also the properties cased, case_ignorable,
6790         changes_when_lowercased, changes_when_uppercased,
6791         changes_when_titlecased, changes_when_casefolded,
6792         changes_when_casemapped.
6793         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
6794         Unicode TR#11 revision 17 -> 19.
6795         (LBP_CP): New enumeration value.
6796         (LBP_*): Adjust values accordingly.
6797         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6798         TR#14 revision 22 -> 24.
6799         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
6800         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
6801         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6802         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
6803         is_WBP_MIDLETTER.
6804         (output_composition_tables): Allow for 24 bits instead of 16 bits in
6805         the code1 and code2 of each composition rule.
6806         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
6807         * lib/unicase/ignorable.h: Likewise.
6808         * lib/unicase/tocasefold.h: Likewise.
6809         * lib/unicase/tolower.h: Likewise.
6810         * lib/unicase/totitle.h: Likewise.
6811         * lib/unicase/toupper.h: Likewise.
6812         * lib/unictype/bidi_of.h: Likewise.
6813         * lib/unictype/blocks.h: Likewise.
6814         * lib/unictype/categ_C.h: Likewise.
6815         * lib/unictype/categ_Cf.h: Likewise.
6816         * lib/unictype/categ_Cn.h: Likewise.
6817         * lib/unictype/categ_L.h: Likewise.
6818         * lib/unictype/categ_Ll.h: Likewise.
6819         * lib/unictype/categ_Lm.h: Likewise.
6820         * lib/unictype/categ_Lo.h: Likewise.
6821         * lib/unictype/categ_Lu.h: Likewise.
6822         * lib/unictype/categ_M.h: Likewise.
6823         * lib/unictype/categ_Mc.h: Likewise.
6824         * lib/unictype/categ_Mn.h: Likewise.
6825         * lib/unictype/categ_N.h: Likewise.
6826         * lib/unictype/categ_Nd.h: Likewise.
6827         * lib/unictype/categ_Nl.h: Likewise.
6828         * lib/unictype/categ_No.h: Likewise.
6829         * lib/unictype/categ_P.h: Likewise.
6830         * lib/unictype/categ_Pd.h: Likewise.
6831         * lib/unictype/categ_Po.h: Likewise.
6832         * lib/unictype/categ_S.h: Likewise.
6833         * lib/unictype/categ_Sc.h: Likewise.
6834         * lib/unictype/categ_So.h: Likewise.
6835         * lib/unictype/categ_of.h: Likewise.
6836         * lib/unictype/combining.h: Likewise.
6837         * lib/unictype/ctype_alnum.h: Likewise.
6838         * lib/unictype/ctype_alpha.h: Likewise.
6839         * lib/unictype/ctype_graph.h: Likewise.
6840         * lib/unictype/ctype_lower.h: Likewise.
6841         * lib/unictype/ctype_print.h: Likewise.
6842         * lib/unictype/ctype_punct.h: Likewise.
6843         * lib/unictype/ctype_upper.h: Likewise.
6844         * lib/unictype/decdigit.h: Likewise.
6845         * lib/unictype/digit.h: Likewise.
6846         * lib/unictype/numeric.h: Likewise.
6847         * lib/unictype/pr_alphabetic.h: Likewise.
6848         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6849         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6850         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6851         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6852         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6853         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6854         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6855         * lib/unictype/pr_combining.h: Likewise.
6856         * lib/unictype/pr_composite.h: Likewise.
6857         * lib/unictype/pr_currency_symbol.h: Likewise.
6858         * lib/unictype/pr_dash.h: Likewise.
6859         * lib/unictype/pr_decimal_digit.h: Likewise.
6860         * lib/unictype/pr_deprecated.h: Likewise.
6861         * lib/unictype/pr_diacritic.h: Likewise.
6862         * lib/unictype/pr_extender.h: Likewise.
6863         * lib/unictype/pr_grapheme_base.h: Likewise.
6864         * lib/unictype/pr_grapheme_extend.h: Likewise.
6865         * lib/unictype/pr_grapheme_link.h: Likewise.
6866         * lib/unictype/pr_id_continue.h: Likewise.
6867         * lib/unictype/pr_id_start.h: Likewise.
6868         * lib/unictype/pr_ideographic.h: Likewise.
6869         * lib/unictype/pr_ignorable_control.h: Likewise.
6870         * lib/unictype/pr_logical_order_exception.h: Likewise.
6871         * lib/unictype/pr_lowercase.h: Likewise.
6872         * lib/unictype/pr_numeric.h: Likewise.
6873         * lib/unictype/pr_other_alphabetic.h: Likewise.
6874         * lib/unictype/pr_punctuation.h: Likewise.
6875         * lib/unictype/pr_sentence_terminal.h: Likewise.
6876         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6877         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6878         * lib/unictype/pr_unified_ideograph.h: Likewise.
6879         * lib/unictype/pr_uppercase.h: Likewise.
6880         * lib/unictype/pr_xid_continue.h: Likewise.
6881         * lib/unictype/pr_xid_start.h: Likewise.
6882         * lib/unictype/pr_zero_width.h: Likewise.
6883         * lib/unictype/scripts.h: Likewise.
6884         * lib/unictype/scripts_byname.gperf: Likewise.
6885         * lib/unictype/sy_java_ident.h: Likewise.
6886         * lib/unigbrk/gbrkprop.h: Likewise.
6887         * lib/unilbrk/lbrkprop1.h: Likewise.
6888         * lib/unilbrk/lbrkprop2.h: Likewise.
6889         * lib/unilbrk/lbrktables.h: Likewise.
6890         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
6891         LBP_CP. Implement rule LB30.
6892         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
6893         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
6894         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
6895         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
6896         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
6897         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
6898         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
6899         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
6900         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
6901         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
6902         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
6903         bits instead of 16 bits in the code1 and code2 of each composition
6904         rule.
6905         (uc_composition): Update for Unicode 5.2.0.
6906         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
6907         * lib/uninorm/decomposition-table2.h: Likewise.
6908         * lib/uniwbrk/wbrkprop.h: Likewise.
6909         * tests/unicase/test-cased.c: Likewise.
6910         * tests/unicase/test-ignorable.c: Likewise.
6911         * tests/unicase/test-uc_tolower.c: Likewise.
6912         * tests/unicase/test-uc_totitle.c: Likewise.
6913         * tests/unicase/test-uc_toupper.c: Likewise.
6914         * tests/unictype/test-categ_C.c: Likewise.
6915         * tests/unictype/test-categ_Cf.c: Likewise.
6916         * tests/unictype/test-categ_Cn.c: Likewise.
6917         * tests/unictype/test-categ_L.c: Likewise.
6918         * tests/unictype/test-categ_Ll.c: Likewise.
6919         * tests/unictype/test-categ_Lm.c: Likewise.
6920         * tests/unictype/test-categ_Lo.c: Likewise.
6921         * tests/unictype/test-categ_Lu.c: Likewise.
6922         * tests/unictype/test-categ_M.c: Likewise.
6923         * tests/unictype/test-categ_Mc.c: Likewise.
6924         * tests/unictype/test-categ_Mn.c: Likewise.
6925         * tests/unictype/test-categ_N.c: Likewise.
6926         * tests/unictype/test-categ_Nd.c: Likewise.
6927         * tests/unictype/test-categ_Nl.c: Likewise.
6928         * tests/unictype/test-categ_No.c: Likewise.
6929         * tests/unictype/test-categ_P.c: Likewise.
6930         * tests/unictype/test-categ_Pd.c: Likewise.
6931         * tests/unictype/test-categ_Po.c: Likewise.
6932         * tests/unictype/test-categ_S.c: Likewise.
6933         * tests/unictype/test-categ_Sc.c: Likewise.
6934         * tests/unictype/test-categ_So.c: Likewise.
6935         * tests/unictype/test-ctype_alnum.c: Likewise.
6936         * tests/unictype/test-ctype_alpha.c: Likewise.
6937         * tests/unictype/test-ctype_graph.c: Likewise.
6938         * tests/unictype/test-ctype_lower.c: Likewise.
6939         * tests/unictype/test-ctype_print.c: Likewise.
6940         * tests/unictype/test-ctype_punct.c: Likewise.
6941         * tests/unictype/test-ctype_upper.c: Likewise.
6942         * tests/unictype/test-decdigit.h: Likewise.
6943         * tests/unictype/test-digit.h: Likewise.
6944         * tests/unictype/test-numeric.h: Likewise.
6945         * tests/unictype/test-pr_alphabetic.c: Likewise.
6946         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6947         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6948         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
6949         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6950         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6951         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6952         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6953         * tests/unictype/test-pr_combining.c: Likewise.
6954         * tests/unictype/test-pr_composite.c: Likewise.
6955         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6956         * tests/unictype/test-pr_dash.c: Likewise.
6957         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6958         * tests/unictype/test-pr_deprecated.c: Likewise.
6959         * tests/unictype/test-pr_diacritic.c: Likewise.
6960         * tests/unictype/test-pr_extender.c: Likewise.
6961         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6962         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6963         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6964         * tests/unictype/test-pr_id_continue.c: Likewise.
6965         * tests/unictype/test-pr_id_start.c: Likewise.
6966         * tests/unictype/test-pr_ideographic.c: Likewise.
6967         * tests/unictype/test-pr_ignorable_control.c: Likewise.
6968         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
6969         * tests/unictype/test-pr_lowercase.c: Likewise.
6970         * tests/unictype/test-pr_numeric.c: Likewise.
6971         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6972         * tests/unictype/test-pr_punctuation.c: Likewise.
6973         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6974         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6975         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6976         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6977         * tests/unictype/test-pr_uppercase.c: Likewise.
6978         * tests/unictype/test-pr_xid_continue.c: Likewise.
6979         * tests/unictype/test-pr_xid_start.c: Likewise.
6980         * tests/unictype/test-pr_zero_width.c: Likewise.
6981         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6982         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
6983         changed behaviour: line breaking is now disallowed between a letter
6984         or '=' and '('.
6985         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6986         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6987         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
6988         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
6989         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6990         lib/uniwidth/width.c.
6991         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
6992         without comments, but with the original copyright notice.
6993         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6994         changes.
6995         * lib/unictype/categ_Cc.h: Likewise.
6996         * lib/unictype/categ_Co.h: Likewise.
6997         * lib/unictype/categ_Cs.h: Likewise.
6998         * lib/unictype/categ_Lt.h: Likewise.
6999         * lib/unictype/categ_Me.h: Likewise.
7000         * lib/unictype/categ_Pc.h: Likewise.
7001         * lib/unictype/categ_Pe.h: Likewise.
7002         * lib/unictype/categ_Pf.h: Likewise.
7003         * lib/unictype/categ_Pi.h: Likewise.
7004         * lib/unictype/categ_Ps.h: Likewise.
7005         * lib/unictype/categ_Sk.h: Likewise.
7006         * lib/unictype/categ_Sm.h: Likewise.
7007         * lib/unictype/categ_Z.h: Likewise.
7008         * lib/unictype/categ_Zl.h: Likewise.
7009         * lib/unictype/categ_Zp.h: Likewise.
7010         * lib/unictype/categ_Zs.h: Likewise.
7011         * lib/unictype/ctype_blank.h: Likewise.
7012         * lib/unictype/ctype_cntrl.h: Likewise.
7013         * lib/unictype/ctype_digit.h: Likewise.
7014         * lib/unictype/ctype_space.h: Likewise.
7015         * lib/unictype/ctype_xdigit.h: Likewise.
7016         * lib/unictype/mirror.h: Likewise.
7017         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7018         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7019         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7020         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7021         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7022         * lib/unictype/pr_bidi_control.h: Likewise.
7023         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7024         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7025         * lib/unictype/pr_bidi_pdf.h: Likewise.
7026         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7027         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7028         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7029         * lib/unictype/pr_format_control.h: Likewise.
7030         * lib/unictype/pr_hex_digit.h: Likewise.
7031         * lib/unictype/pr_hyphen.h: Likewise.
7032         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7033         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7034         * lib/unictype/pr_iso_control.h: Likewise.
7035         * lib/unictype/pr_join_control.h: Likewise.
7036         * lib/unictype/pr_left_of_pair.h: Likewise.
7037         * lib/unictype/pr_line_separator.h: Likewise.
7038         * lib/unictype/pr_math.h: Likewise.
7039         * lib/unictype/pr_non_break.h: Likewise.
7040         * lib/unictype/pr_not_a_character.h: Likewise.
7041         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7042         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7043         * lib/unictype/pr_other_id_continue.h: Likewise.
7044         * lib/unictype/pr_other_id_start.h: Likewise.
7045         * lib/unictype/pr_other_lowercase.h: Likewise.
7046         * lib/unictype/pr_other_math.h: Likewise.
7047         * lib/unictype/pr_other_uppercase.h: Likewise.
7048         * lib/unictype/pr_paired_punctuation.h: Likewise.
7049         * lib/unictype/pr_paragraph_separator.h: Likewise.
7050         * lib/unictype/pr_pattern_syntax.h: Likewise.
7051         * lib/unictype/pr_pattern_white_space.h: Likewise.
7052         * lib/unictype/pr_private_use.h: Likewise.
7053         * lib/unictype/pr_quotation_mark.h: Likewise.
7054         * lib/unictype/pr_radical.h: Likewise.
7055         * lib/unictype/pr_soft_dotted.h: Likewise.
7056         * lib/unictype/pr_space.h: Likewise.
7057         * lib/unictype/pr_titlecase.h: Likewise.
7058         * lib/unictype/pr_variation_selector.h: Likewise.
7059         * lib/unictype/pr_white_space.h: Likewise.
7060         * lib/unictype/sy_c_ident.h: Likewise.
7061         * lib/unictype/sy_c_whitespace.h: Likewise.
7062         * lib/unictype/sy_java_whitespace.h: Likewise.
7063         * modules/uni*/*: Bump version number of expected libunistring version.
7064         Reported by Simon Josefsson.
7065
7066 2011-01-09  Karl Heuer  <kwzh@gnu.org>
7067
7068         useless-if-before-free: fix typo in --help and make the internal,
7069         automatic version date update process work once again.
7070         --help output contained a NUL character instead of the
7071         backslash-zero that was intended.  Also, the "must lie within
7072         the first 8 lines" line is on line 9, and hence not getting
7073         automatically updated.
7074         * build-aux/useless-if-before-free: Fix the former by adding a
7075         backslash, and the latter by condensing the three lines of what-it-does
7076         to a single line, leaving one line of slack for the future.
7077
7078 2011-01-09  Bruno Haible  <bruno@clisp.org>
7079
7080         uniwidth/width: Fix width of U+1D173..U+1D17A.
7081         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
7082         symbolic_width, output_width_property_test): New functions.
7083         (main): Invoke output_nonspacing_property, output_width_property_test.
7084         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
7085         U+1D173..U+1D17A.
7086         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
7087         1.
7088         * modules/uniwidth/*: Bump version number of expected libunistring
7089         version.
7090         * modules/unilbrk/*: Likewise.
7091
7092 2011-01-08  Bruno Haible  <bruno@clisp.org>
7093
7094         uninorm tests: Preserve copyright of Unicode data file.
7095         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
7096         Mention modifications.
7097
7098 2011-01-08  Bruno Haible  <bruno@clisp.org>
7099
7100         gen-uni-tables: Prepare for Unicode 5.2.0.
7101         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
7102         (debug_output_lbp, output_lbp): Update.
7103
7104 2011-01-08  Bruno Haible  <bruno@clisp.org>
7105
7106         unilbrk: Clarify gen-uni-tables.c code.
7107         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
7108         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
7109         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
7110
7111 2011-01-07  Bruno Haible  <bruno@clisp.org>
7112
7113         strtod: Restore errno when successfully parsing Infinity or NaN.
7114         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
7115         restore the original errno.
7116
7117 2011-01-07  Bruno Haible  <bruno@clisp.org>
7118
7119         remove test: Avoid failure on HP-UX 11.
7120         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
7121
7122 2011-01-07  Bruno Haible  <bruno@clisp.org>
7123
7124         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
7125         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
7126         error code.
7127
7128 2011-01-07  Pádraig Brady <P@draigBrady.com>
7129
7130         ignore-value: fixup comments, and add Eric Blake
7131         as an author since he rewrote the macros.
7132         * lib/ignore-value.h (ignore_value):  State that
7133         we now support aggregates.  Also specify exactly
7134         when the GCC warn_unused_result feature was added.
7135
7136 2011-01-06  Eric Blake  <eblake@redhat.com>
7137
7138         ignore-value: support aggregate types
7139         * lib/ignore-value.h (ignore_value): Provide separate gcc
7140         definition.
7141         * modules/ignore-value-tests: New test module.
7142         * tests/test-ignore-value.c: New test.
7143
7144         maint.mk: improve sc_prohibit_strcmp regex
7145         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
7146         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
7147         definition of STRNEQ.
7148
7149         signal: work around Haiku issue with SIGBUS
7150         * lib/siglist.h: Add comment.
7151         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
7152         strsignal's favoring of SIGSEGV.
7153         * tests/test-signal.c (main): Avoid test failure.
7154         * doc/posix-headers/signal.texi (signal.h): Document the issue.
7155         Reported by Scott McCreary.
7156
7157         maint.mk: add pre-release check to ensure submodule commits are public
7158         * top/maint.mk (public-submodule-commit): New rule.
7159         (submodule-checks): New variable.
7160         (alpha beta stable): Depend on the variable.
7161
7162 2011-01-05  Pádraig Brady <P@draigBrady.com>
7163         and Jim Meyering  <meyering@redhat.com>
7164
7165         ignore-value: make ignore_value more generic; deprecate ignore_ptr
7166         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
7167         (ATTRIBUTE_DEPRECATED): Define.
7168         (_ignore_case): New function.
7169         (ignore_value): New macro, to replace the old function.
7170         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
7171         * modules/ignore-value (Depends-on): Add stdint.
7172
7173 2011-01-04  Eric Blake  <eblake@redhat.com>
7174
7175         doc: regenerate INSTALL
7176         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
7177         @firstparagraphindent support, now that autoconf dropped it.
7178         (INSTALL_PRELUDE): Reinstate old macro.
7179         * doc/install.texi: Resync from autoconf.
7180         * doc/INSTALL: Reflect recent autoconf update.
7181         * doc/INSTALL.ISO: Likewise.
7182         * doc/INSTALL.UTF-8: Likewise.
7183         Reported by Karl Berry.
7184
7185 2011-01-04  Bruce Korb  <address@hidden>
7186
7187         git-version-gen: avoid a sub-shell
7188         * build-aux/git-version-gen: Redirect stderr in `...` via
7189         "exec 2>...", rather than via an added sub-shell.
7190
7191 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
7192
7193         git-version-gen: use (...) rather than sh -c '...'
7194         * build-aux/git-version-gen: Rather than hard-coding a shell's name
7195         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
7196
7197 2011-01-03  Jim Meyering  <meyering@redhat.com>
7198
7199         git-version-gen: convert leading TABs to spaces
7200         * build-aux/git-version-gen: Expand leading TABs.
7201
7202         git-version-gen: handle failed "git rev-list"
7203         * build-aux/git-version-gen: Rather than leaking a "fatal" error
7204         from git and proceeding as if it had succeeded but printed no SHA1
7205         checksums, suppress the diagnostic and handle the failure.
7206         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
7207
7208         git-version-gen: include command name in one more diagnostic
7209         * build-aux/git-version-gen: When the required .tarball-version file
7210         was missing or unreadable, you might see the diagnostic from "cat",
7211         but no trace of the name of the invoking script.  Now, you still see
7212         the diagnostic from cat, but also get one from "git-version-gen: ".
7213         Inspired by a patch from Bruce Korb.
7214
7215         update-copyright: adjust test to match changed code
7216         * tests/test-update-copyright.sh: Change test's expected output
7217         to match new actual output.
7218
7219 2011-01-02  Bruno Haible  <bruno@clisp.org>
7220
7221         getlogin_r: Avoid test failure on HP-UX 11.
7222         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
7223         ERANGE when the second argument is zero.
7224         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
7225         portability problem.
7226
7227 2011-01-02  Bruce Korb  <bkorb@gnu.org>
7228
7229         * build-aux/update-copyright: doc Simon's changes
7230
7231 2011-01-02  Simon Josefsson  <simon@josefsson.org>
7232
7233         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
7234         environment variable.
7235
7236 2011-01-02  Bruno Haible  <bruno@clisp.org>
7237
7238         unigbrk: Avoid gcc warnings.
7239         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
7240         unused variable.
7241         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
7242         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
7243         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
7244         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
7245         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
7246         Change type of first argument to 'const char *'.
7247         (main): Remove unused variable.
7248         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
7249         type of first argument to 'const char *'.
7250         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
7251         Likewise.
7252         (main): Change type of variable 's'.
7253         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
7254         to 'int'.
7255
7256 2011-01-02  Bruno Haible  <bruno@clisp.org>
7257
7258         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
7259         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
7260         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
7261         bug.
7262         * lib/pwrite.c: Undo 2010-12-31 patch.
7263         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
7264
7265 2011-01-02  Bruno Haible  <bruno@clisp.org>
7266
7267         pread: Fix test whether it works.
7268         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
7269
7270 2011-01-02  Bruno Haible  <bruno@clisp.org>
7271
7272         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
7273         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
7274         ends in "6". Don't require a specific month name. Try also the locale
7275         names found on HP-UX 11 and Solaris 7.
7276
7277 2011-01-02  Bruno Haible  <bruno@clisp.org>
7278
7279         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
7280         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
7281         C linkage.
7282         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
7283
7284 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7285
7286         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
7287         for consistency, since the "cluster" term is not used elsewhere.
7288         * lib/unigbrk.in.h: Update name.
7289         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
7290         * lib/unigbrk/u16-grapheme-next.c: Update name.
7291         * lib/unigbrk/u16-grapheme-prev.c: Update name.
7292         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
7293         * lib/unigbrk/u32-grapheme-next.c: Update name.
7294         * lib/unigbrk/u32-grapheme-prev.c: Update name.
7295         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
7296         * lib/unigbrk/u8-grapheme-next.c: Update name.
7297         * lib/unigbrk/u8-grapheme-prev.c: Update name.
7298         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
7299         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
7300         Suggested by Bruno Haible.
7301
7302 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7303
7304         Remove module 'u8-grapheme-len' as too redundant with
7305         'u8-grapheme-next'.
7306         * modules/unigbrk/u8-grapheme-len: Delete file.
7307         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
7308         * lib/unigbrk.in.h: Remove prototype for deleted function.
7309         * lib/unigbrk/u8-grapheme-len.c: Delete file.
7310         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
7311
7312         Remove module 'u16-grapheme-len' as too redundant with
7313         'u16-grapheme-next'.
7314         * modules/unigbrk/u16-grapheme-len: Delete file.
7315         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
7316         * lib/unigbrk.in.h: Remove prototype for deleted function.
7317         * lib/unigbrk/u16-grapheme-len.c: Delete file.
7318         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
7319
7320         Remove module 'u32-grapheme-len' as too redundant with
7321         'u32-grapheme-next'.
7322         * modules/unigbrk/u32-grapheme-len: Delete file.
7323         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
7324         * lib/unigbrk.in.h: Remove prototype for deleted function.
7325         * lib/unigbrk/u32-grapheme-len.c: Delete file.
7326         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
7327
7328         Suggested by Bruno Haible.
7329
7330 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7331
7332         * unigbrk.in.h: Fix typo: "ben" => "been".
7333         Reported by Bruno Haible.
7334
7335 2011-01-01  Jim Meyering  <meyering@redhat.com>
7336
7337         maint: update almost all copyright ranges to include 2011
7338         Run the new "make update-copyright" rule.
7339
7340 2011-01-01  Jim Meyering  <meyering@redhat.com>
7341
7342         maint: update-copyright: exempt doc/INSTALL*
7343         * Makefile (update-copyright): Also exclude doc/INSTALL*,
7344         since they are generated.  Suggested by Bruno Haible.
7345
7346 2011-01-01  Jim Meyering  <meyering@redhat.com>
7347
7348         maint: refine the update-copyright rule
7349         * Makefile (update-copyright): Also exclude any file that includes
7350         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
7351         code that merely generates the comment.
7352
7353 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7354
7355         New module 'u8-grapheme-len'.
7356         * modules/unigbrk/u8-grapheme-len: New file.
7357         * modules/unigbrk/u8-grapheme-len-tests: New file.
7358         * lib/unigbrk.in.h: Add prototype for new function.
7359         * lib/unigbrk/u8-grapheme-len.c: New file.
7360         * tests/unigbrk/test-u8-grapheme-len.c: New file.
7361
7362         New module 'u16-grapheme-len'.
7363         * modules/unigbrk/u16-grapheme-len: New file.
7364         * modules/unigbrk/u16-grapheme-len-tests: New file.
7365         * lib/unigbrk.in.h: Add prototype for new function.
7366         * lib/unigbrk/u16-grapheme-len.c: New file.
7367         * tests/unigbrk/test-u16-grapheme-len.c: New file.
7368
7369         New module 'u32-grapheme-len'.
7370         * modules/unigbrk/u32-grapheme-len: New file.
7371         * modules/unigbrk/u32-grapheme-len-tests: New file.
7372         * lib/unigbrk.in.h: Add prototype for new function.
7373         * lib/unigbrk/u32-grapheme-len.c: New file.
7374         * tests/unigbrk/test-u32-grapheme-len.c: New file.
7375
7376         New module 'u8-grapheme-next'.
7377         * modules/unigbrk/u8-grapheme-next: New file.
7378         * modules/unigbrk/u8-grapheme-next-tests: New file.
7379         * lib/unigbrk.in.h: Add prototype for new function.
7380         * lib/unigbrk/u8-grapheme-next.c: New file.
7381         * tests/unigbrk/test-u8-grapheme-next.c: New file.
7382
7383         New module 'u16-grapheme-next'.
7384         * modules/unigbrk/u16-grapheme-next: New file.
7385         * modules/unigbrk/u16-grapheme-next-tests: New file.
7386         * lib/unigbrk.in.h: Add prototype for new function.
7387         * lib/unigbrk/u16-grapheme-next.c: New file.
7388         * tests/unigbrk/test-u16-grapheme-next.c: New file.
7389
7390         New module 'u32-grapheme-next'.
7391         * modules/unigbrk/u32-grapheme-next: New file.
7392         * modules/unigbrk/u32-grapheme-next-tests: New file.
7393         * lib/unigbrk.in.h: Add prototype for new function.
7394         * lib/unigbrk/u32-grapheme-next.c: New file.
7395         * tests/unigbrk/test-u32-grapheme-next.c: New file.
7396
7397         New module 'u8-grapheme-prev'.
7398         * modules/unigbrk/u8-grapheme-prev: New file.
7399         * modules/unigbrk/u8-grapheme-prev-tests: New file.
7400         * lib/unigbrk.in.h: Add prototype for new function.
7401         * lib/unigbrk/u8-grapheme-prev.c: New file.
7402         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
7403
7404         New module 'u16-grapheme-prev'.
7405         * modules/unigbrk/u16-grapheme-prev: New file.
7406         * modules/unigbrk/u16-grapheme-prev-tests: New file.
7407         * lib/unigbrk.in.h: Add prototype for new function.
7408         * lib/unigbrk/u16-grapheme-prev.c: New file.
7409         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
7410
7411         New module 'u32-grapheme-prev'.
7412         * modules/unigbrk/u32-grapheme-prev: New file.
7413         * modules/unigbrk/u32-grapheme-prev-tests: New file.
7414         * lib/unigbrk.in.h: Add prototype for new function.
7415         * lib/unigbrk/u32-grapheme-prev.c: New file.
7416         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
7417
7418         New module 'u8-grapheme-breaks'.
7419         * modules/unigbrk/u8-grapheme-breaks: New file.
7420         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
7421         * lib/unigbrk.in.h: Add prototype for new function.
7422         * lib/unigbrk/u8-grapheme-breaks.c: New file.
7423         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
7424
7425         New module 'u16-grapheme-breaks'.
7426         * modules/unigbrk/u16-grapheme-breaks: New file.
7427         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
7428         * lib/unigbrk.in.h: Add prototype for new function.
7429         * lib/unigbrk/u16-grapheme-breaks.c: New file.
7430         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
7431
7432         New module 'u32-grapheme-breaks'.
7433         * modules/unigbrk/u32-grapheme-breaks: New file.
7434         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
7435         * lib/unigbrk.in.h: Add prototype for new function.
7436         * lib/unigbrk/u32-grapheme-breaks.c: New file.
7437         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
7438
7439         New module 'ulc-grapheme-breaks'.
7440         * modules/unigbrk/ulc-grapheme-breaks: New file.
7441         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
7442         * m4/locale-ar.m4: New file.
7443         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
7444         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
7445         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
7446
7447 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7448
7449         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
7450         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
7451         modified how this file was generated before I initially submitted
7452         the module, but failed to regenerate it.  This meant that several
7453         of the level2 entries were wrong.
7454         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
7455         Remove the division-by-2 that is folded into the table now that
7456         gbrkprop.h has been regenerated properly.  Now -1 entries are
7457         handled correctly.
7458
7459         New module 'unigbrk/uc-gbrk-prop-tests'.
7460         * modules/unigbrk/uc-gbrk-prop-tests: New file.
7461         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
7462         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
7463         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
7464
7465 2011-01-01  Bruno Haible  <bruno@clisp.org>
7466
7467         Avoid use of hexadecimal escapes.
7468         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
7469         instead of hexadecimal escapes.
7470
7471 2011-01-01  Jim Meyering  <meyering@redhat.com>
7472
7473         maint: new rule to update copyright year ranges
7474         * Makefile (update-copyright): New rule.
7475
7476         maint: indent with TABs in Makefile
7477         * Makefile: Expand leading sequences of spaces to TABs
7478
7479         version-etc: update the copyright year it reports
7480         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
7481
7482 2010-12-31  Bruno Haible  <bruno@clisp.org>
7483
7484         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
7485         * lib/isfinite.c (zerof, zerod, zerol): New variables.
7486         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
7487         zero.
7488
7489 2010-12-31  Bruno Haible  <bruno@clisp.org>
7490
7491         pwrite: Work around HP-UX 11.11 bug.
7492         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
7493         works and set REPLACE_PWRITE if not.
7494         * lib/pwrite.c (pwrite): Add an implementation that uses the system
7495         function.
7496         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
7497
7498 2010-12-31  Bruno Haible  <bruno@clisp.org>
7499
7500         pread: Work around HP-UX 11 bugs.
7501         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
7502         and set REPLACE_PREAD if not.
7503         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
7504
7505 2010-12-31  Eric Blake  <eblake@redhat.com>
7506
7507         nl_langinfo: fix YESEXPR on Irix 6.5
7508         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
7509         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
7510         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
7511         it.
7512
7513 2010-12-31  Bruno Haible  <bruno@clisp.org>
7514
7515         iconv: Document HP-UX 11 bug.
7516         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
7517
7518 2010-12-31  Bruno Haible  <bruno@clisp.org>
7519
7520         ldexpl: Fix link error on HP-UX 11.
7521         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
7522         LDEXPL_LIBM, using $ISNANL_LIBM.
7523
7524 2010-12-31  Eric Blake  <eblake@redhat.com>
7525
7526         ftello: avoid compilation failure with SunStudio c89
7527         * lib/ftello.c (ftello): Use lseek, not llseek.
7528
7529         tests: avoid failing coreutils tests on cygwin
7530         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
7531         (create_exe_shims_): Return 0 when skipping.
7532
7533 2010-12-31  Bruno Haible  <bruno@clisp.org>
7534
7535         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
7536         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
7537
7538 2010-12-31  Bruno Haible  <bruno@clisp.org>
7539
7540         waitpid: Fix link error in C++ mode.
7541         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
7542
7543 2010-12-31  Bruno Haible  <bruno@clisp.org>
7544
7545         isnan: Use GCC built-ins when possible.
7546         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
7547         __builtin_isnan.
7548         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
7549         (isnan): Define using GCC built-ins for GCC >= 4.0.
7550
7551 2010-12-31  Bruno Haible  <bruno@clisp.org>
7552
7553         isnand: Fix mistake.
7554         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
7555         __builtin_isnand.
7556
7557 2010-12-31  Bruno Haible  <bruno@clisp.org>
7558
7559         open: Avoid C++ error on HP-UX 11.
7560         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
7561
7562 2010-12-31  Bruno Haible  <bruno@clisp.org>
7563
7564         time_r: Add missing declarations on HP-UX 11.
7565         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
7566         instead of HAVE_LOCALTIME_R.
7567         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
7568         HAVE_LOCALTIME_R always.
7569         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
7570         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
7571         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
7572         HAVE_LOCALTIME_R.
7573         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
7574         * doc/posix-functions/localtime_r.texi: Likewise.
7575
7576 2010-12-29  Eric Blake  <eblake@redhat.com>
7577
7578         mountlist: tweak previous commit
7579         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
7580         Reported by Paul Eggert.
7581
7582         mountlist: fix local drive detection on cygwin
7583         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
7584         that works for cygwin.
7585
7586 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7587
7588         ftoastr, snprintf: ftoastr + snprintf module
7589         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
7590         since the snprintf module now should be good enough here.
7591         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
7592         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
7593         and gl_MODULE_INDICATOR([snprintf]), but the former enables
7594         GNULIB_SNPRINTF only for the test directory, and the latter
7595         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
7596         seems to suffice by itself.
7597
7598 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7599
7600         alloca: one step towards thread-safety
7601         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7602         need for a static variable.  All callers changed.  This does not
7603         make the alloca replacement thread-safe, but it's one step.
7604
7605         tests: minor indenting change
7606         * tests/init.sh: Sync from coreutils housekeeping patch
7607         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7608         to keep lines within 80 columns.
7609
7610 2010-12-28  Jim Meyering  <meyering@redhat.com>
7611
7612         regex: don't infloop on persistent failing calloc
7613         * lib/regexec.c (build_trtable): Return failure indication upon
7614         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7615         In glibc, this was fixed for version 2.13:
7616         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7617
7618 2010-12-28  Bruno Haible  <bruno@clisp.org>
7619             Paul Eggert <eggert@cs.ucla.edu>
7620
7621         linkat: Make implementation robust against system behaviour variations.
7622         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7623         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7624         way, and to -2 if it needs a generic runtime test.
7625         * lib/linkat.c (solaris_optimized_link_immediate,
7626         solaris_optimized_link_follow): New functions.
7627         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7628         (check_same_link): Use it.
7629
7630 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
7631
7632         New module 'unigbrk/base'.
7633         * modules/unigbrk/base: New file.
7634         * lib/unigbrk.in.h: New file.
7635
7636         New module 'unigbrk/uc-gbrk-prop'.
7637         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
7638         * modules/unigbrk/uc-gbrk-prop: New file.
7639         * lib/unigbrk/gbrkprop.h: New file.
7640         * lib/unigbrk/uc-gbrk-prop.c: New file.
7641
7642         New module 'unigbrk/uc-is-grapheme-break'.
7643         * modules/unigbrk/uc-is-grapheme-break: New file.
7644         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
7645         * lib/unigbrk/uc-is-grapheme-break.c: New file.
7646         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
7647         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
7648         * tests/unigbrk/GraphemeBreakTest.txt: New file.
7649
7650         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
7651
7652 2010-12-27  Bruno Haible  <bruno@clisp.org>
7653
7654         linkat test: Avoid failure on Solaris 11 2010-11.
7655         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
7656
7657 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7658
7659         utimens: work around glibc rounding bug on more platforms
7660         * lib/utimens.c (fdutimens): Work around rounding bug even if
7661         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
7662         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
7663
7664 2010-12-27  Bruno Haible  <bruno@clisp.org>
7665
7666         select tests: Improve comments.
7667         * tests/test-select.c (do_select): Add comments.
7668
7669 2010-12-27  Bruno Haible  <bruno@clisp.org>
7670
7671         select tests: Safer way of handling timeout.
7672         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
7673         at every invocation.
7674
7675 2010-12-27  Bruno Haible  <bruno@clisp.org>
7676
7677         select tests: Use 'bool' where appropriate.
7678         * tests/test-select.c (connect_to_socket): Change argument type to
7679         'bool'.
7680
7681 2010-12-27  Bruno Haible  <bruno@clisp.org>
7682
7683         select tests: Use existing modules.
7684         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
7685         (configure.ac): Don't test for unistd.h.
7686         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
7687         declared in <unistd.h>.
7688
7689 2010-12-27  Bruno Haible  <bruno@clisp.org>
7690
7691         mbrtowc: Work around a Solaris 7 bug.
7692         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
7693         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
7694         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
7695         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
7696         MBRTOWC_NULL_ARG1_BUG.
7697         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
7698         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
7699         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
7700         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
7701
7702 2010-12-27  Jim Meyering  <meyering@redhat.com>
7703
7704         read-file.c: tweak syntax
7705         * lib/read-file.c (fread_file): Remove space after "*" in function
7706         definitions.
7707
7708 2010-12-27  Bruno Haible  <bruno@clisp.org>
7709
7710         times test: Avoid gcc warnings on OSF/1.
7711         * tests/test-times.c (main): Cast printf arguments from clock_t to
7712         'long int'.
7713
7714 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7715
7716         utimens: work around glibc rounding bug on older Linux kernels
7717         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
7718         on Linux with a glibc whose utimes might not work, then work
7719         around a longstanding glibc bug involving rounding rather than
7720         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
7721         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7722
7723 2010-12-26  Bruno Haible  <bruno@clisp.org>
7724
7725         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
7726         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
7727         _GL_CXXALIAS_SYS.
7728         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7729
7730 2010-12-26  Bruno Haible  <bruno@clisp.org>
7731
7732         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
7733         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
7734         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7735         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
7736         looking for the declaration.
7737         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7738         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
7739         problem.
7740         * doc/posix-functions/inet_pton.texi: Likewise.
7741
7742 2010-12-26  Bruno Haible  <bruno@clisp.org>
7743
7744         arpa_inet: Use the common idioms with C++ support.
7745         * lib/arpa_inet.in.h: Include c++defs.h.
7746         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
7747         support.
7748         * modules/arpa_inet (Depends-on): Add c++defs.
7749         (Makefile.am): Substitute the contents of c++defs.h.
7750         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
7751         * modules/arpa_inet-c++-tests: New file.
7752         * tests/test-arpa_inet-c++.cc: New file.
7753
7754 2010-12-25  Bruno Haible  <bruno@clisp.org>
7755
7756         Fix more C++ link errors on Solaris 8.
7757         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
7758         $(LIB_EACCESS).
7759         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
7760         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
7761         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
7762         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
7763         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
7764
7765 2010-12-25  Bruno Haible  <bruno@clisp.org>
7766
7767         printf-posix: Fix link error when a non-GCC compiler is used.
7768         * lib/stdio.in.h (printf): When not using GCC, override printf
7769         correctly.
7770         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7771
7772 2010-12-25  Bruno Haible  <bruno@clisp.org>
7773
7774         strerror_r-posix: Update doc.
7775         * doc/posix-functions/strerror_r.texi: Update doc about the return
7776         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
7777
7778 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7779
7780         utimens: simplify the logic of the previous change
7781         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
7782         This should not affect whether the test succeeds or fails.
7783
7784         utimens: configure better on hosts with NFS clock skew
7785         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
7786         uses the clock of the local host.  It might use the clock of the
7787         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
7788         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7789
7790 2010-12-25  Bruno Haible  <bruno@clisp.org>
7791
7792         ptsname test: Avoid failure on Solaris.
7793         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
7794         open a pseudo-terminal; don't use BSD-style ptys.
7795         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
7796
7797 2010-12-25  Bruno Haible  <bruno@clisp.org>
7798
7799         ptsname: Avoid ERANGE failure on some systems.
7800         * lib/ptsname.c (buffer): Increase size.
7801
7802 2010-12-25  Bruno Haible  <bruno@clisp.org>
7803
7804         rename, renameat: Avoid test failures at NFS mounted locations.
7805         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
7806         so that subsequent mkdir calls succeed.
7807
7808 2010-12-25  Bruno Haible  <bruno@clisp.org>
7809
7810         iswblank: Fix C++ link error on Solaris 8.
7811         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
7812         _GL_FUNCDECL_SYS.
7813
7814 2010-12-25  Bruno Haible  <bruno@clisp.org>
7815
7816         unistd: Fix C++ link error on Solaris 8.
7817         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
7818
7819 2010-12-25  Bruno Haible  <bruno@clisp.org>
7820
7821         readlink doc: Mention an old glibc bug.
7822         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
7823
7824 2010-12-25  Bruno Haible  <bruno@clisp.org>
7825
7826         fcntl-h: Fix for use of C++ on glibc systems.
7827         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7828         also on glibc systems in C++ mode.
7829         Reported by Gary V. Vaughan <gary@gnu.org>.
7830
7831 2010-12-25  Bruno Haible  <bruno@clisp.org>
7832
7833         roundl-ieee: Make it work on OSF/1 5.1 with cc.
7834         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
7835
7836 2010-12-25  Bruno Haible  <bruno@clisp.org>
7837
7838         truncl-ieee: Make it work on OSF/1 5.1 with cc.
7839         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
7840         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
7841         test whether truncl works according to ISO C 99 with IEC 60559.
7842         * m4/truncl-ieee.m4: New file.
7843         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
7844         m4/signbit.m4.
7845         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
7846
7847 2010-12-25  Bruno Haible  <bruno@clisp.org>
7848
7849         ceill-ieee: Make it work on OSF/1 5.1 with cc.
7850         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
7851         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
7852         test whether ceill works according to ISO C 99 with IEC 60559.
7853         * m4/ceill-ieee.m4: New file.
7854         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
7855         m4/signbit.m4.
7856         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
7857
7858 2010-12-25  Bruno Haible  <bruno@clisp.org>
7859
7860         Ensure all prerequisites of <wchar.h> are included.
7861         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
7862         before <wchar.h>.
7863         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
7864         gl_MBRLEN_NUL_RETVAL): Likewise.
7865         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
7866         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
7867         AC_FUNC_MBRTOWC): Likewise.
7868         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7869         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
7870         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7871         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
7872         Likewise.
7873         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7874         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
7875         (gl_WCHAR_H): Improve comments.
7876         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7877
7878 2010-12-25  Bruno Haible  <bruno@clisp.org>
7879
7880         strtok_r: Fix C syntax error in autoconf macro.
7881         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
7882         characters in test program.
7883
7884 2010-12-24  Bruno Haible  <bruno@clisp.org>
7885
7886         ceil, trunc, round: Fix gcc warnings.
7887         * lib/ceil.c (MIN): Undefine before redefining.
7888         * lib/trunc.c (MIN): Likewise.
7889         * lib/round.c (MIN): Likewise.
7890         Include <math.h> first.
7891
7892 2010-12-24  Bruno Haible  <bruno@clisp.org>
7893
7894         select tests: Avoid failures on OSF/1 5.1.
7895         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
7896         failure of closing the last socket; it may fail with ECONNRESET.
7897
7898 2010-12-24  Eric Blake  <eblake@redhat.com>
7899
7900         stdint: avoid HP-UX 10.20 preprocessor bug
7901         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
7902         than #if.
7903         * tests/test-floor2.c (main): Likewise.
7904         Reported by Peter O'Gorman.
7905
7906         pipe: make obsoletion transition easier
7907         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
7908         * modules/pipe (Files): Include revived file.
7909         (Include): Drop reference, to mirror getdate's behavior.
7910
7911 2010-12-24  Bruno Haible  <bruno@clisp.org>
7912
7913         sys_socket: Hide mismatch of declarations on NonStop Kernel.
7914         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
7915         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
7916         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7917
7918 2010-12-24  Bruno Haible  <bruno@clisp.org>
7919
7920         gethostname: Ensure declaration on NonStop Kernel.
7921         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
7922         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7923
7924 2010-12-24  Bruno Haible  <bruno@clisp.org>
7925
7926         sys_select: Ensure all necessary types on NonStop Kernel.
7927         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
7928         include <sys/time.h>.
7929         * doc/posix-headers/sys_select.texi: Mention that it's missing on
7930         NonStop Kernel.
7931         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7932
7933 2010-12-24  Bruno Haible  <bruno@clisp.org>
7934
7935         sys_select: Remove unneeded include.
7936         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
7937         have <sys/select.h>.
7938
7939 2010-12-24  Bruno Haible  <bruno@clisp.org>
7940
7941         gethostname: Provide a fallback for HOST_NAME_MAX.
7942         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
7943         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
7944         instead.
7945         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7946
7947 2010-12-24  Bruno Haible  <bruno@clisp.org>
7948
7949         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
7950         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
7951         (SA_RESTART): Likewise.
7952         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7953
7954 2010-12-24  Bruno Haible  <bruno@clisp.org>
7955
7956         signal: Define NSIG.
7957         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
7958         * tests/test-signal.c (nsig): New variable.
7959         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7960
7961 2010-12-24  Bruno Haible  <bruno@clisp.org>
7962
7963         rename, renameat: Avoid test failures on OSF/1 5.1.
7964         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
7965         alternative error codes.
7966         * tests/test-renameat.c (main): Likewise.
7967
7968 2010-12-24  Bruno Haible  <bruno@clisp.org>
7969
7970         *printf: Detect large precisions bug on Solaris 10/SPARC.
7971         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
7972         by Paul Eggert.
7973         * tests/test-snprintf-posix.h (test_function): Add this test code here
7974         too.
7975         * tests/test-sprintf-posix.h (test_function): Likewise.
7976         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7977         * tests/test-vasprintf-posix.c (test_function): Likewise.
7978         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
7979         around by gnulib.
7980         * doc/posix-functions/printf.texi: Likewise.
7981         * doc/posix-functions/snprintf.texi: Likewise.
7982         * doc/posix-functions/sprintf.texi: Likewise.
7983         * doc/posix-functions/vfprintf.texi: Likewise.
7984         * doc/posix-functions/vprintf.texi: Likewise.
7985         * doc/posix-functions/vsnprintf.texi: Likewise.
7986         * doc/posix-functions/vsprintf.texi: Likewise.
7987         * doc/posix-functions/dprintf.texi: Undo last commit.
7988         * doc/posix-functions/vdprintf.texi: Likewise.
7989
7990 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7991
7992         tests: port test-fdutimensat.c to Solaris 8
7993         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
7994         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
7995         On Solaris 8, it fails with errno == ENOSYS, because there is no
7996         futimens (so it can't use the fd), and there is no lutimens (so it
7997         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
7998
7999         vsnprintf: make more consistent with snprintf; doc fixes
8000
8001         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
8002         the byte count return problem was promoted from the snprintf-posix
8003         to the snprintf module.
8004         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8005         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
8006         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
8007         * tests/test-snprintf.c (main): Check the byte count returned.
8008         * tests/test-vsnprintf.c (main): Likewise.
8009
8010 2010-12-23  Eric Blake  <eblake@redhat.com>
8011
8012         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
8013         * modules/sigpipe (License): Relax license.
8014
8015 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8016
8017         doc: document Solaris printf bug with large float precisions
8018         * doc/posix-functions/dprintf.texi (dprintf):
8019         * doc/posix-functions/fprintf.texi (fprintf):
8020         * doc/posix-functions/printf.texi (printf):
8021         * doc/posix-functions/snprintf.texi (snprintf):
8022         * doc/posix-functions/sprintf.texi (sprintf):
8023         * doc/posix-functions/vdprintf.texi (vdprintf):
8024         * doc/posix-functions/vfprintf.texi (vfprintf):
8025         * doc/posix-functions/vprintf.texi (vprintf):
8026         * doc/posix-functions/vsnprintf.texi (vsnprintf):
8027         * doc/posix-functions/vsprintf.texi (vsprintf):
8028         Mention that these functions mishandle large floating point
8029         precisions on Solaris 10.  The same bug is also present in Solaris
8030         8, and I assume earlier.  This causes "cd gnulib-tests; make
8031         check" to fail on Solaris 8 (and I assume, later) when building
8032         the latest coreutils, in test-vasprintf-posix's call to
8033         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
8034         the wide flavors (e.g., wprintf) so this patch just updates the
8035         documentation for the narrow ones.
8036
8037         test-posixtm.c: add two tests
8038         * tests/test-posixtm.c: Add two tests, to highlight the
8039         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
8040         around this bug; this is merely to document it.
8041
8042 2010-12-22  Bruno Haible  <bruno@clisp.org>
8043
8044         getlogin_r: Work around portability problem on OSF/1.
8045         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
8046         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
8047         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
8048         test for a truncated result.
8049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
8050         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
8051         * modules/getlogin_r (Depends-on): Add memchr.
8052         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
8053
8054 2010-12-22  Bruno Haible  <bruno@clisp.org>
8055
8056         ptsname: Avoid test failure on OSF/1 5.1.
8057         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
8058         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
8059         (same_slave): New function.
8060         (main): Use it to compare ptsname's result with the expected file name.
8061
8062 2010-12-22  Bruno Haible  <bruno@clisp.org>
8063
8064         Port extended stdio modules to HP NonStop Kernel.
8065         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
8066         macros.
8067         * lib/fbufmode.c: Update comments.
8068         * lib/fflush.c: Likewise.
8069         * lib/fpurge.c: Likewise.
8070         * lib/freadable.c: Likewise.
8071         * lib/freadahead.c: Likewise.
8072         * lib/freading.c: Likewise.
8073         * lib/freadptr.c: Likewise.
8074         * lib/freadseek.c: Likewise.
8075         * lib/fseeko.c: Likewise.
8076         * lib/fseterr.c: Likewise.
8077         * lib/fwritable.c: Likewise.
8078         * lib/fwriting.c: Likewise.
8079         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8080
8081 2010-12-22  Bruno Haible  <bruno@clisp.org>
8082
8083         ttyname_r: Work around bug on OSF/1 5.1.
8084         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
8085         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
8086         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
8087         present.
8088         * lib/ttyname_r.c (ttyname_r): Update comments.
8089
8090 2010-12-22  Bruno Haible  <bruno@clisp.org>
8091
8092         round: Implement result sign according to IEEE 754.
8093         * lib/round.c (MIN, MINUS_ZERO): New macros.
8094         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
8095         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
8096         * tests/test-round-ieee.c (main): Likewise.
8097         * tests/test-roundl-ieee.c (main): Likewise.
8098
8099         trunc: Implement result sign according to IEEE 754.
8100         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
8101         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
8102         * tests/test-trunc2.c: Include minus-zero.h.
8103         (MINUS_ZERO): New macro.
8104         (trunc_reference): Keep in sync with lib/trunc.c.
8105         * tests/test-truncf2.c: Include minus-zero.h.
8106         (MINUS_ZERO): New macro.
8107         (truncf_reference): Keep in sync with lib/trunc.c.
8108         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
8109         * tests/test-trunc-ieee.c (main): Likewise.
8110         * tests/test-truncl-ieee.c (main): Likewise.
8111
8112         ceil: Implement result sign according to IEEE 754.
8113         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
8114         (FUNC): Return -0.0 for -1 < x < 0.
8115         * tests/test-ceil2.c: Include minus-zero.h.
8116         (MINUS_ZERO): New macro.
8117         (ceil_reference): Keep in sync with lib/ceil.c.
8118         * tests/test-ceilf2.c: Include minus-zero.h.
8119         (MINUS_ZERO): New macro.
8120         (ceilf_reference): Keep in sync with lib/ceil.c.
8121         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
8122         * tests/test-ceil-ieee.c (main): Likewise.
8123         * tests/test-ceill-ieee.c (main): Likewise.
8124
8125         floor: Implement result sign according to IEEE 754.
8126         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
8127         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
8128         * tests/test-floorf2.c (floorf_reference): Likewise.
8129         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
8130         * tests/test-floor-ieee.c (main): Likewise.
8131         * tests/test-floorl-ieee.c (main): Likewise.
8132
8133 2010-12-22  Bruno Haible  <bruno@clisp.org>
8134
8135         getaddrinfo: Update doc.
8136         * doc/posix-functions/gai_strerror.texi: Return type is also different
8137         on AIX and HP-UX.
8138
8139 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8140
8141         getaddrinfo, inet_ntop: Update doc for Solaris.
8142         * doc/posix-functions/gai_strerror.texi: Return type is also an
8143         issue on Solaris 9 and earlier.
8144         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
8145         on Solaris 10 and earlier.
8146
8147 2010-12-21  Bruno Haible  <bruno@clisp.org>
8148
8149         New module 'roundl-ieee'.
8150         * modules/roundl-ieee: New file.
8151         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
8152         test whether roundl works according to ISO C 99 with IEC 60559.
8153         * m4/roundl-ieee.m4: New file.
8154         * modules/roundl-ieee-tests: New file.
8155         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
8156         * tests/test-roundl.c (main): Remove signbit tests.
8157         * modules/roundl-tests (Depends-on): Remove signbit.
8158         * doc/posix-functions/roundl.texi: Mention the new module.
8159
8160 2010-12-21  Bruno Haible  <bruno@clisp.org>
8161
8162         New module 'truncl-ieee'.
8163         * modules/truncl-ieee: New file.
8164         * modules/truncl-ieee-tests: New file.
8165         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
8166         * tests/test-truncl.c (main): Remove signbit tests.
8167         * modules/truncl-tests (Depends-on): Remove signbit.
8168         * doc/posix-functions/truncl.texi: Mention the new module.
8169
8170 2010-12-21  Bruno Haible  <bruno@clisp.org>
8171
8172         New module 'ceill-ieee'.
8173         * modules/ceill-ieee: New file.
8174         * modules/ceill-ieee-tests: New file.
8175         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
8176         * tests/test-ceill.c (main): Remove signbit tests.
8177         * modules/ceill-tests (Depends-on): Remove signbit.
8178         * doc/posix-functions/ceill.texi: Mention the new module.
8179
8180 2010-12-21  Bruno Haible  <bruno@clisp.org>
8181
8182         New module 'floorl-ieee'.
8183         * modules/floorl-ieee: New file.
8184         * modules/floorl-ieee-tests: New file.
8185         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
8186         * tests/test-floorl.c (main): Remove signbit tests.
8187         * modules/floorl-tests (Depends-on): Remove signbit.
8188         * doc/posix-functions/floorl.texi: Mention the new module.
8189
8190 2010-12-21  Bruno Haible  <bruno@clisp.org>
8191
8192         New module 'round-ieee'.
8193         * modules/round-ieee: New file.
8194         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
8195         whether round works according to ISO C 99 with IEC 60559.
8196         * m4/round-ieee.m4: New file.
8197         * modules/round-ieee-tests: New file.
8198         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
8199         * tests/test-round1.c (main): Remove signbit tests.
8200         * modules/round-tests (Depends-on): Remove 'signbit'.
8201         * doc/posix-functions/round.texi: Mention the new module.
8202
8203 2010-12-21  Bruno Haible  <bruno@clisp.org>
8204
8205         New module 'trunc-ieee'.
8206         * modules/trunc-ieee: New file.
8207         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
8208         whether trunc works according to ISO C 99 with IEC 60559.
8209         * m4/trunc-ieee.m4: New file.
8210         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
8211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
8212         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
8213         * modules/trunc-ieee-tests: New file.
8214         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
8215         * tests/test-trunc1.c (main): Remove signbit tests.
8216         * modules/trunc-tests (Depends-on): Remove 'signbit'.
8217         * doc/posix-functions/trunc.texi: Mention the new module.
8218
8219 2010-12-21  Bruno Haible  <bruno@clisp.org>
8220
8221         New module 'ceil-ieee'.
8222         * modules/ceil-ieee: New file.
8223         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
8224         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
8225         ISO C 99 with IEC 60559.
8226         * m4/ceil-ieee.m4: New file.
8227         * modules/ceil (Files): Add lib/ceil.c.
8228         (Depends-on): Add 'float'.
8229         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8230         * lib/math.in.h (ceil): New declaration.
8231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
8232         REPLACE_CEIL.
8233         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
8234         * modules/ceil-ieee-tests: New file.
8235         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
8236         * tests/test-math-c++.cc: Check the signature of 'ceil'.
8237         * doc/posix-functions/ceil.texi: Mention the new module.
8238
8239 2010-12-21  Bruno Haible  <bruno@clisp.org>
8240
8241         New module 'floor-ieee'.
8242         * modules/floor-ieee: New file.
8243         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
8244         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
8245         ISO C 99 with IEC 60559.
8246         * m4/floor-ieee.m4: New file.
8247         * modules/floor (Files): Add lib/floor.c.
8248         (Depends-on): Add 'float'.
8249         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8250         * lib/math.in.h (floor): New declaration.
8251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
8252         REPLACE_FLOOR.
8253         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
8254         * modules/floor-ieee-tests: New file.
8255         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
8256         * tests/test-math-c++.cc: Check the signature of 'floor'.
8257         * doc/posix-functions/floor.texi: Mention the new module.
8258
8259 2010-12-21  Bruno Haible  <bruno@clisp.org>
8260
8261         New module 'roundf-ieee'.
8262         * modules/roundf-ieee: New file.
8263         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
8264         test whether roundf works according to ISO C 99 with IEC 60559.
8265         * m4/roundf-ieee.m4: New file.
8266         * modules/roundf-ieee-tests: New file.
8267         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
8268         * tests/test-roundf1.c (main): Remove signbit tests.
8269         * modules/roundf-tests (Depends-on): Remove 'signbit'.
8270         * doc/posix-functions/roundf.texi: Mention the new module.
8271
8272 2010-12-21  Bruno Haible  <bruno@clisp.org>
8273
8274         New module 'truncf-ieee'.
8275         * modules/truncf-ieee: New file.
8276         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
8277         test whether truncf works according to ISO C 99 with IEC 60559.
8278         * m4/truncf-ieee.m4: New file.
8279         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
8280         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
8281         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
8282         * modules/truncf-ieee-tests: New file.
8283         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
8284         * tests/test-truncf1.c (main): Remove signbit tests.
8285         * modules/truncf-tests (Depends-on): Remove 'signbit'.
8286         * doc/posix-functions/truncf.texi: Mention the new module.
8287
8288 2010-12-21  Bruno Haible  <bruno@clisp.org>
8289
8290         New module 'ceilf-ieee'.
8291         * modules/ceilf-ieee: New file.
8292         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
8293         test whether ceilf works according to ISO C 99 with IEC 60559.
8294         * m4/ceilf-ieee.m4: New file.
8295         * modules/ceilf-ieee-tests: New file.
8296         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
8297         * tests/test-ceilf1.c (main): Remove signbit tests.
8298         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
8299         * doc/posix-functions/ceilf.texi: Mention the new module.
8300
8301 2010-12-21  Bruno Haible  <bruno@clisp.org>
8302
8303         New module 'floorf-ieee'.
8304         * modules/floorf-ieee: New file.
8305         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
8306         test whether floorf works according to ISO C 99 with IEC 60559.
8307         * m4/floorf-ieee.m4: New file.
8308         * modules/floorf-ieee-tests: New file.
8309         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
8310         * tests/test-floorf1.c (main): Remove signbit tests.
8311         * modules/floorf-tests (Depends-on): Remove 'signbit'.
8312         * doc/posix-functions/floorf.texi: Mention the new module.
8313
8314 2010-12-21  Bruno Haible  <bruno@clisp.org>
8315
8316         Support for minus zero in autoconf macros.
8317         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
8318         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
8319         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
8320         * tests/minus-zero.h: Update comments.
8321
8322 2010-12-21  Bruno Haible  <bruno@clisp.org>
8323
8324         Tests for module 'ceil'.
8325         * modules/ceil-tests: New file.
8326         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
8327         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
8328
8329 2010-12-21  Bruno Haible  <bruno@clisp.org>
8330
8331         Tests for module 'floor'.
8332         * modules/floor-tests: New file.
8333         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
8334         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
8335
8336 2010-12-21  Bruno Haible  <bruno@clisp.org>
8337
8338         math: Fix indentation.
8339         * lib/math.in.h (floorf): Fix indentation.
8340
8341 2010-12-21  Bruno Haible  <bruno@clisp.org>
8342
8343         Fix cross-compilation guesses on Solaris.
8344         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
8345         not match "solaris2.10".
8346         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8347         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
8348         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8349
8350 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
8353         This fixes a problem observed with the latest coreutils snapshot
8354         that caused a test to fail on Solaris 8.  src/csplit.c's call
8355         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
8356         earlier, instead of returning the number of bytes that would have
8357         been generated; this causes csplit to incorrectly report memory
8358         exhaustion.
8359         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
8360         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
8361         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
8362         comments to match.
8363         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
8364         Fix typo in matching older versions of Solaris: "solaris2.10"
8365         is matched by the shell pattern "solaris2.[0-9]*".  This matters
8366         only for guessing while cross-compiling.
8367         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
8368
8369 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
8370
8371         ftoastr: fix comment again
8372         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8373         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
8374         Also, simplify example a bit by using flags = 0.
8375
8376 2010-12-20  Bruno Haible  <bruno@clisp.org>
8377
8378         round*, trunc*: Update documentation regarding glibc.
8379         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
8380         * doc/posix-functions/round.texi: Likewise.
8381         * doc/posix-functions/roundl.texi: Likewise.
8382         * doc/posix-functions/truncf.texi: Likewise.
8383         * doc/posix-functions/trunc.texi: Likewise.
8384         * doc/posix-functions/truncl.texi: Likewise.
8385
8386 2010-12-20  Bruno Haible  <bruno@clisp.org>
8387
8388         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
8389         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
8390         * doc/posix-functions/round.texi: Likewise.
8391         * doc/posix-functions/roundl.texi: Likewise.
8392
8393 2010-12-20  Bruno Haible  <bruno@clisp.org>
8394
8395         ttyname_r: Add missing declaration on HP-UX 11.
8396         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
8397         HAVE_TTYNAME_R.
8398         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
8399         declared. Set HAVE_TTYNAME_R always.
8400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8401         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
8402         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
8403         HAVE_TTYNAME_R.
8404         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
8405
8406 2010-12-20  Bruno Haible  <bruno@clisp.org>
8407
8408         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
8409         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
8410         * doc/posix-functions/getlogin_r.texi: Likewise.
8411         * tests/test-getlogin.c: Include <errno.h>.
8412         (main): Avoid test failure on HP-UX 11.11.
8413         * tests/test-getlogin_r.c (main): Likewise.
8414
8415 2010-12-20  Bruno Haible  <bruno@clisp.org>
8416
8417         getlogin_r: Add missing declaration on HP-UX 11.
8418         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
8419         declared also when it exists as a function.
8420         * doc/posix-functions/getlogin_r.texi: Document this workaround.
8421
8422 2010-12-20  Bruno Haible  <bruno@clisp.org>
8423
8424         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
8425         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
8426         through wcrtomb.
8427
8428 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8429
8430         ftoastr: fix comment
8431         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8432         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
8433
8434 2010-12-19  Bruno Haible  <bruno@clisp.org>
8435
8436         isnan: Ensure it is a macro.
8437         * lib/math.in.h (isnan): Define as a macro if not already a macro.
8438         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
8439         Solaris.
8440
8441 2010-12-19  Bruno Haible  <bruno@clisp.org>
8442
8443         ldexpl test: Fix link error on OSF/1 5.1.
8444         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
8445
8446 2010-12-19  Bruno Haible  <bruno@clisp.org>
8447
8448         wctype: Make it work in C++ mode on OSF/1 5.1.
8449         * lib/wctype.in.h (iswblank): Declare but not define here.
8450         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
8451         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
8452         * modules/wctype (Files): Add lib/iswblank.c.
8453
8454 2010-12-19  Bruno Haible  <bruno@clisp.org>
8455
8456         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
8457         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
8458         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
8459
8460 2010-12-19  Bruno Haible  <bruno@clisp.org>
8461
8462         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
8463         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
8464         _POSIX_PII_SOCKET.
8465         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
8466         * doc/posix-functions/recvfrom.texi: Likewise.
8467         * doc/posix-functions/send.texi: Likewise.
8468         * doc/posix-functions/sendto.texi: Likewise.
8469
8470 2010-12-19  Bruno Haible  <bruno@clisp.org>
8471
8472         tcgetsid: Add missing declaration on OSF/1 5.1.
8473         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
8474         HAVE_TCGETSID.
8475         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
8476         Don't set HAVE_TCGETSID.
8477         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
8478         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
8479         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
8480         HAVE_TCGETSID.
8481         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
8482
8483 2010-12-19  Bruno Haible  <bruno@clisp.org>
8484
8485         stdio: Fix problem with popen() declaration on OSF/1 5.1.
8486         * lib/stdio.in.h: During the include_next statement, let recursive
8487         includes of this file include only the system header file.
8488
8489 2010-12-19  Bruno Haible  <bruno@clisp.org>
8490
8491         iconv_open: Fix regression from 2010-12-04.
8492         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
8493         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
8494
8495 2010-12-19  Bruno Haible  <bruno@clisp.org>
8496
8497         stdbool test: Avoid a gcc warning.
8498         * tests/test-stdbool.c (main): Fail if e1 is false.
8499         Reported by Jim Meyering.
8500
8501 2010-12-19  Jim Meyering  <meyering@redhat.com>
8502
8503         setenv: restore to working order
8504         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
8505         mistakenly removed.
8506         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
8507         HAVE_SETENV.
8508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
8509         HAVE_SETENV.
8510
8511 2010-12-19  Bruno Haible  <bruno@clisp.org>
8512
8513         Document some different function declarations on OSF/1 5.1.
8514         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
8515         * doc/posix-functions/inet_ntop.texi: Likewise.
8516         * doc/posix-functions/gethostname.texi: Likewise.
8517         * lib/unistd.in.h (gethostname): Update comment.
8518
8519 2010-12-19  Bruno Haible  <bruno@clisp.org>
8520
8521         doc: Mention vasprintf-posix module.
8522         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
8523         the 'vasprintf-posix' module.
8524         * doc/glibc-functions/vasprintf.texi: Likewise.
8525
8526 2010-12-19  Bruno Haible  <bruno@clisp.org>
8527
8528         unsetenv: Add missing declaration on OSF/1 5.1.
8529         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
8530         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
8531         Don't set HAVE_UNSETENV. In the test program, set _BSD.
8532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
8533         not HAVE_UNSETENV.
8534         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
8535         HAVE_UNSETENV.
8536         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
8537
8538 2010-12-19  Bruno Haible  <bruno@clisp.org>
8539
8540         setenv: Add missing declaration on OSF/1 5.1.
8541         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
8542         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
8543         declared. Don't set HAVE_SETENV.
8544         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
8545         not HAVE_SETENV.
8546         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
8547         HAVE_SETENV.
8548         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
8549
8550 2010-12-19  Bruno Haible  <bruno@clisp.org>
8551
8552         nl_langinfo tests: Avoid gcc warning.
8553         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
8554
8555 2010-12-19  Bruno Haible  <bruno@clisp.org>
8556
8557         mknod: Avoid error in C++ mode on OSF/1 with GCC.
8558         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
8559         _GL_CXXALIAS_SYS.
8560
8561 2010-12-19  Bruno Haible  <bruno@clisp.org>
8562
8563         stdbool: Relax test.
8564         * tests/test-stdbool.c (e): Don't require that casts from a variable's
8565         address to 'bool' work in static initializer, for compilers other than
8566         GCC.
8567
8568 2010-12-19  Bruno Haible  <bruno@clisp.org>
8569
8570         ftello: Add missing declaration on OSF/1 5.1.
8571         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
8572         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
8573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
8574         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
8575         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
8576
8577 2010-12-19  Bruno Haible  <bruno@clisp.org>
8578
8579         fseeko: Add missing declaration on OSF/1 5.1.
8580         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
8581         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
8582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
8583         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
8584         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
8585
8586 2010-12-19  Bruno Haible  <bruno@clisp.org>
8587
8588         fchdir: Add missing declaration on OSF/1 5.1.
8589         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
8590         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
8591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
8592         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
8593         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
8594
8595 2010-12-19  Bruno Haible  <bruno@clisp.org>
8596
8597         relocatable-prog-wrapper: Separate from relocatable-prog.
8598         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
8599         uninstall-relocwrapper rule here.
8600         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8601         Reported by Ian Beckwith <ianb@erislabs.net>.
8602
8603 2010-12-19  Bruno Haible  <bruno@clisp.org>
8604
8605         unistr/u8-mbsnlen: Add missing dependency.
8606         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8607         Reported by Ian Beckwith <ianb@erislabs.net>.
8608
8609 2010-12-19  Bruno Haible  <bruno@clisp.org>
8610
8611         iconv: Make it possible again to use this module without 'iconv-h'.
8612         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8613         if it is not defined.
8614         Reported by Ian Beckwith <ianb@erislabs.net>.
8615
8616 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         acl: port to Solaris 8 when copying from tmpfs to ufs
8619         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8620         error number.  Problem observed on Solaris 8 with latest
8621         coreutils, with "mv A B", where A is on a tmpfs file system and B
8622         is on a ufs file system.  This caused coreutils' mv/part-symlink
8623         test to fail.
8624
8625         tests: set fail=0 at start
8626         * tests/init.sh (setup_): Move fail=0 initialization here ...
8627         (mktempd_): ... from here, so that tests can rely on fail being
8628         set to 0 initially.  This fixes a problem in coreutils; see:
8629         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
8630
8631 2010-12-18  Bruno Haible  <bruno@clisp.org>
8632
8633         memmem-simple: Stylistic changes.
8634         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
8635         Fix preprocessor directive indentation.
8636
8637 2010-12-15  Pádraig Brady <P@draigBrady.com>
8638
8639         memmem, memmem-simple: reorganize and expand empty needle check
8640         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
8641         functional checks to memmem-simple so that one has a fully functional
8642         memmem by using just this module.
8643         Restrict the performance only check to the memmem module.
8644         Also expand the empty needle check to ensure the correct
8645         pointer is returned, not just a non NULL pointer.
8646         * doc/glibc-functions/memmem.texi: Rearrange the portability
8647         documentation to correlate with the rearranged checks.
8648         Clarify exactly how the memmem and memmem-simple modules
8649         relate to each other.
8650
8651 2010-12-15  Pádraig Brady <P@draigBrady.com>
8652             Bruno Haible  <bruno@clisp.org>
8653
8654         Improve cross-compilation guesses for uClibc.
8655         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
8656         that uClibc does not have the glibc bug.
8657         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
8658         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
8659
8660 2010-12-14  Eric Blake  <eblake@redhat.com>
8661
8662         configmake: provide fallbacks for oldest supported autotools
8663         * m4/configmake.m4: New file.
8664         * modules/configmake (Files): Ship it.
8665         (configure.ac): Use it to guarantee fallbacks.
8666
8667 2010-12-13  Pádraig Brady <P@draigBrady.com>
8668
8669         read-file: Improve handling of large files
8670         * lib/read-file.c (fread_file): Minimize realloc()s
8671         for regular files, and better manage sizes around SIZE_MAX.
8672
8673 2010-12-13  Eric Blake  <eblake@redhat.com>
8674
8675         cloexec, fcntl: relax license
8676         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
8677         consent from all contributors.
8678         * modules/fcntl (License): Likewise.
8679
8680 2010-12-10  Bruno Haible  <bruno@clisp.org>
8681
8682         Tests for module 'pipe-posix'.
8683         * modules/pipe-posix-tests: New file.
8684         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
8685
8686 2010-12-10  Bruno Haible  <bruno@clisp.org>
8687
8688         pipe-posix: Make it work in C++ mode.
8689         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
8690         (pipe): Use common idiom, not a macro definition.
8691         * lib/pipe.c: New file.
8692         * m4/pipe.m4: New file.
8693         * modules/pipe-posix (Description): Enhance.
8694         (Files): Add lib/pipe.c, m4/pipe.m4.
8695         (configure.ac): Invoke gl_FUNC_PIPE.
8696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
8697         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
8698         * tests/test-unistd-c++.cc: Check the signature of pipe.
8699
8700 2010-12-10  Bruno Haible  <bruno@clisp.org>
8701
8702         Rename module 'pipe' to 'spawn-pipe'.
8703         * modules/spawn-pipe: New file, renamed from modules/pipe.
8704         (Files, configure.ac, Makefile.am): Update.
8705         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
8706         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
8707         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
8708         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
8709         "spawn-pipe.h" instead of "pipe.h".
8710         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
8711         to gl_SPAWN_PIPE.
8712         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
8713         (Files, Makefile.am): Update.
8714         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
8715         Update.
8716         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
8717         Include "spawn-pipe.h" instead of "pipe.h".
8718         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
8719         * lib/javacomp.c: Likewise.
8720         * lib/javaversion.c: Likewise.
8721         * lib/pipe-filter-gi.c: Likewise.
8722         * lib/pipe-filter-ii.c: Likewise.
8723         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
8724         * modules/javacomp (Depends-on): Likewise.
8725         * modules/javaversion (Depends-on): Likewise.
8726         * modules/pipe-filter-gi (Depends-on): Likewise.
8727         * modules/pipe-filter-ii (Depends-on): Likewise.
8728         * MODULES.html.sh (Executing programs): Update.
8729         * NEWS: Mention the change.
8730
8731 2010-12-10  Eric Blake  <eblake@redhat.com>
8732
8733         pipe-posix: new module
8734         * modules/pipe-posix: New file.
8735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
8736         (gl_UNISTD_H): Check for declaration.
8737         * modules/unistd (Makefile.am): Substitute it.
8738         * lib/unistd.in.h (pipe): Provide it for mingw.
8739         * doc/posix-functions/pipe.texi (pipe): Update documentation.
8740         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
8741
8742 2010-12-07  Bruno Haible  <bruno@clisp.org>
8743
8744         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
8745         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
8746         u8_strcmp_gnu.
8747         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
8748
8749 2010-12-06  Bruno Haible  <bruno@clisp.org>
8750
8751         Update internal documentation.
8752         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
8753
8754 2010-12-04  Bruno Haible  <bruno@clisp.org>
8755
8756         Put more information about failed tests into the test return codes.
8757         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
8758         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
8759         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8760         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8761         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8762         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8763         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8764         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8765         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
8766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8767         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
8768         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8769         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8770         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8771         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
8772         returns a bit mask.
8773         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8774         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
8775         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
8776         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
8777         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8778         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8779         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8780         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8781         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8782         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8783         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8784         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8785         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8786         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8787         * m4/link.m4 (gl_FUNC_LINK): Likewise.
8788         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8789         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
8790         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
8791         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8792         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
8793         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8794         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8795         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8796         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8797         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8798         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8799         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
8800         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8801         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8802         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
8803         gl_PRINTF_PRECISION): Likewise.
8804         * m4/regex.m4 (gl_REGEX): Likewise.
8805         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8806         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8807         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
8808         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8809         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8810         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8811         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8812         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
8813         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8814         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8815         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8816         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8817         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8818         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8819         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8820         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8821         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8822         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8823         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8824         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
8825         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
8826         enumerated value.
8827         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
8828
8829 2010-12-04  Bruno Haible  <bruno@clisp.org>
8830
8831         Update for Solaris 11 2010-11.
8832         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
8833         Express, released in November 2010.
8834
8835 2010-12-04  Bruno Haible  <bruno@clisp.org>
8836
8837         nproc: Relax license.
8838         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
8839         and Paul Eggert.
8840         Requested by Ludovic Courtès <ludo@gnu.org>.
8841
8842 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8843
8844         utimecmp: fine-grained src to nearby coarse-grained dest
8845
8846         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
8847         and the source is on a file system with higher-resolution time
8848         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
8849         not work, and the time stamps are close together, the algorithm to
8850         determine the exact resolution from the read-back mtime was buggy:
8851         it had a "!=" where it should have had an "==".  This bug has been
8852         in the code ever since it was introduced to gnulib.
8853         Problem reported by Dan Jacobson in
8854         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
8855
8856 2010-11-30  Bruno Haible  <bruno@clisp.org>
8857
8858         strerror_r-posix: Fix autoconf test.
8859         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
8860
8861 2010-11-28  Bruno Haible  <bruno@clisp.org>
8862             Paul Eggert  <eggert@cs.ucla.edu>
8863
8864         Tests for module 'getdomainname'.
8865         * modules/getdomainname-tests: New file.
8866         * tests/test-getdomainname.c: New file, based on
8867         tests/test-gethostname.c.
8868
8869 2010-11-28  Bruno Haible  <bruno@clisp.org>
8870             Paul Eggert  <eggert@cs.ucla.edu>
8871
8872         getdomainname: Use the system function when possible.
8873         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
8874         (getdomainname): Replace if needed. Provide the declaration if it is
8875         missing. Don't use _GL_CXXALIAS_SYS_CAST.
8876         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
8877         (getdomainname): When the system has getdomainname, call the system
8878         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
8879         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
8880         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
8881         found in libnsl. Look for the declaration also in <netdb.h>. Replace
8882         the function if its second argument is of type 'int' or if it is found
8883         in libnsl.
8884         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
8885         <sys/systeminfo.h> and sysinfo().
8886         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
8887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8888         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
8889         HAVE_GETDOMAINNAME.
8890         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
8891         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
8892         * doc/glibc-functions/getdomainname.texi: Document the problems with
8893         the getdomainname declaration.
8894
8895 2010-11-28  Bruno Haible  <bruno@clisp.org>
8896
8897         sys_socket: Ensure ss_family field on AIX.
8898         * lib/sys_socket.in.h (ss_family): New macro definition.
8899         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
8900         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
8901         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8902         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8903         * modules/sys_socket (Makefile.am): Substitute
8904         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8905         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
8906
8907 2010-11-27  Bruno Haible  <bruno@clisp.org>
8908
8909         readline: Improve configure output.
8910         * m4/readline.m4 (gl_FUNC_READLINE): Make the
8911         "checking for readline..." result understandable.
8912
8913 2010-11-27  Bruno Haible  <bruno@clisp.org>
8914
8915         *printf-posix: Detect a bug on Solaris 10/x86.
8916         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
8917         for floating-point output.
8918         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
8919         directive.
8920         * tests/test-snprintf-posix.h (test_function): Likewise.
8921         * tests/test-sprintf-posix.h (test_function): Likewise.
8922         * tests/test-vasprintf-posix.c (test_function): Likewise.
8923         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
8924         * doc/posix-functions/printf.texi: Likewise.
8925         * doc/posix-functions/snprintf.texi: Likewise.
8926         * doc/posix-functions/sprintf.texi: Likewise.
8927         * doc/posix-functions/vfprintf.texi: Likewise.
8928         * doc/posix-functions/vprintf.texi: Likewise.
8929         * doc/posix-functions/vsnprintf.texi: Likewise.
8930         * doc/posix-functions/vsprintf.texi: Likewise.
8931         * doc/glibc-functions/obstack_printf.texi: Likewise.
8932         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8933
8934 2010-11-27  Bruno Haible  <bruno@clisp.org>
8935
8936         Fix link error when module libunistring-optional is in use.
8937         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
8938         * modules/striconveha-tests (Makefile.am): Likewise.
8939
8940 2010-11-27  Bruno Haible  <bruno@clisp.org>
8941
8942         regex: Mention link dependencies.
8943         * modules/regex (Link): New section.
8944         * modules/rpmatch (Link): Likewise.
8945         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
8946
8947 2010-11-27  Bruno Haible  <bruno@clisp.org>
8948
8949         ftoastr: Fix compilation error on Solaris.
8950         * lib/ftoastr.c: Include <config.h>.
8951
8952 2010-11-27  Bruno Haible  <bruno@clisp.org>
8953
8954         getloadavg: Update documentation.
8955         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
8956
8957 2010-11-27  Bruno Haible  <bruno@clisp.org>
8958
8959         sys_socket: Fix test whether the functions are declared.
8960         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
8961         not <sys/select.h>.
8962
8963 2010-11-27  Bruno Haible  <bruno@clisp.org>
8964
8965         getpass: Make sure to get system declaration on some platforms.
8966         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
8967         gl_USE_SYSTEM_EXTENSIONS.
8968         * modules/getpass (Depends-on): Add extensions.
8969
8970 2010-11-26  Bruno Haible  <bruno@clisp.org>
8971
8972         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
8973         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
8974         'iconv' module is present.
8975         (ICONV_CONST): New macro.
8976         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
8977         ICONV_CONST.
8978         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
8979         set ICONV_CONST.
8980         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
8981         here.
8982         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
8983         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
8984         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
8985         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
8986         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
8987         present.
8988
8989 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8990
8991         ftoastr: comment fix
8992         * lib/ftoastr.c: "little" -> "little or no" in comment
8993
8994 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8995
8996         stdint: port to GCC 4.3 + OSX + Octave
8997         On this platform, stdint.h is buggy and defines int64_t to long
8998         long int.  The replacement defined it to long int, causing
8999         problems with C++ style name mangling.  Instead, trust the system
9000         definition if INT64_MAX is defined, and likewise for the unsigned
9001         variant.   Problem reported by Jarno Rajahalme in
9002         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
9003         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
9004         and don't mess with int64_t and INT64_MAX in this case.
9005         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
9006
9007 2010-11-24  Bruno Haible  <bruno@clisp.org>
9008
9009         doc: Corrections regarding MacOS X 10.4 and 10.5.
9010         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
9011         MacOS X.
9012         Reported by Simon Josefsson.
9013
9014 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
9015
9016         Uninstall ".bin" files installed by relocwrapper.
9017         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
9018         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
9019         unless it is already there.
9020
9021 2010-11-21  Bruno Haible  <bruno@clisp.org>
9022
9023         Update for NetBSD 5.0.
9024         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9025         NetBSD; the test fails on NetBSD 5.0.
9026         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9027         about NetBSD.
9028
9029 2010-11-21  Bruno Haible  <bruno@clisp.org>
9030
9031         Update for HP-UX 11.23 and HP-UX 11.31.
9032         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
9033         HP-UX.
9034
9035 2010-11-21  Bruno Haible  <bruno@clisp.org>
9036
9037         Update for MacOS X 10.5.
9038         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9039         MacOS X; the test fails on MacOS X 10.5.8.
9040         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9041         about MacOS X.
9042
9043 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
9044
9045         bootstrap: add bootstrap_sync option.
9046         See discussion at
9047         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
9048         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
9049         * build-aux/bootstrap: Accept --bootstrap-sync to update
9050         bootstrap if it is not identical to the local gnulib's
9051         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
9052         enable this by default.  Accept --no-bootstrap-sync to disable
9053         it.
9054
9055 2010-11-20  Bruno Haible  <bruno@clisp.org>
9056
9057         Ensure that <features.h> is included before __GLIBC__ is tested.
9058         * lib/printf-parse.h: Include <features.h>.
9059         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
9060         Reported by Mike Frysinger <vapier@gentoo.org>.
9061
9062         Ensure that <features.h> is included before __GLIBC__ is tested.
9063         * lib/wchar.in.h: Include <features.h>.
9064         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
9065         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
9066         Reported by Mike Frysinger <vapier@gentoo.org>.
9067
9068         Ensure that <features.h> is included before __GLIBC__ is tested.
9069         * lib/arpa_inet.in.h: Include <features.h>.
9070         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
9071         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
9072         Reported by Mike Frysinger <vapier@gentoo.org>.
9073
9074         Ensure that <features.h> is included before __GLIBC__ is tested.
9075         * build-aux/link-warning.h: Include <features.h>.
9076         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
9077         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
9078         Reported by Mike Frysinger <vapier@gentoo.org>.
9079
9080         Ensure that <features.h> is included before __GLIBC__ is tested.
9081         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
9082         Reported by Mike Frysinger <vapier@gentoo.org>.
9083
9084 2010-11-20  Bruno Haible  <bruno@clisp.org>
9085
9086         memmem: Fix autoconf test.
9087         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
9088
9089 2010-11-20  Bruno Haible  <bruno@clisp.org>
9090
9091         Port to uClibc.
9092         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
9093         * lib/fcntl.in.h: Likewise.
9094         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
9095         * lib/mbrtowc.c (mbrtowc): Likewise.
9096         * lib/relocatable.c (find_shared_library_fullname): Likewise.
9097         * lib/strerror_r.c: Likewise.
9098         * lib/unistr/u8-strnlen.c: Likewise.
9099         * lib/vasnprintf.c (decimal_point_char): Likewise.
9100         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9101         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9102         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9103         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9104         * tests/test-sigaction.c (handler, main): Likewise.
9105         * lib/freading.h: Treat uClibc like a non-glibc platform.
9106         * lib/freading.c: Likewise.
9107         * lib/gettext.h: Likewise.
9108         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
9109         Likewise.
9110         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
9111         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9112         * lib/propername.c (proper_name_utf8): Likewise.
9113         * lib/spawn.in.h: Likewise.
9114         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
9115         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
9116         mem_cd_iconveh_internal): Likewise.
9117         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
9118         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9119         strstr, strcasestr): Likewise.
9120         * lib/unicodeio.c (unicode_to_mb): Likewise.
9121         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
9122         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
9123         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
9124         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
9125         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
9126         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
9127         * lib/unistr/u8-stpncpy.c: Likewise.
9128         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9129         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
9130         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9131         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9132         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9133         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
9134         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
9135         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
9136         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9137         Likewise.
9138         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9139         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9140         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9141         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9142         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9143         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9144         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9145         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9146         * tests/test-getopt.h (OPTIND_MIN): Likewise.
9147         * tests/test-striconveha.c (main): Likewise.
9148         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9149         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
9150         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
9151         * doc/posix-functions/getline.texi: Likewise.
9152         Reported by Mike Frysinger <vapier@gentoo.org>.
9153
9154 2010-11-20  Bruno Haible  <bruno@clisp.org>
9155
9156         nproc: Fix condition.
9157         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
9158         HAVE_PTHREAD_AFFINITY_NP.
9159
9160 2010-11-20  Bruno Haible  <bruno@clisp.org>
9161
9162         Fix a comment.
9163         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
9164
9165 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9166
9167         ftoastr: don't assume snprintf
9168         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
9169         Implement a subset of snprintf here, by using sprintf safely.
9170         * modules/ftoastr (Depends-on): Remove snprintf.
9171
9172 2010-11-19  Jim Meyering  <meyering@redhat.com>
9173
9174         test-rename.h: fix compilation failure
9175         * tests/test-rename.h (test_rename): Add omitted "}".
9176
9177 2010-11-17  Jim Meyering  <meyering@redhat.com>
9178
9179         maint.mk: add a URL discussing the no-@acronym policy
9180         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
9181
9182 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         ftoastr: depend on snprintf, improve comments
9185         * lib/ftoastr.c: Also mention Loitsch's draft.
9186         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
9187         needed in the current implementation, but it might simplify
9188         speeding up the code later.
9189         * modules/ftoastr: Depend on snprintf; this improves portability.
9190         Suggested by Bruno Haible in the same email.
9191
9192         ftoastr: port to hosts lacking strtof and strtold
9193         Problem reported by Bruno Haible in
9194         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
9195         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
9196         environment and strtold (and presumably strtof) are not available.
9197         * modules/ftoastr (Files): Add m4/c-strtod.m4.
9198         (configure.ac): Require gl_C99_STRTOLD.
9199
9200 2010-11-18  Bruno Haible  <bruno@clisp.org>
9201
9202         c-strtold: Avoid link error on AIX 7.
9203         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
9204         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
9205         (gl_C_STRTOLD): Test whether strtold_l exists.
9206         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9207
9208 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9209
9210         intprops: new macro INT_BITS_STRLEN_BOUND
9211         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
9212         ftoastr.h.  This exposes an internal of intprops.h that was formerly
9213         not exposed.  Also, it uses a slightly tighter bound than before;
9214         though this makes no practical difference, we might as well be as
9215         tight as we easily can.
9216
9217         ftoastr: new module, for lossless conversion of floats to short strings
9218         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
9219         * modules/ftoastr: New files.
9220
9221 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9222
9223         bootstrap: port to Solaris sed
9224         * build-aux/bootstrap (get_version): Port to Solaris sed.
9225         See Ralf Wildenhues's note in
9226         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
9227
9228 2010-11-14  Jim Meyering  <meyering@redhat.com>
9229
9230         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
9231         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
9232         and move definition closer to sole use.
9233
9234 2010-11-13  Jim Meyering  <meyering@redhat.com>
9235
9236         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
9237         Now we require at least autoconf-2.59, which means the work-around
9238         is no longer needed.
9239         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
9240         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9241         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
9242         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
9243         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9244
9245 2010-11-13  Bruno Haible  <bruno@clisp.org>
9246
9247         rename, renameat: Avoid test failures at NFS mounted locations.
9248         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
9249         functions.
9250         (test_rename): Use assert_nonexistent.
9251         * tests/test-rename.c: Include <dirent.h>.
9252         * tests/test-renameat.c: Likewise.
9253         Reported by Gary V. Vaughan <gary@gnu.org>.
9254
9255         rename, renameat: Document Linux bug with NFS
9256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
9257         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
9258         * doc/posix-functions/renameat.texi: Likewise.
9259         Suggested by Eric Blake.
9260
9261 2010-11-13  Bruno Haible  <bruno@clisp.org>
9262
9263         rename test: Add comments.
9264         * tests/test-rename.h (test_rename): Add structure and comments.
9265
9266 2010-11-13  Eric Blake  <eblake@redhat.com>
9267
9268         maintainer-makefile: cover a few more files
9269         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
9270         scripts generated within C files, for libvirt.
9271
9272 2010-11-13  Bruno Haible  <bruno@clisp.org>
9273
9274         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
9275         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
9276         character, return the number of bytes that belong together, not always
9277         1.
9278         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9279         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9280         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9281         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
9282         number of bytes of an invalid character.
9283         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
9284         (main): Invoke it.
9285         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
9286         results.
9287         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
9288         malformed byte sequences.
9289         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
9290         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
9291         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
9292         Reported by Ben Pfaff and Paolo Bonzini.
9293
9294 2010-11-13  Bruno Haible  <bruno@clisp.org>
9295
9296         openat: Work around glibc bug with fchownat() and empty file names.
9297         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
9298         (gl_FUNC_FCHOWNAT): Invoke it.
9299         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
9300         * doc/posix-functions/fchownat.texi: Document the glibc bug.
9301         Reported by Gary V. Vaughan <gary@gnu.org>.
9302
9303 2010-11-13  Bruno Haible  <bruno@clisp.org>
9304
9305         openat: Ensure autoconf macro ordering.
9306         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
9307         gl_USE_SYSTEM_EXTENSIONS.
9308         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
9309
9310 2010-11-13  Bruno Haible  <bruno@clisp.org>
9311
9312         Update comments.
9313         * lib/unistr/u8-check.c: Update file name in comments.
9314         * lib/unistr/u8-mblen.c: Likewise.
9315         * lib/unistr/u8-prev.c: Likewise.
9316         * lib/unistr/u8-strmblen.c: Likewise.
9317         * lib/unistr/u8-strmbtouc.c: Likewise.
9318
9319 2010-11-13  Jim Meyering  <meyering@redhat.com>
9320
9321         tests: avoid test failure on Solaris 10 due to lack of PATH export
9322         * tests/test-update-copyright.sh: Don't forget to export PATH.
9323
9324         init.sh: ensure that IFS is defined, just in case...
9325         * tests/init.sh (setup_): Ensure that IFS is defined,
9326         so that saving and restoring it works as expected.  This
9327         appears to be useful at least for an old version of dash
9328         from a long time ago (RH 6).  See here for details:
9329         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
9330
9331         maint.mk: tighten "test a == b" check
9332         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
9333         test to files that contain something like #!/bin/sh.
9334         Without this, coreutils would get two false positives in
9335         the comments of C source files.
9336
9337 2010-11-12  Eric Blake  <eblake@redhat.com>
9338
9339         bootstrap: fix typo in previous attempt
9340         * build-aux/bootstrap (buildreq): Correct the grouping.
9341         Reported by Paul Eggert.
9342
9343         maintainer-makefile: prohibit test x == x
9344         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
9345         Based on a report by Matthias Bolte.
9346
9347         bootstrap: allow FreeBSD gzip
9348         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
9349         which has no '.' and goes to stderr.
9350         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
9351         Reported by Matthias Bolte.
9352
9353         maintainer-makefile: check for i18n setup
9354         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
9355         will likely work.
9356
9357 2010-11-12  Bruno Haible  <bruno@clisp.org>
9358
9359         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
9360         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
9361         * lib/nanosleep.c (nanosleep): Likewise.
9362
9363 2010-11-11  Bruno Haible  <bruno@clisp.org>
9364
9365         fcntl-h: Fix for use of C++ on glibc systems.
9366         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9367         also on glibc systems in C++ mode.
9368         Reported by Gary V. Vaughan <gary@gnu.org>.
9369
9370 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9371
9372         mknod: avoid false failure with dash
9373         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
9374
9375 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9376
9377         unlink: Fix "is it should" typo in diagnostic.
9378         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
9379         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
9380
9381 2010-11-11  Bruno Haible  <bruno@clisp.org>
9382
9383         Tests for module 'strerror_r-posix'.
9384         * modules/strerror_r-posix-tests: New file.
9385         * tests/test-strerror_r.c: New file.
9386         * tests/test-string-c++.cc: Check the signature of strerror_r.
9387
9388         New module 'strerror_r-posix'.
9389         * lib/string.in.h (strerror_r): New declaration.
9390         * lib/strerror_r.c: New file.
9391         * m4/strerror_r.m4: New file.
9392         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
9393         of strerror_r.
9394         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
9395         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9396         * modules/strerror_r-posix: New file.
9397         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
9398         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9399         * doc/posix-functions/strerror_r.texi: Mention the new module and the
9400         portability problems.
9401
9402 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
9403
9404         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
9405         line is also considered for output. Quoted function name in shell
9406         command, so temporary files for functions like MyClass::operator()
9407         are removed correctly without errors.
9408
9409 2010-11-09  Bruno Haible  <bruno@clisp.org>
9410
9411         * doc/posix-functions/strerror.texi: List more failing platforms.
9412
9413         * doc/posix-functions/strerror.texi: Add a comment.
9414
9415 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9416
9417         fdopendir: fix bug on MacOS X when low on file descriptors
9418
9419         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
9420         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
9421         All callers changed.
9422         (fdopendir): Invoke save_cwd at the top level, not after using
9423         multiple dup() calls to use up file descriptors.  Then retry
9424         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
9425         less than the maximum number of open file descriptors, because
9426         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
9427         on Mac OS X 10.6.4 for tar 1.24
9428         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
9429         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
9430         and for tar 1.25
9431         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
9432
9433 2010-11-07  Bruno Haible  <bruno@clisp.org>
9434
9435         vasnprintf: Support I flag on glibc systems.
9436         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
9437         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
9438         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
9439         snprintf function.
9440         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
9441         glibc systems.
9442         * tests/test-vasnprintf-posix3.c: New file.
9443         * modules/vasnprintf-posix-tests (Files): Add it.
9444         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
9445
9446 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9447
9448         [html] Fix copy/paste bug: Use unique name for compiler warnings.
9449         * MODULES.html.sh: For compiler warnings, use name
9450         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
9451
9452 2010-11-05  Eric Blake  <eblake@redhat.com>
9453
9454         ceil, floor: avoid spurious failure with icc
9455         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
9456         [denormals-as-zero] when optimizing without -mieee-fp option.
9457         * tests/test-floorf2.c (floorf_reference): Likewise.
9458         * tests/test-ceilf1.c (dummy): New function.
9459         (main): Use it to outsmart icc's optimization.
9460         * tests/test-floorf1.c (dummy, main): Likewise.
9461
9462         tests: require working signbit
9463         * modules/ceilf-tests (Depends-on): Add signbit.
9464         * modules/ceill-tests (Depends-on): Likewise.
9465         * modules/floorf-tests (Depends-on): Likewise.
9466         * modules/floorl-tests (Depends-on): Likewise.
9467         * modules/round-tests (Depends-on): Likewise.
9468         * modules/roundf-tests (Depends-on): Likewise.
9469         * modules/roundl-tests (Depends-on): Likewise.
9470         * modules/trunc-tests (Depends-on): Likewise.
9471         * modules/truncf-tests (Depends-on): Likewise.
9472         * modules/truncl-tests (Depends-on): Likewise.
9473
9474         strtod: work around icc bug
9475         * lib/strtod.c (minus_zero): Define to working value.
9476         (strtod): Use it to avoid icc bug.
9477
9478         copysign: enhance tests
9479         * modules/copysign-tests (Files): Add minus-zero.h.
9480         * tests/test-copysign.c (main): Also test zeros.
9481
9482 2010-11-04  Eric Blake  <eblake@redhat.com>
9483
9484         ceil, floor, round, trunc: enhance tests of -0
9485         * tests/test-ceilf1.c (main): Ensure correct sign of result.
9486         * tests/test-ceill.c (main): Likewise.
9487         * tests/test-floorf1.c (main): Likewise.
9488         * tests/test-floorl.c (main): Likewise.
9489         * tests/test-round1.c (main): Likewise.
9490         * tests/test-roundf1.c (main): Likewise.
9491         * tests/test-roundl.c (main): Likewise.
9492         * tests/test-trunc1.c (main): Likewise.
9493         * tests/test-truncf1.c (main): Likewise.
9494         * tests/test-truncl.c (main): Likewise.
9495
9496 2010-11-04  Eric Blake  <eblake@redhat.com>
9497
9498         frexp, tests: work around ICC bug with -zero
9499         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
9500         works with more compilers.
9501         * tests/minus-zero.h: New file.
9502         * modules/ceilf-tests (Files): Include it.
9503         * modules/ceill-tests (Files): Likewise.
9504         * modules/floorf-tests (Files): Likewise.
9505         * modules/floorl-tests (Files): Likewise.
9506         * modules/frexp-nolibm-tests (Files): Likewise.
9507         * modules/frexp-tests (Files): Likewise.
9508         * modules/frexpl-nolibm-tests (Files): Likewise.
9509         * modules/frexpl-tests (Files): Likewise.
9510         * modules/isnan-tests (Files): Likewise.
9511         * modules/isnand-nolibm-tests (Files): Likewise.
9512         * modules/isnand-tests (Files): Likewise.
9513         * modules/isnanf-nolibm-tests (Files): Likewise.
9514         * modules/isnanf-tests (Files): Likewise.
9515         * modules/isnanl-nolibm-tests (Files): Likewise.
9516         * modules/isnanl-tests (Files): Likewise.
9517         * modules/round-tests (Files): Likewise.
9518         * modules/roundf-tests (Files): Likewise.
9519         * modules/roundl-tests (Files): Likewise.
9520         * modules/ldexpl-tests (Files): Likewise.
9521         * modules/signbit-tests (Files): Likewise.
9522         * modules/snprintf-posix-tests (Files): Likewise.
9523         * modules/sprintf-posix-tests (Files): Likewise.
9524         * modules/strtod-tests (Files): Likewise.
9525         * modules/trunc-tests (Files): Likewise.
9526         * modules/truncf-tests (Files): Likewise.
9527         * modules/truncl-tests (Files): Likewise.
9528         * modules/vsnprintf-posix-tests (Files): Likewise.
9529         * modules/vsprintf-posix-tests (Files): Likewise.
9530         * modules/vasnprintf-posix-tests (Files): Likewise.
9531         * modules/vasprintf-posix-tests (Files): Likewise.
9532         * tests/test-ceilf1.c (main): Use it.
9533         * tests/test-ceill.c (main): Likewise.
9534         * tests/test-floorf1.c (main): Likewise.
9535         * tests/test-floorl.c (main): Likewise.
9536         * tests/test-frexp.c (main): Likewise.
9537         * tests/test-frexpl.c (main): Likewise.
9538         * tests/test-isnan.c (main): Likewise.
9539         * tests/test-isnand.h (main): Likewise.
9540         * tests/test-isnanf.h (main): Likewise.
9541         * tests/test-isnanl.h (main): Likewise.
9542         * tests/test-ldexpl.c (main): Likewise.
9543         * tests/test-round.c (main): Likewise.
9544         * tests/test-roundf.c (main): Likewise.
9545         * tests/test-roundl.c (main): Likewise.
9546         * tests/test-signbit.c (test_signbitf, test_signbitd)
9547         (test_signbitl): Likewise.
9548         * tests/test-snprintf-posix.h (test_function): Likewise.
9549         * tests/test-sprintf-posix.h (test_function): Likewise.
9550         * tests/test-strtod.c (main): Likewise.
9551         * tests/test-trunc1.c (main): Likewise.
9552         * tests/test-truncf1.c (main): Likewise.
9553         * tests/test-truncl.c (main): Likewise.
9554
9555         isnanl: work around icc bug
9556         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
9557
9558 2010-11-03  Eric Blake  <eblake@redhat.com>
9559
9560         tests: fix compiler warnings
9561         * tests/test-getopt.h (test_getopt): Fix condition.
9562         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9563         * tests/test-pipe2.c (main): Likewise.
9564         * tests/test-quotearg-simple.c (main): Avoid icc warning.
9565
9566         utimens: fix broken m4 test
9567         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
9568
9569 2010-10-28  Bruno Haible  <bruno@clisp.org>
9570
9571         posix_spawn*, getdtablesize: Relax license.
9572         * modules/posix_spawn (License): Change to LGPLv2+.
9573         * modules/posix_spawnp (License): Likewise.
9574         * modules/posix_spawn-internal (License): Likewise.
9575         * modules/posix_spawnattr_init (License): Likewise.
9576         * modules/posix_spawnattr_getflags (License): Likewise.
9577         * modules/posix_spawnattr_setflags (License): Likewise.
9578         * modules/posix_spawnattr_getpgroup (License): Likewise.
9579         * modules/posix_spawnattr_setpgroup (License): Likewise.
9580         * modules/posix_spawnattr_getschedparam (License): Likewise.
9581         * modules/posix_spawnattr_setschedparam (License): Likewise.
9582         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
9583         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
9584         * modules/posix_spawnattr_getsigdefault (License): Likewise.
9585         * modules/posix_spawnattr_setsigdefault (License): Likewise.
9586         * modules/posix_spawnattr_getsigmask (License): Likewise.
9587         * modules/posix_spawnattr_setsigmask (License): Likewise.
9588         * modules/posix_spawnattr_destroy (License): Likewise.
9589         * modules/posix_spawn_file_actions_init (License): Likewise.
9590         * modules/posix_spawn_file_actions_addclose (License): Likewise.
9591         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
9592         * modules/posix_spawn_file_actions_addopen (License): Likewise.
9593         * modules/posix_spawn_file_actions_destroy (License): Likewise.
9594         * modules/getdtablesize (License): Likewise.
9595         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
9596
9597 2010-10-26  Bruno Haible  <bruno@clisp.org>
9598
9599         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9600         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9601         Cygwin and mingw.
9602         Suggested by Eric Blake.
9603
9604 2010-10-26  Bruno Haible  <bruno@clisp.org>
9605
9606         stdio: Work around compilation error due to renameat() on Solaris 10.
9607         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9608         * lib/renameat.c: Don't include <unistd.h> here.
9609         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9610         Reported by Paul Eggert and Eric Blake.
9611
9612 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9613
9614         renameat: port to Solaris 10, which declares renameat in unistd.h
9615
9616         * lib/renameat.c: Include unistd.h before stdio.h, because
9617         Solaris 10 declares renameat in unistd.h.  Problem encountered
9618         when building GNU tar 1.24 on Solaris 10.
9619
9620 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9621
9622         fdopendir: fix C89 compilation
9623         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9624         compilers.
9625
9626 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9627
9628         inttostr: simplify by removing unnecessary redundancy
9629         * lib/anytostr.c: Don't include verify.h.
9630         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
9631         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
9632         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
9633         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
9634         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
9635         Likewise.
9636         * modules/inttostr (Depends-on): Remove 'verify'.
9637
9638 2010-10-23  Bruno Haible  <bruno@clisp.org>
9639
9640         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
9641         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
9642         Reported by Eric Blake.
9643
9644 2010-10-23  Bruno Haible  <bruno@clisp.org>
9645
9646         Tests: Fix LOCALE_JA on MirBSD 10.
9647         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
9648         to an UTF-8 locale.
9649         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
9650         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9651         Reported by Eric Blake.
9652
9653 2010-10-21  Bruno Haible  <bruno@clisp.org>
9654
9655         nl_langinfo test: Avoid test failure on NetBSD 5.
9656         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
9657         Reported by Eric Blake.
9658
9659 2010-10-21  Eric Blake  <eblake@redhat.com>
9660
9661         c-stack: work around libsigsegv 2.8 bug
9662         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
9663         overflow on at least PowerPC64.
9664
9665 2010-10-17  Bruno Haible  <bruno@clisp.org>
9666
9667         userspec: Drop redundant file.
9668         * modules/userspec (Files): Remove lib/inttostr.h.
9669
9670 2010-10-17  Bruno Haible  <bruno@clisp.org>
9671
9672         nl_langinfo tests: Silence some warnings.
9673         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
9674         Reported by Jim Meyering.
9675
9676 2010-10-17  Bruno Haible  <bruno@clisp.org>
9677
9678         Make use of GCC's attribute __alloc_size__.
9679         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
9680         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
9681         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
9682         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
9683         __alloc_size__.
9684         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
9685         Suggested by Jim Meyering.
9686
9687 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
9688
9689         bootstrap: anchor .gitignore entries.
9690         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
9691         with...
9692         (insert_vc_ignore): ... this new function, which prepends `/' to
9693         all .gitignore entries before passing them to
9694         insert_sorted_if_absent.
9695
9696 2010-10-16  Bruno Haible  <bruno@clisp.org>
9697
9698         nextafter: Fix configure check.
9699         * modules/nextafter (configure.ac): Correct expected prototype.
9700
9701 2010-10-16  Bruno Haible  <bruno@clisp.org>
9702
9703         termios: Update documentation.
9704         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
9705
9706 2010-10-16  Bruno Haible  <bruno@clisp.org>
9707
9708         tests: Make them compile with TinyCC.
9709         * tests/test-strstr.c (main): Remove parentheses around array
9710         initializer.
9711
9712 2010-10-15  Eric Blake  <eblake@redhat.com>
9713
9714         ignore-value: make header idempotent
9715         * lib/ignore-value.h: Add double-inclusion guards.
9716         Reported by Stefan Berger.
9717
9718 2010-10-15  Jim Meyering  <meyering@redhat.com>
9719
9720         GNUmakefile: handle "stable" target, not "major"
9721         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
9722         lists in maint.mk and announce-gen.  Without this, "make stable"
9723         would fail to ensure that $(VERSION) is up to date.
9724
9725 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
9726
9727         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
9728         & co.
9729
9730 2010-10-14  Bruno Haible  <bruno@clisp.org>
9731
9732         vasnprintf: Don't set errno to 0.
9733         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
9734         block that sets it to 0.
9735         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
9736
9737 2010-10-14  Bruno Haible  <bruno@clisp.org>
9738
9739         socketlib: Fix.
9740         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
9741         gl_PREREQ_SYS_H_WINSOCK2.
9742         Reported by Ian Beckwith <ianb@erislabs.net>.
9743
9744 2010-10-13  Jim Meyering  <meyering@redhat.com>
9745
9746         test-select-stdin.c: avoid warn_unused_result warnings
9747         * tests/test-select-stdin.c: Include "macros.h".
9748         ASSERT that read and fflush succeed.
9749
9750 2010-10-13  Jim Meyering  <meyering@redhat.com>
9751
9752         git-version-gen: do require git-VC'd files in cwd
9753         * build-aux/git-version-gen: Reject a git version string
9754         if there are no commits associated with the current directory.
9755         This avoids an unlikely false-positive (unrelated dir whose parent
9756         repository also contains a tag matching v*), as pointed out
9757         by Giuseppe Scrivano in
9758         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
9759
9760 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9761
9762         argv-iter: omit nonconforming declaration
9763         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
9764         enum arg_iter_err declaration, which doesn't conform to C99.
9765         Solaris 10 cc warns about this.
9766
9767 2010-10-13  Eric Blake  <eblake@redhat.com>
9768
9769         termios: fix compilation on mingw
9770         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
9771         (gl_TERMIOS_H): Adjust it on mingw.
9772         * modules/termios (Makefile.am): Substitute new key.
9773         * lib/termios.in.h (includes): Make include_next conditional.
9774         * doc/posix-headers/termios.texi (termios.h): Update
9775         documentation.
9776         Reported by Daniel P. Berrange.
9777
9778 2010-10-13  Jim Meyering  <meyering@redhat.com>
9779
9780         git-version-gen: don't require that .git/ be in the current dir
9781         * build-aux/git-version-gen: Adjust this script so that it works
9782         when run from any working directory beneath the top-level .git/-
9783         containing directory.  Inspired by a patch from Giuseppe Scrivano,
9784         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
9785
9786         test-select: avoid warn_unused_result warnings
9787         * tests/test-select.c: Include "macros.h".
9788         ASSERT that each call to read, write, and pipe succeeds.
9789         While not technically required, also check each "close".
9790         * modules/select-tests (Files): Add tests/macros.h.
9791
9792         test-symlinkat: remove declaration of unused local
9793         * tests/test-symlinkat.c (main): Remove unused local, "buf".
9794
9795         test-inttostr: avoid shadowing warnings
9796         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
9797         and use malloc rather than the stack for the same reason as
9798         mentioned in the comment justifying the other allocation.
9799
9800 2010-10-11  Bruno Haible  <bruno@clisp.org>
9801
9802         stdlib: Allow multiple gnulib generated replacements to coexist.
9803         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
9804         Reported by Sam Steingold <sds@gnu.org>.
9805
9806 2010-10-11  Jim Meyering  <meyering@redhat.com>
9807
9808         fix a documentation typo
9809         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
9810
9811 2010-10-11  Eric Blake  <eblake@redhat.com>
9812
9813         futimens: work around Solaris 11 bug
9814         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
9815         * tests/test-futimens.h (test_futimens): Enhance, rather than
9816         weaken test.
9817         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9818
9819 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9820
9821         Indentation.
9822         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
9823         higher-level operators more to the left.
9824
9825 2010-10-11  Jim Meyering  <meyering@redhat.com>
9826
9827         test-futimens: avoid unwarranted test failure on Solaris 5.11
9828         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
9829         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
9830         because it tries to dereference the NULL name argument.
9831
9832 2010-10-11  Bruno Haible  <bruno@clisp.org>
9833
9834         Indentation.
9835         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
9836         indentation.
9837
9838 2010-10-11  Jim Meyering  <meyering@redhat.com>
9839
9840         spawn.in.h: make indentation consistent with parentheses
9841         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
9842         Make indentation consistent with parentheses.
9843
9844 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
9845
9846         Fix mismatched parens in previous commit
9847         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
9848         parens.
9849
9850 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9851
9852         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
9853
9854         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
9855         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
9856         * lib/malloca.c: Include "verify.h".
9857         (verify1): Remove, replacing with a verify call.
9858         * lib/relocwrapper.c (verify1): Likewise.
9859         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
9860         Likewise.
9861         * modules/malloca (Depends-on): Add 'verify'.
9862         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
9863         * modules/vasnprintf (Depends-on): Add 'verify'.
9864         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9865         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9866         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9867         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9868         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9869         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9870         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9871
9872         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
9873
9874         Formerly the style was sometimes 2*X - 1, because the C standard
9875         was wrongly thought to disallow ?: in integral constant expressions.
9876         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
9877         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
9878         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9879         * lib/stdint.in.h (_verify_intmax_size): Likewise.
9880         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
9881         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
9882         verify that time_t cannot be floating.
9883
9884 2010-10-08  Eric Blake  <eblake@redhat.com>
9885
9886         time: enforce recent POSIX ruling that time_t is integral
9887         * lib/time.in.h (__time_t_must_be_integral): Detect any
9888         problematic systems, allowing the rest of gnulib to assume POSIX.
9889
9890 2010-10-08  Jim Meyering  <meyering@redhat.com>
9891
9892         fdopendir: fix a bug on systems lacking openat and /proc support
9893         OpenBSD 4.7 is one such system.  The most noticeable effect was
9894         failure of any application making nontrivial use of fts: rm, du,
9895         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
9896           ./rm: traversal failed: `a': Bad file descriptor
9897         Debugging that, you see that even though FD 6 was closed just
9898         prior to the opendir call in fd_clone_opendir, its resulting
9899         dir->dd_fd was 8, rather than the expected value of 6:
9900
9901         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
9902         93                close (fd);
9903         (gdb) n
9904         94                dir = fd_clone_opendir (dupfd);
9905         (gdb) n
9906         95                saved_errno = errno;
9907         (gdb) p dir->dd_fd
9908         $11 = 8
9909
9910         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
9911         The problem is that on OpenBSD, fd_clone_opendir has to resort
9912         to using the old-style save/restore CWD mechanism, due to its
9913         lack of openat/proc support, and *that* would steal the FD (6)
9914         that opendir was supposed to use.
9915
9916         The fix is to squirrel away the desired FD so that save_cwd uses a
9917         different one, and then free the dest FD right before calling opendir.
9918         That guarantees opendir will use the required file descriptor.
9919
9920         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
9921
9922 2010-10-08  Bruno Haible  <bruno@clisp.org>
9923
9924         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
9925         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
9926
9927 2010-10-08  Bruno Haible  <bruno@clisp.org>
9928
9929         nanosleep: Make replacement POSIX compliant.
9930         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
9931         is out of range.
9932         Reported by Jim Meyering.
9933
9934 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9935
9936         bootstrap: add hook for altering gnulib.mk, for Bison
9937         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
9938         the Bison bootstrapping process can rewrite file names and variables
9939         in this file before later parts of 'bootstrap' use the file.
9940         Bison wants to include lib/gnulib.mk from the top-level makefile,
9941         so it needs the file names in this file to be relative to the top
9942         level, not relative to lib; plus it needs variable names to be
9943         rewritten.
9944         (slurp): Use the new function.
9945
9946         bootstrap: reformat for readability
9947         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
9948
9949 2010-10-08  Eric Blake  <eblake@redhat.com>
9950
9951         docs: update cygwin progress
9952         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
9953         1.7.7.
9954         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
9955         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
9956         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
9957         * doc/posix-functions/carg.texi (carg): Likewise.
9958         * doc/posix-functions/cargf.texi (cargf): Likewise.
9959         * doc/posix-functions/casin.texi (casin): Likewise.
9960         * doc/posix-functions/casinf.texi (casinf): Likewise.
9961         * doc/posix-functions/casinh.texi (casinh): Likewise.
9962         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
9963         * doc/posix-functions/catan.texi (catan): Likewise.
9964         * doc/posix-functions/catanf.texi (catanf): Likewise.
9965         * doc/posix-functions/catanh.texi (catanh): Likewise.
9966         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
9967         * doc/posix-functions/ccos.texi (ccos): Likewise.
9968         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
9969         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
9970         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
9971         * doc/posix-functions/cexp.texi (cexp): Likewise.
9972         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
9973         * doc/posix-functions/cimag.texi (cimag): Likewise.
9974         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
9975         * doc/posix-functions/clog.texi (clog): Likewise.
9976         * doc/posix-functions/clogf.texi (clogf): Likewise.
9977         * doc/posix-functions/conj.texi (conj): Likewise.
9978         * doc/posix-functions/conjf.texi (conjf): Likewise.
9979         * doc/posix-functions/cpow.texi (cpow): Likewise.
9980         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
9981         * doc/posix-functions/cproj.texi (cproj): Likewise.
9982         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
9983         * doc/posix-functions/creal.texi (creal): Likewise.
9984         * doc/posix-functions/crealf.texi (crealf): Likewise.
9985         * doc/posix-functions/csin.texi (csin): Likewise.
9986         * doc/posix-functions/csinf.texi (csinf): Likewise.
9987         * doc/posix-functions/csinh.texi (csinh): Likewise.
9988         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
9989         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
9990         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
9991         * doc/posix-functions/ctan.texi (ctan): Likewise.
9992         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
9993         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
9994         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
9995         * doc/posix-headers/complex.texi (complex.h): Likewise.
9996
9997 2010-10-07  Jim Meyering  <meyering@redhat.com>
9998
9999         parse-datetime: avoid compilation failure on OpenBSD 4.7
10000         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
10001         This works around a compilation failure on OpenBSD 4.7:
10002         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
10003
10004 2010-10-07  Eric Blake  <eblake@redhat.com>
10005
10006         docs: update cygwin progress
10007         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
10008         1.7.6.
10009         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10010         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
10011         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
10012         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
10013         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
10014         Likewise.
10015         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
10016         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
10017         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
10018         Likewise.
10019         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
10020         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
10021         Likewise.
10022         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
10023         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
10024         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
10025         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
10026         Likewise.
10027         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
10028         Likewise.
10029         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
10030
10031         docs: update parse-datetime history
10032         * doc/parse-datetime.texi (Authors of parse_datetime): Better
10033         documentation of this function's history and alternatives.
10034
10035         cygwin: use more robust version check
10036         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
10037         exclude an eventual cygwin 1.9.1.
10038         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10039         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10040         (gl_FUNC_STRCASESTR): Likewise.
10041         Reported by Bruno Haible.
10042
10043 2010-10-06  Bruno Haible  <bruno@clisp.org>
10044
10045         string, sys_select: Avoid #including large headers unless necessary.
10046         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
10047         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
10048         OSF/1, BeOS, Haiku.
10049         Reported by Jim Meyering.
10050
10051 2010-10-05  Eric Blake  <eblake@redhat.com>
10052
10053         memmem, strstr, strcasestr: fix bug with long periodic needle
10054         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
10055         periodic needle having false positive.
10056         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
10057         and cygwin 1.7.7.
10058         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
10059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10060         (gl_FUNC_STRCASESTR): Likewise.
10061         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10062         * tests/test-memmem.c (main): Expose the bug.
10063         * tests/test-strcasestr.c (main): Likewise.
10064         * tests/test-strstr.c (main): Likewise.
10065         * tests/test-c-strcasestr.c (main): Likewise.
10066         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
10067         * doc/posix-functions/strstr.texi (strstr): Likewise.
10068         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10069         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
10070
10071 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10072
10073         parse-datetime: do some more renaming
10074         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
10075         parse_datetime, not get_date.  Mention the renaming.
10076         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
10077         in comments.
10078         * m4/bison.m4: Likewise.
10079
10080 2010-10-05  Eric Blake  <eblake@redhat.com>
10081
10082         parse-datetime: better name than get_date
10083         * NEWS: Reword the deprecation notice.
10084         * modules/get_date: Rename to modules/parse-datetime.
10085         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
10086         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
10087         * lib/get_date.y: Rename to lib/parse-datetime.y.
10088         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
10089         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
10090         * doc/getdate.texi: Provide fallback wrapper.
10091         * lib/getdate.h: Move guts, and wrap...
10092         * lib/parse-datetime.h: ...new file.
10093         * lib/parse-datetime.y (get_date): Rename...
10094         (parse_datetime): ...to this.
10095         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
10096         (gl_PARSE_DATETIME): ...to this.
10097         * doc/posix-functions/getdate.texi (get_date): Provide fallback
10098         documentation.
10099         * modules/getdate (Files): Provide fallback docs and header.
10100         (Notice, Depends-on): Update references.
10101         * tests/test-parse-datetime.c: Likewise.
10102         * DEPENDENCIES: Likewise.
10103         * MODULES.html.sh (Date and time <time.h>): Likewise.
10104         * doc/parse-datetime.texi (Date input formats)
10105         (Authors of parse_datetime): Likewise.
10106         * modules/parse-datetime (Files, configure.ac, Makefile.am)
10107         (Include): Likewise.
10108         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
10109         * gnulib-tool: Likewise.
10110         * m4/bison.m4 (gl_BISON): Likewise.
10111         Suggested by Bruno Haible.
10112
10113 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10114
10115         more ports to Solaris tr, which needs [] around ranges
10116         * gnulib-tool: Solaris tr needs [] around ranges.
10117         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10118         * tests/test-pipe-filter-gi1.c (main): Likewise.
10119         * tests/test-pipe-filter-ii1.c (main): Likewise.
10120
10121 2010-10-05  Eric Blake  <eblake@redhat.com>
10122
10123         bootstrap: fix Solaris regression
10124         * build-aux/bootstrap (check_versions): Solaris tr still needs []
10125         around ranges.
10126         Reported by Pádraig Brady.
10127
10128         bootstrap: work with pkg-config
10129         * build-aux/bootstrap (check_versions): Also transliterate - in
10130         prerequisite name.
10131         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
10132         prerequisites that were already found, to avoid confusion.
10133         Reported by Justin Clift.
10134
10135         faccessat: remove unused wrappers
10136         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
10137         presence of these wrappers dragged in -lgen on Solaris.
10138         Reported by Clemens Brogi; fix suggested by Paul Eggert.
10139
10140 2010-10-05  Jim Meyering  <meyering@redhat.com>
10141
10142         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
10143         * Makefile (sc_pragma_columns): New syntax-check rule.
10144
10145 2010-10-04  Bruno Haible  <bruno@clisp.org>
10146
10147         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
10148         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
10149         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
10150         Reported by Bruce Korb and Eric Blake.
10151
10152 2010-10-04  Bruno Haible  <bruno@clisp.org>
10153
10154         threadlib: Make option --with-libpth-prefix work.
10155         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
10156         use $LIBPTH, not just -lpth.
10157
10158 2010-10-04  Bruno Haible  <bruno@clisp.org>
10159
10160         Avoid line length limitation from HP NonStop system header files.
10161         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
10162         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
10163         * lib/ctype.in.h: Likewise.
10164         * lib/dirent.in.h: Likewise.
10165         * lib/errno.in.h: Likewise.
10166         * lib/fcntl.in.h: Likewise.
10167         * lib/float.in.h: Likewise.
10168         * lib/getopt.in.h: Likewise.
10169         * lib/iconv.in.h: Likewise.
10170         * lib/inttypes.in.h: Likewise.
10171         * lib/langinfo.in.h: Likewise.
10172         * lib/locale.in.h: Likewise.
10173         * lib/math.in.h: Likewise.
10174         * lib/netdb.in.h: Likewise.
10175         * lib/netinet_in.in.h: Likewise.
10176         * lib/poll.in.h: Likewise.
10177         * lib/pthread.in.h: Likewise.
10178         * lib/pty.in.h: Likewise.
10179         * lib/sched.in.h: Likewise.
10180         * lib/se-selinux.in.h: Likewise.
10181         * lib/search.in.h: Likewise.
10182         * lib/signal.in.h: Likewise.
10183         * lib/spawn.in.h: Likewise.
10184         * lib/stdarg.in.h: Likewise.
10185         * lib/stddef.in.h: Likewise.
10186         * lib/stdint.in.h: Likewise.
10187         * lib/stdio.in.h: Likewise.
10188         * lib/stdlib.in.h: Likewise.
10189         * lib/string.in.h: Likewise.
10190         * lib/strings.in.h: Likewise.
10191         * lib/sys_file.in.h: Likewise.
10192         * lib/sys_ioctl.in.h: Likewise.
10193         * lib/sys_select.in.h: Likewise.
10194         * lib/sys_socket.in.h: Likewise.
10195         * lib/sys_stat.in.h: Likewise.
10196         * lib/sys_time.in.h: Likewise.
10197         * lib/sys_times.in.h: Likewise.
10198         * lib/sys_utsname.in.h: Likewise.
10199         * lib/sys_wait.in.h: Likewise.
10200         * lib/sysexits.in.h: Likewise.
10201         * lib/termios.in.h: Likewise.
10202         * lib/time.in.h: Likewise.
10203         * lib/unistd.in.h: Likewise.
10204         * lib/wchar.in.h: Likewise.
10205         * lib/wctype.in.h: Likewise.
10206         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
10207         * modules/ctype (Makefile.am): Likewise.
10208         * modules/dirent (Makefile.am): Likewise.
10209         * modules/errno (Makefile.am): Likewise.
10210         * modules/fcntl-h (Makefile.am): Likewise.
10211         * modules/float (Makefile.am): Likewise.
10212         * modules/getopt-posix (Makefile.am): Likewise.
10213         * modules/iconv-h (Makefile.am): Likewise.
10214         * modules/inttypes (Makefile.am): Likewise.
10215         * modules/langinfo (Makefile.am): Likewise.
10216         * modules/locale (Makefile.am): Likewise.
10217         * modules/math (Makefile.am): Likewise.
10218         * modules/netdb (Makefile.am): Likewise.
10219         * modules/netinet_in (Makefile.am): Likewise.
10220         * modules/poll-h (Makefile.am): Likewise.
10221         * modules/pthread (Makefile.am): Likewise.
10222         * modules/pty (Makefile.am): Likewise.
10223         * modules/sched (Makefile.am): Likewise.
10224         * modules/search (Makefile.am): Likewise.
10225         * modules/selinux-h (Makefile.am): Likewise.
10226         * modules/signal (Makefile.am): Likewise.
10227         * modules/spawn (Makefile.am): Likewise.
10228         * modules/stdarg (Makefile.am): Likewise.
10229         * modules/stddef (Makefile.am): Likewise.
10230         * modules/stdint (Makefile.am): Likewise.
10231         * modules/stdio (Makefile.am): Likewise.
10232         * modules/stdlib (Makefile.am): Likewise.
10233         * modules/string (Makefile.am): Likewise.
10234         * modules/strings (Makefile.am): Likewise.
10235         * modules/sys_file (Makefile.am): Likewise.
10236         * modules/sys_ioctl (Makefile.am): Likewise.
10237         * modules/sys_select (Makefile.am): Likewise.
10238         * modules/sys_socket (Makefile.am): Likewise.
10239         * modules/sys_stat (Makefile.am): Likewise.
10240         * modules/sys_time (Makefile.am): Likewise.
10241         * modules/sys_times (Makefile.am): Likewise.
10242         * modules/sys_utsname (Makefile.am): Likewise.
10243         * modules/sys_wait (Makefile.am): Likewise.
10244         * modules/sysexits (Makefile.am): Likewise.
10245         * modules/termios (Makefile.am): Likewise.
10246         * modules/time (Makefile.am): Likewise.
10247         * modules/unistd (Makefile.am): Likewise.
10248         * modules/wchar (Makefile.am): Likewise.
10249         * modules/wctype (Makefile.am): Likewise.
10250
10251 2010-10-04  Bruno Haible  <bruno@clisp.org>
10252
10253         read-file tests: Avoid a test failure on NonStop Kernel.
10254         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
10255         a regular file.
10256         Reported by Joachim Schmitz <schmitz@hp.com>.
10257
10258 2010-10-03  Bruno Haible  <bruno@clisp.org>
10259
10260         gnulib-tool: Fixes for --create-testdir with --libtool.
10261         * gnulib-tool (func_get_automake_snippet): Don't augment
10262         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
10263         an executable.
10264         (func_create_testdir): Handle module 'alloca' like func_import.
10265         Reported by Bruce Korb <bruce.korb@gmail.com>.
10266
10267 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10268
10269         Avoid some lines longer than 80 characters.
10270         * lib/stdint.in.h: Break long comment lines.
10271         * lib/math.in.h: Likewise.
10272         (_GL_NUM_UINT_WORDS): New macro, for readability.
10273         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
10274         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
10275         * lib/stdlib.in.h: Likewise.
10276         * lib/spawn.in.h: Likewise.
10277         * lib/sys_socket.in.h: Update an URL.
10278         * lib/sys_stat.in.h: Break long line.
10279
10280 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
10281
10282         Improve pmccabe2html.
10283         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
10284         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
10285         when the sources change. Remove the line in the HTML about "Used
10286         ranges" (which implied that there might be other unused ranges),
10287         rename "Resume" to "Summary" (easier to understand for more users).
10288         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
10289         styles, and some unnecessary blank lines.
10290
10291 2010-10-03  Bruno Haible  <bruno@clisp.org>
10292             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10293
10294         acl: Add support for ACLs on NonStop Kernel.
10295         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
10296         Check whether the function aclsort() exists.
10297         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
10298         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
10299         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10300         (acl_nontrivial [HAVE_ACLSORT]: New function.
10301         (file_has_acl): Implement for NonStop Kernel.
10302         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10303         (qset_acl): Implement for NonStop Kernel.
10304         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
10305         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10306         (main): Implement for NonStop Kernel.
10307         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
10308         Kernel. Handle this flavor.
10309         * tests/test-set-mode-acl.sh: Likewise.
10310         * tests/test-copy-acl.sh: Likewise.
10311         * tests/test-copy-file.sh: Likewise.
10312
10313 2010-10-03  Bruno Haible  <bruno@clisp.org>
10314
10315         Info about ACLs on NonStop Kernel.
10316         * doc/acl-resources.txt: Add info about NonStop Kernel.
10317         References by Joachim Schmitz <schmitz@hp.com>.
10318
10319 2010-10-02  Bruno Haible  <bruno@clisp.org>
10320
10321         Define missing EDQUOT on NonStop Kernel.
10322         * lib/errno.in.h (EDQUOT): Assign a value if missing.
10323         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
10324         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
10325         missing.
10326         * doc/posix-headers/errno.texi: Mention the NSK bug.
10327         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
10328         Reported by Joachim Schmitz <schmitz@hp.com>.
10329
10330 2010-10-02  Bruno Haible  <bruno@clisp.org>
10331
10332         Update doc for POSIX:2008.
10333         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
10334         Update URL of POSIX specification.
10335
10336 2010-10-02  Bruno Haible  <bruno@clisp.org>
10337
10338         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
10339         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
10340         from gnulib, not from Automake.
10341
10342 2010-10-02  Bruno Haible  <bruno@clisp.org>
10343
10344         New module 'system-posix'.
10345         * modules/system-posix: New file.
10346         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
10347         module is present.
10348         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
10349         GNULIB_SYSTEM_POSIX.
10350         * modules/stdlib (Depends-on): Remove sys_wait.
10351         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
10352         * doc/posix-functions/system.texi: Mention the new module.
10353         * doc/posix-headers/stdlib.texi: Likewise.
10354         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
10355         define test_sys_wait_macros to a no-op.
10356         Reported by Sam Steingold <sds@gnu.org>.
10357
10358 2010-09-30  Bruno Haible  <bruno@clisp.org>
10359
10360         More renaming from 'getdate' to 'get_date'.
10361         * doc/get_date.texi: Renamed from doc/getdate.texi.
10362         * modules/get_date (Files): Update.
10363         * MODULES.html.sh (Date and time <time.h>): Update.
10364         * DEPENDENCIES: Update.
10365         * gnulib-tool: Update comment.
10366         * m4/bison.m4 (gl_BISON): Likewise.
10367         * m4/get_date.m4 (gl_GET_DATE): Likewise.
10368
10369 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
10370
10371         bootstrap: support ACLOCAL_FLAGS during aclocal
10372         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
10373         can add additional -I dir for third-party .m4 files.
10374
10375 2010-09-30  Eric Blake  <eblake@redhat.com>
10376
10377         bootstrap: use glibtoolize on MacOS
10378         * build-aux/bootstrap (check_versions): Convert libtool into
10379         libtoolize.
10380         (tool search): Move libtool check earlier, and look for
10381         glibtoolize for MacOS.
10382         (gnulib_tool_options): Auto-add --libtool when appropriate.
10383         Reported by Justin Clift.
10384
10385         poll: fix typo that broke test on MacOS
10386         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
10387         Reported by Justin Clift.
10388
10389         getdate: rename to get_date
10390         Note: getdate.h is not renamed, to minimize client impact.
10391         * modules/getdate: Mark obsolete.  Move old contents...
10392         * modules/get_date: ...to new module name.
10393         * modules/getdate-tests: Move...
10394         * modules/get_date-tests: ...here.
10395         * m4/getdate.m4: Move...
10396         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
10397         * lib/getdate.y: Move...
10398         * lib/get_date.y: ...here.
10399         * tests/test-getdate.c: Move...
10400         * tests/test-get_date.c: ...here.
10401         * doc/posix-functions/getdate.texi (getdate): Update name.
10402         * NEWS: Mention the change.
10403
10404 2010-09-29  Bruno Haible  <bruno@clisp.org>
10405
10406         Separate the module 'waitpid' from the module 'sys_wait'.
10407         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
10408         present.
10409         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
10410         gl_MODULE_INDICATOR_FOR_TESTS.
10411         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
10412         * modules/sys_wait (Depends-on): Remove waitpid.
10413         (Makefile.am): Substitute GNULIB_WAITPID.
10414         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
10415         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
10416         signature only if the 'waitpid' module is present.
10417         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
10418         * NEWS: Mention the change.
10419         * modules/grantpt (Depends-on): Add waitpid.
10420         * modules/wait-process (Depends-on): Likewise.
10421
10422 2010-09-29  Bruno Haible  <bruno@clisp.org>
10423
10424         More tests for module 'sys_wait'.
10425         * modules/sys_wait-c++-tests: New file.
10426         * tests/test-sys_wait-c++.cc: New file.
10427         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
10428         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10429
10430 2010-09-29  Bruno Haible  <bruno@clisp.org>
10431
10432         New module 'waitpid'.
10433         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
10434         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
10435         Don't include <process.h>.
10436         (waitpid): Declare only, using modern idiom.
10437         * m4/waitpid.m4: New file.
10438         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
10439         * modules/waitpid: New file.
10440         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
10441         (Makefile.am): Update.
10442         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10443
10444 2010-09-28  Bruno Haible  <bruno@clisp.org>
10445
10446         poll: Assume ANSI C.
10447         * lib/poll.c (poll): Use an ANSI C declaration.
10448
10449 2010-09-28  Bruno Haible  <bruno@clisp.org>
10450
10451         poll-h: Create poll.h on all platforms.
10452         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
10453         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
10454         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
10455         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
10456         (gl_REPLACE_POLL_H): Don't set POLL_H.
10457         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
10458         * modules/poll-h (Depends-on): Add include_next.
10459         (Makefile.am): Create poll.h unconditionally. Substitute also
10460         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
10461
10462 2010-09-28  Bruno Haible  <bruno@clisp.org>
10463
10464         Tests for module 'poll-h'.
10465         * modules/poll-h-c++-tests: New file.
10466         * tests/test-poll-h-c++.cc: New file.
10467
10468         Tests for module 'poll-h'.
10469         * modules/poll-h-tests: New file.
10470         * tests/test-poll-h.c: New file.
10471
10472 2010-09-28  Bruno Haible  <bruno@clisp.org>
10473
10474         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
10475         * modules/poll-h (Depends-on): Add 'extensions'.
10476
10477 2010-09-28  Bruno Haible  <bruno@clisp.org>
10478
10479         New module 'poll-h'.
10480         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
10481         (poll): Use modern idiom.
10482         * modules/poll-h: New file.
10483         * modules/poll (Files): Remove lib/poll.in.h.
10484         (Depends-on): Add poll-h.
10485         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
10486         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
10487         * m4/poll_h.m4: New file.
10488         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
10489         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
10490         and invoke gl_REPLACE_POLL_H.
10491         * lib/poll.c: Use common idiom.
10492         * tests/test-poll.c: Likewise.
10493         * doc/posix-headers/poll.texi: Mention the poll-h module.
10494         Suggested by Eric Blake.
10495
10496 2010-09-26  Bruno Haible  <bruno@clisp.org>
10497
10498         sys_wait: Implement WSTOPSIG.
10499         * lib/sys_wait.in.h (WSTOPSIG): New macro.
10500         Reported by Simon Josefsson.
10501
10502 2010-09-26  Simon Josefsson  <simon@josefsson.org>
10503
10504         stdlib, sys_wait: Avoid compilation error on mingw.
10505         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
10506
10507 2010-09-26  Bruno Haible  <bruno@clisp.org>
10508
10509         stdlib tests: Avoid code duplication.
10510         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
10511         * modules/sys_wait-tests (Files): Likewise.
10512         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
10513         * tests/test-stdlib.c: Include test-sys_wait.h.
10514         (main): Invoke test_sys_wait_macros.
10515         * tests/test-sys_wait.c: Include test-sys_wait.h.
10516         (main): Invoke test_sys_wait_macros.
10517
10518 2010-09-25  Simon Josefsson  <simon@josefsson.org>
10519
10520         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
10521         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
10522         sure Windows sockets are working before calling getaddrinfo.
10523         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
10524         * doc/gnulib.texi (Windows sockets): Fix typo.
10525
10526 2010-09-25  Bruno Haible  <bruno@clisp.org>
10527
10528         Tests for module 'regex-quote'.
10529         * modules/regex-quote-tests: New file.
10530         * tests/test-regex-quote.c: New file.
10531
10532         New module 'regex-quote'.
10533         * lib/regex-quote.h: New file.
10534         * lib/regex-quote.c: New file.
10535         * modules/regex-quote: New file.
10536         Suggested by Reuben Thomas <rrt@sc3d.org>.
10537
10538 2010-09-24  Bruno Haible  <bruno@clisp.org>
10539
10540         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
10541         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
10542
10543 2010-09-23  Bruno Haible  <bruno@clisp.org>
10544
10545         setenv: Relax license.
10546         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
10547         Blake.
10548         Requested by Eric Blake.
10549
10550 2010-09-22  Bruno Haible  <bruno@clisp.org>
10551
10552         termios: Relax license.
10553         * modules/termios (License): Change to LGPLv2+.
10554         Requested by Eric Blake.
10555
10556 2010-09-22  Bruno Haible  <bruno@clisp.org>
10557
10558         threadlib: Allow the package to change the default to 'no'.
10559         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
10560         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
10561         Reported by Paul Eggert.
10562
10563 2010-09-22  Pádraig Brady  <P@draigbrady.com>
10564             Bruno Haible  <bruno@clisp.org>
10565
10566         Fix endless loop in mbmemcasecoll.
10567         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
10568         byte.
10569         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
10570
10571 2010-09-22  Bruno Haible  <bruno@clisp.org>
10572
10573         Tests for module 'memcoll'.
10574         * modules/memcoll-tests: New file.
10575         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
10576
10577         memcoll, xmemcoll: Clarify size vs. length.
10578         * modules/memcoll.c (memcoll0): Clarify specification.
10579         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
10580         passed to collate_error.
10581
10582 2010-09-22  Bruno Haible  <bruno@clisp.org>
10583
10584         Tests for module 'memcasecmp'.
10585         * modules/memcasecmp-tests: New file.
10586         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
10587
10588 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10589
10590         * lib/pthread.in.h: Add split double-inclusion guard, and include
10591         system <pthread.h> if there is one.  Use @@-style as in other
10592         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
10593         pthread.h doesn't.
10594         (pthread_mutexattr_destroy, pthread_mutexattr_init):
10595         (pthread_mutexattr_settype, pthread_mutex_trylock):
10596         New static inline functions, if there's no system <pthread.h>.
10597         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
10598         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
10599         Approximate with mutexes if the system lacks spinlocks, as in
10600         MacOS.
10601         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10602         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10603         @@-style.  Check for spinlocks separately.
10604         (gl_PTHREAD_DEFAULTS): New macro.
10605         * modules/pthread: Redo to use a more typical style for in.h files.
10606
10607 2010-09-21  Eric Blake  <eblake@redhat.com>
10608
10609         net_if: enhance tests
10610         * tests/test-net_if.c (main): Move signature checks earlier.
10611         Print failures to stderr.
10612         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10613         Document the bug that we do not yet fix.
10614
10615 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10616
10617         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10618         about gnulib, not GSS.
10619
10620 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10621
10622         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10623         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10624         for Emacs.
10625         * build-aux/pmccabe2html: Make Makefile.am example code more
10626         cut-and-paste friendly.
10627
10628 2010-09-21  Simon Josefsson  <simon@josefsson.org>
10629
10630         * tests/test-net_if.c: New file.
10631         * modules/net_if-tests: New file.
10632
10633 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10634
10635         pthread: add pthread_spin_destroy
10636         * lib/pthread.in.h (pthread_spin_destroy): New function.
10637
10638 2010-09-19  Bruno Haible  <bruno@clisp.org>
10639
10640         gnulib-tool: Fix --help output.
10641         * gnulib-tool (func_usage): Fix help message.
10642         Reported by Reuben Thomas <rrt@sc3d.org>.
10643
10644 2010-09-18  Jim Meyering  <meyering@redhat.com>
10645
10646         maint.mk: avoid unexpanded \n in two diagnostics
10647         * top/maint.mk (sc_prohibit_always_true_header_tests):
10648         Don't use a literal \n in a halt=... assignment.  It would not be
10649         expanded, and the two \n bytes would appear in the diagnostic output
10650         rather than the desired newline.  Use halt=$$(printf ... instead.
10651         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10652
10653 2010-09-18  Bruno Haible  <bruno@clisp.org>
10654
10655         netinet_in: Doc tweak.
10656         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
10657         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10658
10659 2010-09-18  Jim Meyering  <meyering@redhat.com>
10660
10661         init.sh: correct an outdated comment
10662         * tests/init.sh (create_exe_shims_):  s/function/alias/
10663
10664         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
10665         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
10666         a file named "*.exe" is removed between the glob expansion and the
10667         processing of that oddly named file.
10668
10669 2010-09-17  Eric Blake  <eblake@redhat.com>
10670
10671         mirbsd: add some more support
10672         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
10673         in BSD family.
10674         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
10675         devices as OpenBSD.
10676         * m4/host-os.m4 (mirbsd): Add MirBSD.
10677
10678         tests: fix unportable assumption on sys/wait.h
10679         * tests/test-sys_wait.c (main): Relax test.
10680         * tests/test-stdlib.c (main): Likewise.
10681
10682         init.sh: accomodate directory with no .exes
10683         * tests/init.sh: Accomodate directory containing only scripts.
10684
10685         tests: avoid compiler warning
10686         * tests/test-stdlib.c (main): Use the variable.
10687
10688         fdutimens, fdutimensat: update signature, again
10689         * lib/utimens.h (gl_futimens): Delete, and move signature...
10690         (fdutimens): ...here.
10691         (fdutimensat): Rearrange signature.
10692         (lutimensat): Rename variable for clarity.
10693         * lib/fdutimensat.c (fdutimensat): Update signature.
10694         * lib/utimens.c (fdutimens): Likewise.
10695         (gl_futimens): Delete.
10696         (utimens, lutimens): Update callers.
10697         * lib/futimens.c (futimens): Likewise.
10698         * tests/test-fdutimensat.c: Likewise.
10699         * tests/test-utimens.c: Likewise.
10700         * tests/test-futimens.h: Update comment.
10701         * NEWS: Mention this.
10702         Suggested by Paul Eggert.
10703
10704 2010-09-17  Bruno Haible  <bruno@clisp.org>
10705
10706         Take over the maintenance of some older macros from Autoconf.
10707         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
10708         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
10709         GNU Autoconf.
10710         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
10711         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
10712
10713 2010-09-17  Eric Blake  <eblake@redhat.com>
10714
10715         fdutimensat: drop atflag validation
10716         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
10717         with valid fd, to close a race scenario where futimens is
10718         unsupported and FILE was replaced by a symlink.
10719         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
10720         accordingly.
10721         Suggested by Paul Eggert.
10722
10723 2010-09-16  Bruno Haible  <bruno@clisp.org>
10724
10725         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
10726         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
10727
10728 2010-09-16  Bruno Haible  <bruno@clisp.org>
10729
10730         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
10731         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
10732         login_tty exists.
10733         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10734
10735 2010-09-16  Bruno Haible  <bruno@clisp.org>
10736
10737         login_tty: Make the replacement code work on BSD systems.
10738         * lib/login_tty.c: Include <sys/ioctl.h>.
10739         (login_tty): Use ioctl TIOCSCTTY when available.
10740         * modules/login_tty (Depends-on): Add sys_ioctl.
10741         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10742
10743 2010-09-16  Bruno Haible  <bruno@clisp.org>
10744
10745         login_tty: Stricter unit test.
10746         * modules/login_tty-tests (Depends-on): Add tcgetsid.
10747         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
10748         and tcgetsid() after login_tty.
10749         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10750
10751 2010-09-16  Bruno Haible  <bruno@clisp.org>
10752
10753         New module 'tcgetsid'.
10754         * lib/tcgetsid.c: New file.
10755         * m4/tcgetsid.m4: New file.
10756         * modules/tcgetsid: New file.
10757         * modules/termios (Depends-on): Add c++defs, warn-on-use.
10758         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
10759         GNULIB_TCGETSID, HAVE_TCGETSID.
10760         * lib/termios.in.h: Include <sys/types.h>.
10761         (tcgetsid): New declaration.
10762         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
10763         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
10764         * doc/posix-functions/tcgetsid.texi: Mention the new module.
10765         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
10766
10767 2010-09-16  Bruno Haible  <bruno@clisp.org>
10768
10769         Tests for module 'termios'.
10770         * modules/termios-c++-tests: New file.
10771         * modules/termios-tests: New file.
10772         * tests/test-termios-c++.cc: New file.
10773         * tests/test-termios.c: New file.
10774
10775         New module 'termios'.
10776         * modules/termios: New file.
10777         * lib/termios.in.h: New file.
10778         * m4/termios_h.m4: New file.
10779         * doc/posix-headers/termios.texi: Mention the new module.
10780
10781 2010-09-16  Eric Blake  <eblake@redhat.com>
10782
10783         fdutimensat: add an atflag parameter
10784         * lib/fdutimensat.c (fdutimensat): Add new parameter.
10785         * lib/utimens.h (fdutimensat): Update prototype.
10786         * tests/test-fdutimensat.c: Adjust test to match.
10787         * NEWS: Document the change.
10788         Suggested by Paul Eggert.
10789
10790 2010-09-16  Bruno Haible  <bruno@clisp.org>
10791
10792         Fix typos in comments.
10793         * lib/striconveh.h: Fix typo in comment.
10794         * lib/login_tty.c (login_tty): Likewise.
10795
10796 2010-09-15  Bruno Haible  <bruno@clisp.org>
10797
10798         stdlib: clarify MirBSD WEXITSTATUS bug
10799         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
10800         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10801
10802 2010-09-15  Eric Blake  <eblake@redhat.com>
10803
10804         stdlib: work around MirBSD WEXITSTATUS bug
10805         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
10806         * modules/stdlib (Depends-on): Add sys_wait.
10807         * tests/test-sys_wait.c (main): Enhance test.
10808         * tests/test-stdlib.c (main): Likewise.
10809         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
10810
10811         docs: mention MacOS issue with WEXITSTATUS(constant)
10812         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
10813         issue.
10814         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10815
10816         strnlen: add tests
10817         * modules/strnlen-tests: New file.
10818         * tests/test-strnlen.c: Likewise.
10819
10820 2010-09-14  Bruno Haible  <bruno@clisp.org>
10821
10822         unistr/base: Avoid link errors when module 'libunistring' is also used.
10823         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
10824         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
10825         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
10826         Declare also when HAVE_LIBUNISTRING is set.
10827         Reported by Pádraig Brady <P@draigbrady.com>.
10828
10829 2010-09-14  Eric Blake  <eblake@redhat.com>
10830
10831         test-rawmemchr: make more robust
10832         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
10833         (Depends-on, configure.ac): Add needed prerequisites to use it.
10834         * modules/memchr-tests (Files, Depends-on, configure.ac):
10835         Likewise, to avoid implicit reliance on memchr module prereqs.
10836         * tests/test-memchr.c (main): Ensure proper masking.
10837         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
10838         reads.
10839
10840         memchr: detect glibc Alpha bug
10841         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
10842         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
10843         Alpha.
10844         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
10845         * tests/test-memchr.c (main): Enhance test.
10846         Reported by Nelson H. F. Beebe.
10847
10848 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10849
10850         fts, getcwd, glob: audit for dirfd returning -1
10851         * lib/fts.c (opendir): Remove #define; no longer used.
10852         (opendirat): New arg PDIR_FD.  All callers changed.
10853         (fts_build, _opendir2): Use new opendirat to avoid the need for
10854         dirfd, or for checking whether dirfd returns a negative value.
10855         Don't use opendir; always use openat followed by fdopendir.
10856         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
10857         it.
10858         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
10859         returns -1 here.
10860         * modules/fts (Depends-on): Remove dirfd.
10861         * modules/getcwd (Depends-on): Likewise.
10862
10863 2010-09-13  Eric Blake  <eblake@redhat.com>
10864
10865         float: fix broken MirBSD header
10866         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
10867         * doc/posix-headers/float.texi (float.h): Document it.
10868
10869 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10870
10871         fts: use O_NOFOLLOW to avoid race condition when opening a directory
10872         * lib/fts.c (opendirat): New arg extra_flags.
10873         (__opendir2): Use it to avoid following symlinks when opening
10874         a directory, if symlinks are not supposed to be followed.  See
10875         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
10876
10877         fdopendir: preserve argument fd before returning
10878         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
10879         (fdopendir_with_dup, fd_clone_opendir): New static functions.
10880         (fdopendir): Use them, arranging for FD to be open to the same
10881         directory that it was when it started.  (It might be temporarily
10882         closed while fdopendir is running, so this not thread- or
10883         signal-safe.)  Be careful to do the right thing even when file
10884         descriptors are scarce and dup fails with errno == EMFILE.  See
10885         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
10886
10887 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
10888
10889         regex: Pass the system regex if its only problem is 32-bit regoff_t.
10890         * NEWS: Document change.
10891         * m4/regex.m4: Disable test for regoff_t size.
10892
10893 2010-09-13  Jim Meyering  <meyering@redhat.com>
10894
10895         fts: don't operate on an invalid file descriptor after failed dup
10896         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
10897         negative file descriptor.
10898
10899 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10900
10901         savedir: add streamsavedir, deprecate fdsavedir
10902         * NEWS: Mention deprecation of fdsavedir.
10903         * lib/savedir.c (streamsavedir): New extern function, whose name
10904         ends in "savedir" to be consistent with the others.  This differs
10905         from savedirstream in that it doesn't close its argument.  The
10906         next version of GNU tar will use this instead of fdsavedir, to
10907         avoid some race conditions and conserve file descriptors.
10908         (savedirstream): Reimplement as a wrapper around streamsavedir.
10909         (fdsavedir): Add a comment deprecating this function.  As far as
10910         I know, only GNU tar used it, and GNU tar doesn't need it any more.
10911         * lib/savedir.h (streamsavedir): New decl.
10912         (fdsavedir): Add a comment deprecating this.
10913
10914 2010-09-10  Bruno Haible  <bruno@clisp.org>
10915
10916         langinfo: Fix last commit.
10917         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
10918         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
10919         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10920
10921 2010-09-10  Bruno Haible  <bruno@clisp.org>
10922
10923         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
10924         * lib/progreloc.c (O_EXEC): Define fallback.
10925
10926 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10927
10928         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
10929         * NEWS: Document recent changes to fcntl-h.
10930         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
10931         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
10932         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
10933         Similarly for O_SEARCH; this last was already true, but not documented.
10934         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
10935         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
10936         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
10937         Likewise.
10938         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
10939         is zero, not whether it is defined.
10940         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
10941         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
10942         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
10943
10944 2010-09-10  Bruno Haible  <bruno@clisp.org>
10945
10946         langinfo, nl_langinfo: Fix for IRIX 5.3.
10947         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
10948         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
10949         HAVE_LANGINFO_YESEXPR.
10950         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
10951         HAVE_LANGINFO_YESEXPR.
10952         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
10953         HAVE_LANGINFO_T_FMT_AMPM is 0.
10954         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
10955         HAVE_LANGINFO_YESEXPR is 0.
10956         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
10957         NOEXPR.
10958         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
10959         * doc/posix-functions/nl_langinfo.texi: Likewise.
10960         Reported by Eric Blake.
10961
10962 2010-09-10  Bruno Haible  <bruno@clisp.org>
10963
10964         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
10965         * doc/glibc-functions/login_tty.texi: Mention the include file problem
10966         on FreeBSD 8.0 and OpenBSD 4.6.
10967         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
10968         * m4/pty_h.m4 (gl_PTY_H): Likewise.
10969         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
10970         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
10971         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
10972         ac_includes_default.
10973         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10974
10975 2010-09-09  Eric Blake  <eblake@redhat.com>
10976
10977         strsignal: work around NetBSD bug
10978         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
10979         * lib/string.in.h (includes): Likewise.
10980         * doc/posix-functions/strsignal.texi (strsignal): Document the
10981         bug.
10982         Reported by Nelson H. F. Beebe.
10983
10984         gnulib-tool: work with NetBSD /bin/sh
10985         * gnulib-tool (func_cache_var, func_cache_lookup_module)
10986         (func_get_description, func_get_comment, func_get_status)
10987         (func_get_notice, func_get_applicability, func_get_filelist)
10988         (func_get_dependencies, func_get_autoconf_early_snippet)
10989         (func_get_autoconf_snippet, func_get_automake_snippet)
10990         (func_get_include_directive, func_get_link_directive)
10991         (func_get_license, func_get_maintainer, func_import): Avoid
10992         shell syntax errors from parsing syntax extensions.
10993
10994 2010-09-09  Bruno Haible  <bruno@clisp.org>
10995
10996         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10997         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
10998         a reliable way to determine whether the 'alias' command works.
10999
11000 2010-09-08  Jim Meyering  <meyering@redhat.com>
11001
11002         init.sh: penalize a set-x-impaired shell; don't disqualify it
11003         * tests/init.sh: Too many shells corrupt application stderr when
11004         you set -x, so we can't afford to disqualify them, since at least
11005         on Irix-6.5, that would disqualify all bourne shells.
11006         Instead, use a two-pass approach.
11007         On the first pass, try to find a shell that meets the stricter
11008         condition that set -x does not corrupt stderr.
11009         If no shell meets the stricter condition, retest each candidate
11010         shell, but without that extra condition.  Finally, when
11011         VERBOSE=yes is requested and set -x might cause trouble, simply
11012         issue a warning and refrain from enabling debug output.
11013
11014 2010-09-08  Eric Blake  <eblake@redhat.com>
11015
11016         unsetenv: fix OpenBSD bug
11017         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
11018         * doc/posix-functions/unsetenv.texi (unsetenv): Update
11019         documentation.
11020         Reported by Jim Meyering.
11021
11022         strtod: work around IRIX 6.5 bug
11023         * lib/strtod.c (strtod): Reparse number on shorter string if
11024         exponent parse was invalid.
11025         * tests/test-strtod.c (main): Add check for "0x1p 2".
11026         Reported by Tom G. Christensen.
11027
11028         getopt: optimize previous patch
11029         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
11030         empty variable.  Speed up awk script.
11031         Reported by Paolo Bonzini.
11032
11033 2010-09-08  Jim Meyering  <meyering@redhat.com>
11034
11035         test.sh: disqualify shells for which set -x corrupts stderr
11036         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
11037         and OpenBSD 4.7.  They make it so with "set -x", environment settings
11038         appear in stderr output.  For example, this command:
11039             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
11040         prints "P=1" on those two systems:
11041
11042 2010-09-08  Bruno Haible  <bruno@clisp.org>
11043
11044         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11045         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
11046         commands, because some shells ignore redirections when there is an
11047         error in the command lookup.
11048         Reported by Eric Blake.
11049
11050 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
11051
11052         * lib/regex.h: Fix a mention of `regex_compile' (should be
11053         `re_compile_pattern').
11054         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
11055         (re_set_registers): Correct name of parameter in comment.
11056
11057         * doc/regex.texi: Add documentation for missing syntax flags.
11058         Remove commented-out documentation of defunct syntax option
11059         RE_NO_EMPTY_ALTS.
11060         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
11061         Add documentation of re_set_registers.
11062         Document trick to re-use a pattern buffer by setting fastmap manually.
11063         Update documentation of struct re_pattern_buffer per public members.
11064         Uncomment documentation of equivalence class operators and
11065         collating symbol operators, since they are now implemented,
11066         Explain leftmost-longest matching in relation to alternatives.
11067         Tidy documentation of substring matching.
11068         Remove POSIX documentation, which is done better in
11069         glibc, and refer the reader there. Keep BSD API documentation, as
11070         that is not readily available elsewhere.
11071
11072 2010-09-07  Eric Blake  <eblake@redhat.com>
11073
11074         getopt: handle POSIXLY_CORRECT set but not exported
11075         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
11076         export state of POSIXLY_CORRECT, due to bash set -o posix.
11077         Reported by Dustin J. Mitchell.
11078
11079 2010-09-05  Bruno Haible  <bruno@clisp.org>
11080
11081         gnulib-tool: Highlight the changed options.
11082         * gnulib-tool (func_usage): Display the --import, --add-import,
11083         --remove-import explanations in bold font.
11084
11085 2010-09-06  Karl Berry  <karl@gnu.org>
11086
11087         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
11088
11089 2010-09-05  Bruno Haible  <bruno@clisp.org>
11090
11091         uniwidth/width: Update comment.
11092         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
11093         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
11094
11095 2010-09-05  Bruno Haible  <bruno@clisp.org>
11096
11097         isinf, isnan: Relax license.
11098         * modules/isinf (License): Change from GPL to LGPL, with consent from
11099         Ben Pfaff.
11100         * modules/isnan (License): Likewise.
11101         Requested by Ludovic Courtès.
11102
11103 2010-09-04  Bruno Haible  <bruno@clisp.org>
11104
11105         gnulib-tool: Help migration from --import to --add-import or --update.
11106         * gnulib-tool: Emit a verbose error message when --import is used
11107         without any module name.
11108
11109 2010-09-04  Bruno Haible  <bruno@clisp.org>
11110
11111         Update doc about gnulib-tool.
11112         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
11113         'gnulib-tool --update' in more detail.
11114         Reported by Eric Blake.
11115
11116 2010-09-04  Bruno Haible  <bruno@clisp.org>
11117
11118         gnulib-tool: Change --import. New options --add/remove-import.
11119         * gnulib-tool: New options --add-import, --remove-import.
11120         (func_usage): Document them.
11121         (have_associative): Define always.
11122         (func_import): In import mode, don't merge the specified settings with
11123         the cached settings. Implement remove-import mode.
11124         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
11125         Explain when to use them versus --import.
11126         (Simple update): Use --add-import instead of --import.
11127         * NEWS: Mention the change.
11128
11129 2010-09-04  Bruno Haible  <bruno@clisp.org>
11130
11131         * doc/gnulib-tool.texi (Initial import): Update paragraph about
11132         separate gnulib.mk.
11133
11134 2010-09-04  Bruno Haible  <bruno@clisp.org>
11135
11136         gnulib-tool: Don't talk about CVS any more.
11137         * gnulib-tool (func_usage, func_import): Write "version control"
11138         instead of CVS.
11139
11140 2010-09-04  Jim Meyering  <meyering@redhat.com>
11141
11142         maint.mk: avoid obscure sc_copyright_check failure in coreutils
11143         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
11144         false positives (whose names may be ill-chosen) when searching
11145         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
11146         would cause a false-positive.
11147
11148         avoid coreutils "make distcheck" failure
11149         Coreutils tests with an absolute build directory name that contains
11150         a space.  Not quoting this directory name caused a failure.
11151         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
11152         * tests/test-vc-list-files-cvs.sh: Likewise.
11153
11154 2010-09-04  Bruno Haible  <bruno@clisp.org>
11155
11156         gnulib-tool: Avoid error when run in a package without Makefile.am.
11157         * gnulib-tool: When collecting the m4dirs in a package that does not
11158         have a Makefile.am, eliminate those directories that contain no
11159         gnulib-cache.m4. Fix expression that counts these directories.
11160
11161 2010-09-04  Bruno Haible  <bruno@clisp.org>
11162
11163         update-copyright test: Improve output when perl is missing or too old.
11164         * tests/test-update-copyright.sh: Move test of Perl version down after
11165         the test whether Perl exists. Provide an explanation relating Perl's
11166         error message to Automake's SKIP: message.
11167
11168 2010-09-04  Bruno Haible  <bruno@clisp.org>
11169
11170         Don't augment PATH in TESTS_ENVIRONMENT.
11171         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
11172         set abs_aux_dir instead of augmenting PATH.
11173         * modules/vc-list-files-tests (Makefile.am): Likewise.
11174         * tests/test-update-copyright.sh: Augment PATH here.
11175         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
11176         path_prepend_.
11177         * tests/test-vc-list-files-git.sh: Likewise.
11178
11179 2010-09-04  Jim Meyering  <meyering@redhat.com>
11180
11181         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
11182         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
11183
11184 2010-09-04  Bruno Haible  <bruno@clisp.org>
11185
11186         strdup: Fix compilation error in C++ mode.
11187         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
11188         the macro.
11189
11190 2010-09-04  Bruno Haible  <bruno@clisp.org>
11191
11192         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
11193         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
11194         macro into a function.
11195         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11196
11197 2010-09-04  Bruno Haible  <bruno@clisp.org>
11198
11199         Set PATH_SEPARATOR the same way autoconf does.
11200         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
11201         the value of PATH_SEPARATOR the same way autoconf-generated configure
11202         scripts do.
11203         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
11204         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
11205
11206 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11207
11208         Set PATH_SEPARATOR the same way autoconf does.
11209         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
11210         the same way autoconf-generated configure scripts do.
11211         * posix-modules: Likewise.
11212
11213 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11214
11215         hash: fix safe_hasher const typo
11216         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
11217         const; otherwise, there is a type error later.
11218
11219 2010-09-02  Jim Meyering  <meyering@redhat.com>
11220
11221         test-update-copyright.sh: require perl 5.8.0
11222         * tests/test-update-copyright.sh: Require 5.8.0,
11223         which Tom G. Christensen has confirmed is adequate,
11224         while 5.6.1 is not.
11225
11226 2010-09-02  Eric Blake  <eblake@redhat.com>
11227
11228         tests: init.sh improvements for re-exec'ing with zsh
11229         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
11230         -vx through shell re-exec.
11231         Reported by Tom G. Christensen.
11232
11233         wctype: fix typo in previous commit
11234         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
11235         Reported by Ludovic Courtès.
11236
11237 2010-09-02  Jim Meyering  <meyering@redhat.com>
11238
11239         test-update-copyright.sh: skip test if Perl is too old
11240         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
11241         Reported by Tom G. Christensen.
11242
11243 2010-09-02  Bruno Haible  <bruno@clisp.org>
11244
11245         wctype: Avoid compilation error on IRIX 6.5.30.
11246         * lib/wctype.in.h (iswblank): Declare with a replacement if
11247         REPLACE_ISWBLANK is set.
11248         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
11249         declared. Set REPLACE_ISWBLANK.
11250         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
11251         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
11252         * doc/posix-headers/wctype.texi: Likewise.
11253         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11254
11255 2010-09-01  Bruno Haible  <bruno@clisp.org>
11256
11257         New module 'socketlib'.
11258         * modules/socketlib: New file.
11259         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
11260         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
11261         * modules/sockets (Depends-on): Add socketlib.
11262         Suggested by Sam Steingold <sds@gnu.org>.
11263
11264 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11265
11266         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
11267
11268         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
11269         when one needs search access to a directory but not read access.
11270         On systems where it is available, it works in some cases where
11271         O_RDONLY does not, namely on directories that are searchable but
11272         not readable, and which need only to be searchable.  If O_SEARCH
11273         is not available, fall back to the traditional method of using
11274         O_RDONLY.
11275
11276         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
11277         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
11278         when opening a directory that needs only to be searchable.
11279         * lib/chdir-safer.c (chdir_no_follow): Likewise.
11280         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
11281         * lib/openat-proc.c (openat_proc_name): Likewise.
11282         * lib/openat.c (openat_needs_fchdir): Likewise.
11283         * lib/save-cwd.c (save_cwd): Likewise.
11284         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
11285
11286 2010-08-28  Bruno Haible  <bruno@clisp.org>
11287
11288         New module 'host-cpu-c-abi'.
11289         * modules/host-cpu-c-abi: New file.
11290         * m4/host-cpu-c-abi.m4: New file, based on part of
11291         clisp/src/m4/general.m4.
11292         Requested by Sam Steingold <sds@gnu.org>.
11293
11294 2010-08-31  Eric Blake  <eblake@redhat.com>
11295         and Jim Meyering  <meyering@redhat.com>
11296
11297         hash: factor, and guard against misbehaving hasher function
11298         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
11299         of table->hasher's return value.  Also protect against a hash value
11300         so large that adding it to table->bucket results in a NULL pointer.
11301         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
11302         Use it in place of open-coded check-and-abort.
11303
11304 2010-08-30  Bruno Haible  <bruno@clisp.org>
11305
11306         hash: silence spurious clang warning
11307         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
11308         Reported by Eric Blake.
11309
11310 2010-08-30  Eric Blake  <eblake@redhat.com>
11311
11312         strstr, memmem, strcasestr: avoid leaked shell message
11313         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
11314         FreeBSD.
11315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11317
11318         tests: silence clang warning
11319         * tests/test-malloca.c (do_allocation): Avoid dead store.
11320
11321 2010-08-29  Bruno Haible  <bruno@clisp.org>
11322
11323         gettext: Fix recent mistake.
11324         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
11325
11326 2010-08-29  Bruno Haible  <bruno@clisp.org>
11327
11328         selinux-h: Offer a --without-selinux option.
11329         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
11330         --without-selinux was specified, skip all tests and define
11331         HAVE_SELINUX_SELINUX_H to 0.
11332         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
11333         set LIB_SELINUX to empty.
11334         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
11335         gl_LIBSELINUX. If --without-selinux was specified, replace
11336         selinux/context.h.
11337         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
11338
11339 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11340             Bruno Haible  <bruno@clisp.org>
11341
11342         Make the module 'realloc-gnu' work again on AIX and OSF/1.
11343         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
11344         of HAVE_REALLOC.
11345         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
11346         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
11347         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
11348         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11349
11350 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11351             Bruno Haible  <bruno@clisp.org>
11352
11353         Make the module 'calloc-gnu' work again on AIX and OSF/1.
11354         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
11355         HAVE_CALLOC.
11356         * lib/xmalloc.c: Update accordingly.
11357         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
11358         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
11359         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11360
11361 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11362             Bruno Haible  <bruno@clisp.org>
11363
11364         Make the module 'malloc-gnu' work again on AIX and OSF/1.
11365         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
11366         HAVE_MALLOC.
11367         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
11368         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
11369         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11370
11371 2010-08-29  Bruno Haible  <bruno@clisp.org>
11372
11373         Update modules list.
11374         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11375         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
11376         (String handling <string.h>): Add astrxfrm.
11377         (File system functions): Add readlinkat.
11378
11379 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11380
11381         Tests for module 'realloc-gnu'.
11382         * modules/realloc-gnu-tests: New file.
11383         * tests/test-realloc-gnu.c: New file.
11384
11385         Tests for module 'calloc-gnu'.
11386         * modules/calloc-gnu-tests: New file.
11387         * tests/test-calloc-gnu.c: New file.
11388
11389         Tests for module 'malloc-gnu'.
11390         * modules/malloc-gnu-tests: New file.
11391         * tests/test-malloc-gnu.c: New file.
11392
11393 2010-08-28  Bruno Haible  <bruno@clisp.org>
11394
11395         Rename module 'realloc' -> 'realloc-gnu'.
11396         * modules/realloc-gnu: New file, copied from modules/realloc.
11397         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
11398         obsolete.
11399         * modules/mgetgroups (Depends-on): Update.
11400         * doc/posix-functions/realloc.texi: Update.
11401         * NEWS: Mention the change.
11402
11403         Rename module 'calloc' -> 'calloc-gnu'.
11404         * modules/calloc-gnu: New file, copied from modules/calloc.
11405         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
11406         obsolete.
11407         * doc/posix-functions/calloc.texi: Update.
11408         * NEWS: Mention the change.
11409
11410         Rename module 'malloc' -> 'malloc-gnu'.
11411         * modules/malloc-gnu: New file, copied from modules/malloc.
11412         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
11413         obsolete.
11414         * modules/argp (Depends-on): Update.
11415         * modules/regex (Depends-on): Update.
11416         * doc/posix-functions/malloc.texi: Update.
11417         * NEWS: Mention the change.
11418
11419 2010-08-28  Eric Blake  <eblake@redhat.com>
11420
11421         pread, pwrite: add missing dependency
11422         * modules/pread (Depends-on): Add extensions.
11423         * modules/pwrite (Depends-on): Likewise.
11424
11425 2010-08-28  Bruno Haible  <bruno@clisp.org>
11426
11427         unistr/u*-strchr: Fix tests dependencies.
11428         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
11429         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
11430         Reported by Ian Beckwith <ianb@erislabs.net>.
11431
11432 2010-08-28  Bruno Haible  <bruno@clisp.org>
11433
11434         read-file: Don't occupy too much unused memory.
11435         * lib/read-file.c (fread_file): Shrink the buffer at the end.
11436
11437 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
11438             Eric Blake  <eblake@redhat.com>
11439             Bruno Haible  <bruno@clisp.org>
11440
11441         read-file: Avoid memory reallocations with regular files.
11442         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
11443         (fread_file): With regular files, use the remaining length as the
11444         initial buffer size.  Check against overflow.
11445         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
11446         sys_stat.
11447
11448 2010-08-28  Bruno Haible  <bruno@clisp.org>
11449
11450         ftello: Relax license.
11451         * modules/ftello (License): Relax to LGPLv2+.
11452         Reported by Eric Blake.
11453
11454 2010-08-28  Bruno Haible  <bruno@clisp.org>
11455
11456         Avoid relocwrapper link errors due to gnulib replacement functions.
11457         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
11458         function.
11459         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11460
11461 2010-08-28  Bruno Haible  <bruno@clisp.org>
11462
11463         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
11464         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
11465         defined.
11466         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
11467         Suggested by Eric Blake.
11468
11469 2010-08-28  Bruno Haible  <bruno@clisp.org>
11470
11471         sys_socket, netdb: Ensure socklen_t gets defined.
11472         * modules/sys_socket (Depends-on): Add socklen.
11473         * modules/netdb (Depends-on): Likewise.
11474         * modules/getaddrinfo (Depends-on): Remove socklen.
11475         * modules/getsockopt (Depends-on): Likewise.
11476         * modules/setsockopt (Depends-on): Likewise.
11477         * tests/test-sys_socket.c: Check that socklen_t is defined.
11478         * tests/test-netdb.c: Likewise.
11479         * m4/socklen.m4: Update comments.
11480         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11481
11482 2010-08-27  Eric Blake  <eblake@redhat.com>
11483
11484         login_tty: add missing dependency
11485         * modules/login_tty (Depends-on): Add pty.
11486
11487 2010-08-26  Eric Blake  <eblake@redhat.com>
11488
11489         lib-symbol-versions: fix m4 quoting
11490         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
11491         format for AC_LINK_IFELSE.
11492
11493         glob: fix compile test
11494         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
11495
11496         btowc: fix missing file
11497         * modules/btowc (Files): Also ship locale-fr.m4.
11498
11499         lseek: fix link test
11500         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
11501         AC_LINK_IFELSE.
11502
11503         include_next: silence autoconf 2.68 warning
11504         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
11505         AC_COMPILE_IFELSE as special.
11506         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
11507         autoconf < 2.68.
11508
11509         acl: fix compilation test
11510         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
11511         AC_COMPILE_IFELSE.
11512
11513 2010-08-26  Bruno Haible  <bruno@clisp.org>
11514
11515         Modernize AC_TRY_RUN invocations.
11516         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
11517         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11518         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
11519         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
11520         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
11521         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11522         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11523         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11524         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11525         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11526         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11527         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11528         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11529         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11530         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11531         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11532         gl_MBRLEN_NUL_RETVAL): Likewise.
11533         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11534         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11535         Likewise.
11536         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11537         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11538         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11539         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11540         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
11541         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
11542         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
11543         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11544         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
11545         Likewise.
11546         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
11547         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
11548         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11549         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11550         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11551         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11552         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11553         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
11554         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11555         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11556
11557 2010-08-26  Bruno Haible  <bruno@clisp.org>
11558
11559         Modernize AC_TRY_LINK invocations.
11560         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
11561         AC_TRY_LINK.
11562         * m4/argp.m4 (gl_ARGP): Likewise.
11563         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11564         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11565         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
11566         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11567         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11568         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
11569         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11570         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11571         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11572         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11573         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11574         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
11575         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
11576         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11577         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
11578         * m4/hostent.m4 (gl_HOSTENT): Likewise.
11579         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11580         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
11581         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
11582         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
11583         Likewise.
11584         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
11585         Likewise.
11586         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
11587         Likewise.
11588         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
11589         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
11590         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
11591         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11592         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11593         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11594         * m4/servent.m4 (gl_SERVENT): Likewise.
11595         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11596         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11597         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11598         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11599         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11600         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11601         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11602         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11603         * modules/tsearch-tests (configure.ac): Likewise.
11604
11605 2010-08-26  Bruno Haible  <bruno@clisp.org>
11606
11607         Modernize AC_TRY_COMPILE invocations.
11608         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11609         AC_TRY_COMPILE.
11610         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11611         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11612         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11613         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11614         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11615         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11616         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11617         * m4/lock.m4 (gl_LOCK): Likewise.
11618         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11619         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11620         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11621         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11622         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11623         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11624         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11625         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11626         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11627         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11628         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
11629         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
11630         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
11631         extraneous semicolon.
11632
11633 2010-08-26  Jim Meyering  <meyering@redhat.com>
11634
11635         stat-time: relax license LGPL
11636         * modules/stat-time (License): Change from GPL to LGPL,
11637         with consent from all contributors, for use in libguile.
11638         Requested by Ludovic Courtès.
11639
11640 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
11641
11642         poll: return immediately on POLLHUP.
11643         * lib/poll.c (poll): Always set timeout before wait_timeout is
11644         computed.
11645
11646 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11647
11648         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
11649         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
11650         rmdir ("dir/.//"), unlinkat.
11651
11652 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11653
11654         stdbool: avoid spurious failure with modern xlc
11655         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11656
11657 2010-08-24  Bruno Haible  <bruno@clisp.org>
11658
11659         getloadavg: simplify code
11660         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
11661         gl_have_func. Update comments.
11662
11663 2010-08-24  Eric Blake  <eblake@redhat.com>
11664
11665         getloadavg: don't define SVR4 on cygwin
11666         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
11667         only define SVR4 when -lkvm is required.
11668         Reported by Yaakov Selkowitz.
11669
11670 2010-08-24  Bruno Haible  <bruno@clisp.org>
11671
11672         priv-set: fix comment
11673         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
11674
11675 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11676
11677         priv-set: fix comments
11678         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
11679         to match code, as suggested by David Bartley in:
11680         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
11681
11682 2010-08-23  Eric Blake  <eblake@redhat.com>
11683
11684         stdbool: avoid rejecting clang
11685         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11686         * tests/test-stdbool.c: Enable more tests if using the system
11687         <stdbool.h> instead of the gnulib replacement.
11688         (main): Move xlc bug test to a runtime test for all compilers.
11689         Reported by Anders Kaseorg.
11690
11691         argz: fix shell quoting issue
11692         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
11693         Reported by Charles Wilson.
11694
11695 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
11696             Erik Faye-Lund <kusmabite@gmail.com>
11697
11698         poll, select: handle ERROR_BROKEN_PIPE.
11699         * lib/poll.c (win32_compute_revents): Return POLLHUP when
11700         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11701         * lib/select.c (win32_compute_revents): Do not mark a pipe
11702         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11703
11704 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
11705
11706         fts: allow compilation with C++
11707         * lib/fts_.h: Specify extern "C" linkage with C++.
11708
11709 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11710
11711         Fix gnulib-tool sed script de-commentation for AIX sed.
11712         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
11713         sed.
11714
11715 2010-08-17  Eric Blake  <eblake@redhat.com>
11716
11717         test-stddef: test for (some) offsetof bugs
11718         * tests/test-stddef.c: Enhance test to ensure correct type of
11719         offsetof.
11720         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
11721         that we are not fixing at this time.
11722
11723 2010-08-15  Bruno Haible  <bruno@clisp.org>
11724
11725         stpncpy: Allow stpncpy to be defined as a macro.
11726         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
11727         if it's already correctly declared.
11728         * lib/string.in.h (stpncpy): Undefine before redefining.
11729         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
11730
11731 2010-08-14  Bruno Haible  <bruno@clisp.org>
11732
11733         Rename module 'memxfrm' to 'amemxfrm'.
11734         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
11735         (amemxfrm): Renamed from memxfrm.
11736         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
11737         (amemxfrm): Renamed from memxfrm.
11738         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
11739         * NEWS: Mention the change.
11740         * MODULES.html.sh (String handling <string.h>): Update.
11741         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
11742         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
11743         * lib/unicase/u16-casexfrm.c: Likewise.
11744         * lib/unicase/u32-casexfrm.c: Likewise.
11745         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
11746         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
11747         * lib/uninorm/u16-normxfrm.c: Likewise.
11748         * lib/uninorm/u32-normxfrm.c: Likewise.
11749         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
11750         memxfrm.
11751         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
11752         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
11753         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
11754         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
11755         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
11756         Suggested by Paul Eggert.
11757
11758 2010-08-14  Bruno Haible  <bruno@clisp.org>
11759
11760         Tests for module 'astrxfrm'.
11761         * modules/astrxfrm-tests: New file.
11762         * tests/test-astrxfrm.c: New file.
11763
11764         New module 'astrxfrm'.
11765         * lib/astrxfrm.h: New file.
11766         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
11767         * modules/astrxfrm: New file.
11768
11769 2010-08-14  Reuben Thomas <rrt@sc3d.org>
11770
11771         regex: Tweak doc.
11772         * doc/regex.texi (Overview): Don't mention regex.c.
11773         (GNU Regular Expression Compiling): Likewise.
11774         (Match-end-of-line Operator): Mention 'not_eol'.
11775
11776 2010-08-14  Brian Gough  <bjg@gnu.org>
11777             Bruno Haible  <bruno@clisp.org>
11778
11779         git-merge-changelog: add doc relating to use with bzr and hg.
11780         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
11781
11782 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
11783
11784         pthread: fix pthread.h creation for srcdir != builddir
11785         * modules/pthread (Makefile.am): Fix the rule to work also in a
11786         non-srcdir build.
11787
11788 2010-08-13  Karl Berry  <karl@gnu.org>
11789
11790         * doc/regex.texi (Predefined Syntaxes): @smallexample.
11791         * doc/posix-*/*: force line break before @url of POSIX
11792         specifications.
11793         Suggested by Werner Lemberg.
11794
11795 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         strtod: fix const diagnostic
11798         * lib/strtod.c (strtod): Don't assign const char * to char *,
11799         as this elicits a warning from GCC when warnings are enabled.
11800
11801 2010-08-10  Pádraig Brady <P@draigbrady.com>
11802         and Eric Blake  <eblake@redhat.com>
11803
11804         copy-acl: ignore ENOTSUP on HP-UX
11805         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
11806         so that it is available for HP-UX.
11807         * lib/copy-acl.c (qcopy_acl): Use it.
11808         Reported by Patrick M. Callahan.
11809
11810 2010-08-10  Eric Blake  <eblake@redhat.com>
11811
11812         open, chown: relax license
11813         * modules/open (License): Change to LGPLv2+, with consent by all
11814         authors, for use in augeas.
11815         * modules/chown (License): Likewise.
11816         * modules/lchown (Likewise): Likewise.
11817         Requested by Adam Stokes.
11818
11819 2010-08-09  Karl Berry  <karl@gnu.org>
11820
11821         * build-aux/ar-lib: new file, import from Automake.
11822         * config/srclist.txt: autocheck for updates.
11823
11824 2010-08-09  Eric Blake  <eblake@redhat.com>
11825
11826         readlinkat: adjust client modules
11827         * modules/areadlinkat (Depends-on): Use readlinkat, not
11828         symlinkat.
11829         * modules/areadlinkat-with-size (Depends-on): Likewise.
11830
11831         mknod: be more vocal about danger of running tests as root
11832         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
11833         root, since that is just asking for problems.
11834         Suggested by Bruno Haible, based on a report by Rainer Tammer.
11835
11836         readlinkat: split into its own module
11837         * modules/symlinkat: Split readlinkat...
11838         * modules/readlinkat: ...into separate module.
11839         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
11840         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
11841         * lib/symlinkat.c (readlinkat): Move...
11842         * lib/readlinkat.c: ...into new file.
11843         * modules/symlinkat-tests: Split readlinkat test...
11844         * modules/readlinkat-tests: ...into separate module.
11845         * tests/test-symlinkat.c: Split...
11846         * tests/test-readlinkat.c: ...into new file.
11847         * NEWS: Document the split.
11848         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11849         * lib/unistd.in.h (readlinkat): Likewise.
11850         Suggested by Bruno Haible.
11851
11852 2010-08-08  Bruno Haible  <bruno@clisp.org>
11853
11854         memxfrm: Speed up.
11855         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
11856         that usually only one call to strxfrm is necessary for each string
11857         part.
11858         Reported by Paul Eggert <eggert@cs.ucla.edu>.
11859
11860 2010-08-07  Karl Berry  <karl@gnu.org>
11861
11862         * doc/posix-headers/limits.texi,
11863         * doc/posix-functions/malloc.texi,
11864         * doc/posix-functions/strsignal.texi: missing @item.
11865         * doc/ld-version-script.texi: spurious leading i.
11866         * doc/regex.texi (Interval Operators): no commas inside @var.
11867
11868 2010-08-01  Bruno Haible  <bruno@clisp.org>
11869
11870         Integrate the regex documentation.
11871         * doc/gnulib.texi: Define 'cn' index.
11872         (Regular expressions): New a chapter that includes regex.texi and
11873         regexprops-generic.texi.
11874         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
11875         syntax.
11876
11877         Whitespace cleanup.
11878         * doc/regex.texi: Remove trailing spaces.
11879
11880         Add regex documentation.
11881         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
11882         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
11883         Written by Kathy A. Hargreaves and Karl Berry.
11884
11885 2010-08-01  Bruno Haible  <bruno@clisp.org>
11886
11887         link: Update documentation.
11888         * doc/posix-functions/link.texi: Update regarding Solaris.
11889
11890 2010-07-31  Bruno Haible  <bruno@clisp.org>
11891
11892         Update modules list.
11893         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
11894         (String handling <string.h>): Add memcmp2, memxfrm.
11895         (Container data structures): Add xlist, xsublist, xoset.
11896         (Core language properties): Add alignof, unused-parameter.
11897         (Process control, Numeric conversion functions <stdlib.h>): Renamed
11898         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
11899         (Unibyte characters <ctype.h>): New section.
11900         (String handling <string.h>): New section.
11901         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
11902         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
11903         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
11904         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
11905         tan, tanh, tanl, y0, y1, yn.
11906         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
11907         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
11908         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
11909         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
11910         unlockpt, vdprintf, vdprintf-posix.
11911         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
11912         (File system functions): Add concat-filename, sys_file, sys_ioctl,
11913         xconcat-filename.
11914         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
11915         getdtablesize, pipe2, pipe2-safer.
11916         (Security): New section.
11917         (Networking functions): Add accept4.
11918         (Signal handling): Add sigpipe.
11919         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
11920         mbmemcasecoll.
11921         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
11922         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
11923         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
11924         pipe-filter-ii.
11925         (Misc): Add argp-version-etc, login_tty, parse-duration.
11926
11927 2010-07-31  Bruno Haible  <bruno@clisp.org>
11928
11929         Improve doc in MODULES.html.
11930         * modules/linkat (Description): Add the word "function".
11931         * modules/mkfifo (Description): Likewise.
11932         * modules/mknod (Description): Likewise.
11933         * modules/remove (Description): Likewise.
11934         * modules/renameat (Description): Likewise.
11935         * modules/stat (Description): Likewise.
11936         * modules/symlink (Description): Likewise.
11937         * modules/unlink (Description): Likewise.
11938
11939 2010-07-31  Bruno Haible  <bruno@clisp.org>
11940
11941         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
11942         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
11943         option --enable/disable-c++ instead of --enable/disable-cxx.
11944         * NEWS: Mention the change.
11945
11946 2010-07-31  Bruno Haible  <bruno@clisp.org>
11947
11948         readlink, areadlink: Relax test a bit.
11949         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
11950         alternative to ENOTDIR.
11951         * tests/test-areadlink.h (test_areadlink): Likewise.
11952         Reported by Rainer Tammer.
11953
11954 2010-07-31  Bruno Haible  <bruno@clisp.org>
11955
11956         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
11957         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
11958         character, perform the search using U_STRCHR.
11959         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
11960         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
11961         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
11962         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
11963         Suggested by Paolo Bonzini.
11964
11965 2010-07-31  Bruno Haible  <bruno@clisp.org>
11966
11967         unistr/u*-strstr: Fix dependencies.
11968         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
11969         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
11970         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
11971
11972 2010-07-31  Bruno Haible  <bruno@clisp.org>
11973
11974         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
11975         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
11976         the beginning of the loop.
11977         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
11978         cases in 'switch' statement.
11979
11980         unistr/u8-strchr: Fix several bugs.
11981         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
11982         the string. When not found, return NULL, not a pointer near the end.
11983
11984         More tests for unistr/u8-strchr.
11985         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
11986         that the function does not read past the first occurrence of the byte
11987         being searched.
11988         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
11989         * tests/unistr/test-u16-strchr.c (main): New function.
11990         * tests/unistr/test-u32-strchr.c (main): New function.
11991
11992 2010-07-31  Bruno Haible  <bruno@clisp.org>
11993
11994         posix-modules: Ignore backup files of documentation files.
11995         * posix-modules: grep only through files named *.texi.
11996
11997 2010-07-31  Bruno Haible  <bruno@clisp.org>
11998
11999         symlinkat: Fix documentation.
12000         * doc/posix-functions/readlinkat.texi: Fix module name.
12001
12002 2010-07-31  Bruno Haible  <bruno@clisp.org>
12003
12004         fchownat: Replace also when chown has the trailing slash bug.
12005         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
12006         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
12007         introduced on 2010-04-10.
12008         Reported by Rainer Tammer.
12009
12010 2010-07-31  Bruno Haible  <bruno@clisp.org>
12011
12012         linkat: Work around AIX 7.1 bug.
12013         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
12014         whether linkat handles trailing slash correctly. If not, replace linkat
12015         and define LINKAT_TRAILING_SLASH_BUG.
12016         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
12017         check whether (fd1,file1) points to a directory if file1 or file2 ends
12018         in a slash. Code taken from lib/link.c.
12019         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
12020         Reported by Rainer Tammer.
12021
12022 2010-07-31  Bruno Haible  <bruno@clisp.org>
12023
12024         Correctly determine whether pow is available in libc on AIX 7 with xlc.
12025         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
12026         This disables an xlc optimization that was causing wrong test results.
12027         Reported by Rainer Tammer.
12028
12029 2010-07-31  Bruno Haible  <bruno@clisp.org>
12030
12031         iconv: Work around AIX 6.1..7.1 bug.
12032         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12033         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
12034         cross-compiling, guess no on all versions of AIX.
12035         Reported by Rainer Tammer.
12036
12037 2010-07-31  Bruno Haible  <bruno@clisp.org>
12038
12039         readlink: Relax test a bit.
12040         * tests/test-readlink.h (test_readlink): Allow different errno value
12041         when readlink is called with a file name that ends in / and refers to
12042         a file.
12043         Suggested by Eric Blake.
12044         Reported by Rainer Tammer.
12045
12046 2010-07-31  Bruno Haible  <bruno@clisp.org>
12047
12048         copysign: Does not require -lm on glibc systems.
12049         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
12050         gl_COMMON_DOUBLE_MATHFUNC.
12051         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
12052
12053 2010-07-31  Bruno Haible  <bruno@clisp.org>
12054
12055         duplocale: Work around AIX 7.1 bug.
12056         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
12057         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
12058         * lib/duplocale.c (rpl_duplocale): Update comment.
12059         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
12060         Reported by Rainer Tammer.
12061
12062 2010-07-30  Bruno Haible  <bruno@clisp.org>
12063
12064         dirfd: Avoid link error on AIX 7.1.
12065         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
12066         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
12067         exist, set REPLACE_DIRFD.
12068         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
12069         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
12070         * doc/posix-functions/dirfd.texi: Update.
12071         Reported by Rainer Tammer.
12072
12073 2010-07-30  Eric Blake  <eblake@redhat.com>
12074
12075         strtod: next round of AIX fixes
12076         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
12077         exponent.
12078         * tests/test-strtod.c (main): Enhance tests.
12079         * doc/posix-functions/strtod.texi (strtod): Document next bug.
12080         Reported by Rainer Tammer.
12081
12082         futimens: fix configure check
12083         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
12084         Reported by Bruno Haible.
12085
12086 2010-07-30  Bruno Haible  <bruno@clisp.org>
12087
12088         getline: Update regarding AIX.
12089         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
12090         Reported by Rainer Tammer.
12091
12092 2010-07-30  Bruno Haible  <bruno@clisp.org>
12093
12094         wcwidth: Drop replacement on AIX 7.
12095         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
12096         AIX 7.
12097         Reported by Rainer Tammer.
12098
12099 2010-07-30  Bruno Haible  <bruno@clisp.org>
12100
12101         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
12102         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
12103         a 'char *'.
12104         Reported by Rainer Tammer.
12105
12106 2010-07-30  Bruno Haible  <bruno@clisp.org>
12107
12108         unlink: Update regarding AIX.
12109         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
12110         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
12111         Reported by Rainer Tammer.
12112
12113 2010-07-30  Bruno Haible  <bruno@clisp.org>
12114
12115         symlink: Update regarding AIX.
12116         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
12117         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
12118         Reported by Rainer Tammer.
12119
12120 2010-07-30  Bruno Haible  <bruno@clisp.org>
12121
12122         strndup: Update regarding AIX.
12123         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
12124         AIX 7.
12125         Reported by Rainer Tammer.
12126
12127 2010-07-30  Bruno Haible  <bruno@clisp.org>
12128
12129         stat: Update regarding AIX.
12130         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
12131         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
12132         Reported by Rainer Tammer.
12133
12134 2010-07-30  Bruno Haible  <bruno@clisp.org>
12135
12136         truncl: Fix autoconf test.
12137         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
12138         whether truncl works.
12139         Reported by Rainer Tammer.
12140
12141 2010-07-30  Bruno Haible  <bruno@clisp.org>
12142
12143         round: Update regarding AIX.
12144         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12145         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
12146         Reported by Rainer Tammer.
12147
12148 2010-07-30  Bruno Haible  <bruno@clisp.org>
12149
12150         rename: Update regarding AIX.
12151         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
12152         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
12153         Reported by Rainer Tammer.
12154
12155 2010-07-30  Bruno Haible  <bruno@clisp.org>
12156
12157         printf.m4: Update regarding AIX.
12158         * m4/printf.m4: Update comments regarding AIX.
12159         Reported by Rainer Tammer.
12160
12161 2010-07-30  Bruno Haible  <bruno@clisp.org>
12162
12163         iconv: Update regarding AIX.
12164         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
12165         AIX 7.
12166         Reported by Rainer Tammer.
12167
12168 2010-07-30  Bruno Haible  <bruno@clisp.org>
12169
12170         getopt: Update regarding AIX.
12171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
12172         no on AIX.
12173         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
12174         Reported by Rainer Tammer.
12175
12176 2010-07-30  Bruno Haible  <bruno@clisp.org>
12177
12178         ldexpl; Update regarding AIX.
12179         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
12180         on AIX 7.
12181         Reported by Rainer Tammer.
12182
12183 2010-07-30  Bruno Haible  <bruno@clisp.org>
12184
12185         frexpl: Update regarding AIX.
12186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
12187         on AIX 7.
12188         Reported by Rainer Tammer.
12189
12190 2010-07-30  Bruno Haible  <bruno@clisp.org>
12191
12192         open, fopen: Update regarding AIX.
12193         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
12194         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12195         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
12196         * doc/posix-functions/fopen.texi: Likewise.
12197         Reported by Rainer Tammer.
12198
12199 2010-07-30  Bruno Haible  <bruno@clisp.org>
12200
12201         chown: Update doc regarding AIX.
12202         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
12203         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
12204         Reported by Rainer Tammer.
12205
12206 2010-07-30  Eric Blake  <eblake@redhat.com>
12207
12208         strtod: fix bug in replacement function on AIX
12209         * lib/strtod.c (strtod): Special case broken "0x" parse in
12210         underlying strtod.
12211         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
12212         * doc/posix-functions/strtod.texi (strtod): Likewise.
12213         Reported by Rainer Tammer.
12214
12215 2010-07-30  Bruno Haible  <bruno@clisp.org>
12216
12217         mbrlen: Fix cross-compilation guess for AIX.
12218         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
12219         guess. Leftover from 2008-12-22.
12220
12221 2010-07-30  Bruno Haible  <bruno@clisp.org>
12222
12223         mbrtowc: Fix cross-compilation guess for AIX.
12224         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
12225         guess. Leftover from 2008-12-21.
12226
12227 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
12228
12229         init.sh: work around trap limitation of some shells
12230         * tests/init.sh (setup_): Move exit trap outside of shell function.
12231
12232 2010-07-29  Eric Blake  <eblake@redhat.com>
12233
12234         strtod: aid debugging
12235         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
12236         understanding why strtod is rejected.
12237
12238 2010-07-28  Bruno Haible  <bruno@clisp.org>
12239
12240         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
12241         * lib/unistr/u8-chr.c: Include <string.h>.
12242         * tests/unistr/test-u8-chr.c: Likewise.
12243         * tests/unistr/test-u16-chr.c: Likewise.
12244         * tests/unistr/test-u32-chr.c: Likewise.
12245         * tests/unistr/test-u8-strchr.c: Likewise.
12246         * tests/unistr/test-u16-strchr.c: Likewise.
12247         * tests/unistr/test-u32-strchr.c: Likewise.
12248         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
12249         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
12250         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
12251         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
12252
12253 2010-07-28  Bruno Haible  <bruno@clisp.org>
12254
12255         Use spaces for indentation, not tabs.
12256         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
12257
12258 2010-07-27  Bruno Haible  <bruno@clisp.org>
12259
12260         mbspcasecmp: Fix function specification.
12261         * lib/string.in.h (mbspcasecmp): Fix specification comment.
12262         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
12263         Reported by Eric Blake <eblake@redhat.com>.
12264
12265 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
12266
12267         timespec: use cast and not conditional, as truncation isn't possible
12268         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
12269         instead of a conditional.  Comment about the situation in more detail.
12270         This undoes most of the 2009-10-29 patch.
12271
12272 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
12273
12274         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
12275         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
12276         * lib/unistr/u8-strchr.c: Likewise.
12277         * modules/unistr/u8-chr: Depend on memchr.
12278
12279         unistr/u*-strchr: add tests
12280         * modules/unistr/u8-strchr-tests: New file.
12281         * modules/unistr/u16-strchr-tests: New file.
12282         * modules/unistr/u32-strchr-tests: New file.
12283         * tests/unistr/test-strchr.h: New file.
12284         * tests/unistr/test-u8-strchr.c: New file.
12285         * tests/unistr/test-u16-strchr.c: New file.
12286         * tests/unistr/test-u32-strchr.c: New file.
12287
12288         unistr/u*-chr: test multibyte sequences more
12289         * tests/unistr/test-chr.h: Do complete testing of the characters in the
12290         test vector.
12291         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
12292         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
12293         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
12294
12295         unistr/u*-chr: test multibyte sequences
12296         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
12297
12298         unistr/u*-chr: prepare for multibyte tests
12299         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
12300         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
12301         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
12302         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
12303         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
12304         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
12305
12306 2010-07-18  Bruno Haible  <bruno@clisp.org>
12307
12308         unistr/u8-strchr: Optimize non-ASCII argument case.
12309         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
12310         because the first byte often matches anyway.
12311         Reported by Pádraig Brady <P@draigbrady.com>.
12312
12313 2010-07-15  Karl Berry  <karl@gnu.org>
12314
12315         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
12316
12317 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
12318
12319         getcwd: on Solaris, work better if ancestors are inaccessible
12320         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
12321         buffer and size, try again with a large buffer.  This works better
12322         on Solaris, since its getcwd succeeds even if the path to the root
12323         is inaccessible, and this is helpful in common cases such as .zfs
12324         hidden directories.  Problem reported by J Chapman Flack in
12325         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
12326         Use system getcwd if it's declared, not merely if it's partly
12327         working; use the partly-working test only to avoid needless effort
12328         if the system getcwd fails.
12329         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
12330         comment that was already obsolete and is now even more obsolete.
12331         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
12332         now might call strdup.
12333
12334 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
12335
12336         pthread: Add enough so that coreutils/src/sort.c compiles.
12337         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
12338         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
12339         gnulib. Include <sched.h> and <time.h>, as per POSIX.
12340         Include <sys/types.h>, in case it defines pthread_t.
12341         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
12342         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
12343         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
12344         (pthread_rwlockattr_t, pthread_spinlock_t):
12345         New typedefs, if HAVE_PTHREAD_T is not defined.
12346         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
12347         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
12348         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
12349         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
12350         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
12351         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
12352         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
12353         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
12354         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
12355         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
12356         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
12357         New macros.
12358         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
12359         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
12360         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
12361         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
12362         (pthread_spin_unlock): New dummy functions.
12363         (pthread_create): Return EAGAIN; don't set errno.
12364         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
12365         require AC_C_INLINE.
12366         * modules/pthread (Depends-on): Add sched, time.
12367         (pthread.h): Use AM_V_GEN.
12368
12369 2010-07-13  Bruno Haible  <bruno@clisp.org>
12370
12371         striconveh: Don't malloc memory if the result buffer is sufficient.
12372         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
12373         buffer if its size is sufficient.
12374         Reported by Ludovic Courtès <ludo@gnu.org>.
12375
12376 2010-07-13  Bruno Haible  <bruno@clisp.org>
12377
12378         strtod: Add safety check.
12379         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
12380
12381 2010-07-12  Bruno Haible  <bruno@clisp.org>
12382
12383         Unify tests that set gl_cv_func_ldexpl_no_libm.
12384         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
12385         gl_FUNC_LDEXPL.
12386         (gl_FUNC_LDEXPL): Invoke it.
12387         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12388
12389 2010-07-12  Bruno Haible  <bruno@clisp.org>
12390
12391         Unify tests that set gl_cv_func_ldexp_no_libm.
12392         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
12393         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
12394         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
12395         (configure.ac): Simply invoke gl_FUNC_LDEXP.
12396         * modules/strtod (Files): Add m4/ldexp.m4.
12397
12398 2010-07-12  Bruno Haible  <bruno@clisp.org>
12399
12400         Unify tests that set gl_cv_func_frexpl_no_libm.
12401         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
12402         gl_FUNC_FREXPL_NO_LIBM.
12403         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): 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_frexp_no_libm.
12409         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
12410         gl_FUNC_FREXP_NO_LIBM.
12411         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
12412         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12413
12414 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12415
12416         memcoll: clarify sizes versus lengths, document better, and tweak perf
12417         * lib/memcoll.c (strcoll_loop, memcoll0):
12418         Improve quality of descriptive comments.  Name variables
12419         consistently as to whether they are lengths (which do not include
12420         terminating null) versus sizes (which do).
12421         * lib/xmemcoll.c (xmemcoll0): Likewise.
12422         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
12423         returned when s1size == 0; this is easier to compile and saves
12424         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
12425
12426 2010-07-12  Bruno Haible  <bruno@clisp.org>
12427
12428         Tests for module '_Exit'.
12429         * modules/_Exit-tests: New file.
12430         * tests/test-_Exit.sh: New file.
12431         * tests/test-_Exit.c: New file.
12432
12433         New module '_Exit'.
12434         * lib/stdlib.in.h (__attribute__): New macro.
12435         (_Exit): New declaration.
12436         * lib/_Exit.c: New file.
12437         * m4/_Exit.m4: New file.
12438         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
12439         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
12440         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
12441         * modules/_Exit: New file.
12442         * tests/test-stdlib-c++.cc (_Exit): Check signature.
12443         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
12444
12445 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12446
12447         strtod: make it more-accurate typically, and don't require libm
12448         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
12449         Include limits.h.  Don't include string.h.
12450         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
12451         (locale_isspace): New function, so that no casts are needed to
12452         check whether *s is a space.
12453         (ldexp): Provide an unused dummy if not available.
12454         (scale_radix_exp, parse_number, underlying_strtod): New functions.
12455         (strtod): Use them.  This implementation prefers to use the
12456         underlying strtod if available, falling back on our own code
12457         only to fix known bugs.  This is more likely to produce an
12458         accurate result.  Also, it avoids the use of libm functions.
12459         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
12460         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
12461         was absent, but it caused a test failure with coreutils.
12462         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
12463         with libm.
12464         * modules/strtod (Makefile.am, Link): libm is no longer needed.
12465         * modules/strtod-tests (Makefile.am): Likewise.
12466
12467 2010-07-11  Pádraig Brady  <P@draigBrady.com>
12468             Bruno Haible  <bruno@clisp.org>
12469
12470         unistr/u8-strchr: Optimize ASCII argument case.
12471         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
12472
12473 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12474
12475         (x)memcoll: minor tweaks
12476         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
12477         is after the type that it qualifies.
12478         (memcoll0): Likewise.
12479         * lib/memcoll.h (memcoll0): Likewise.
12480         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
12481         * lib/xmemcoll.h (xmemcoll0): Likewise.
12482         * lib/memcoll.c (memcoll0): Correct the comment.  This function
12483         differs from memcoll in that the NUL byte is part of the argument.
12484         Omit the abort-checks, as performance is a real issue here.  Plus,
12485         the checks were wrong anyway (an off-by-one error).  Omit local
12486         variable 'diff', as it's a bit clearer that way.
12487         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
12488         no longer needed.
12489
12490 2010-07-08  Chen Guo <chenguo4@yahoo.com>
12491
12492         (x)memcoll: speedup when input is known to be NUL delimited
12493         * lib/memcoll.c: Include stdlib.
12494         (memcoll0): New function.
12495         (strcoll_loop): New function, refactored for use in both memcoll
12496         and memcoll0.
12497         * lib/memcoll.h (memcoll0): Add prototype.
12498         * lib/xmemcoll.c (xmemcoll0): New function.
12499         (collate_error): New function, refactored for use in both xmemcoll
12500         and xmemcoll0.
12501         * lib/xmemcoll.h (xmemcoll0): Add prototype.
12502         * m4/memcoll.m4: add inline invocation.
12503
12504 2010-07-06  Pádraig Brady  <P@draigBrady.com>
12505
12506         * build-aux/bootstrap: Remove any local translations
12507         from the translation project synchronization directory,
12508         so that local only translations are not distributed.
12509
12510 2010-07-04  Bruno Haible  <bruno@clisp.org>
12511
12512         fsusage: Clarify which code applies to which platforms.
12513         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
12514         platform.
12515         * lib/fsusage.c (get_fs_usage): Likewise.
12516
12517 2010-07-04  Bruno Haible  <bruno@clisp.org>
12518
12519         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
12520         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
12521         Reported by Martin Lambers <marlam@marlam.de>.
12522
12523 2010-07-04  Jim Meyering  <meyering@redhat.com>
12524
12525         hash: once again explicitly disallow insertion of NULL
12526         * lib/hash.c (hash_insert0): Reinstate just-removed test:
12527         inserting a NULL pointer cannot work with these functions.
12528         Add a comment with details.
12529         This reverts part of the 2010-07-01 commit, 5bef1a35
12530         "hash: extend module to deal with non-pointer keys".
12531
12532 2010-07-01  Bruno Haible  <bruno@clisp.org>
12533
12534         stdbool: Update doc.
12535         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
12536         Info from Christian Weisgerber <naddy@mips.inka.de>.
12537
12538 2010-07-01  Jim Meyering  <meyering@redhat.com>
12539
12540         hash: extend module to deal with non-pointer keys
12541         * lib/hash.c (hash_insert0): New interface, much like hash_insert
12542         but that allows insertion of non-pointer entries.
12543         Do not disallow an ENTRY value of NULL.
12544         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
12545         * lib/hash.h (hash_insert0): Declare.
12546
12547 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12548
12549         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
12550         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
12551         not present (i.e. with autoconf 2.59 and when using gettextize, not
12552         gnulib), require AC_GNU_SOURCE instead.
12553
12554 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
12555
12556         idpriv-drop: Fix tests.
12557         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
12558         not to the test-idpriv-droptemp program.
12559
12560 2010-06-29  Bruno Haible  <bruno@clisp.org>
12561
12562         string: Fix syntax error with g++ 2.96.
12563         * lib/string.in.h (__pure__): Remove definition.
12564         (_GL_ATTRIBUTE_PURE): New macro.
12565         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
12566         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
12567         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12568
12569 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
12570
12571         unitypes: Fix bug introduced on 2010-05-18.
12572         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
12573
12574 2010-06-22  Eric Blake  <eblake@redhat.com>
12575
12576         memmem: slight optimization
12577         * lib/str-two-way.h (critical_factorization): Update comments.
12578         Reduce work during factorization phase.
12579         Reported by Carlos Bueno <carlos@bueno.org>.
12580
12581 2010-06-21  Bruno Haible  <bruno@clisp.org>
12582
12583         Fix HAVE_CALLOC_POSIX misnomer.
12584         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
12585         !HAVE_CALLOC_POSIX.
12586         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
12587         HAVE_CALLOC_POSIX.
12588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
12589         instead of HAVE_CALLOC_POSIX.
12590         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
12591         HAVE_CALLOC_POSIX.
12592
12593         Use modern idiom for calloc() replacement.
12594         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
12595         AC_FUNC_CALLOC.
12596         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
12597         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
12598         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12599         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12600         (gl_REPLACE_CALLOC): New macro.
12601
12602 2010-06-21  Bruno Haible  <bruno@clisp.org>
12603
12604         Fix HAVE_REALLOC_POSIX misnomer.
12605         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12606         !HAVE_REALLOC_POSIX.
12607         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12608         HAVE_REALLOC_POSIX.
12609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12610         instead of HAVE_REALLOC_POSIX.
12611         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12612         HAVE_REALLOC_POSIX.
12613
12614         Use modern idiom for realloc() replacement.
12615         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12616         AC_FUNC_REALLOC.
12617         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12618         Autoconf's AC_FUNC_REALLOC.
12619         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12620         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12621         (gl_REPLACE_REALLOC): New macro.
12622         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12623
12624 2010-06-21  Bruno Haible  <bruno@clisp.org>
12625
12626         Fix HAVE_MALLOC_POSIX misnomer.
12627         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12628         !HAVE_MALLOC_POSIX.
12629         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
12630         HAVE_MALLOC_POSIX.
12631         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
12632         instead of HAVE_MALLOC_POSIX.
12633         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
12634         HAVE_MALLOC_POSIX.
12635
12636         Use modern idiom for malloc() replacement.
12637         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
12638         AC_FUNC_MALLOC.
12639         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
12640         Autoconf's AC_FUNC_MALLOC.
12641         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12642         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
12643         (gl_REPLACE_MALLOC): New macro.
12644         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12645
12646 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
12647
12648         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
12649         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
12650         This macro takes 3 arguments, not 4.
12651
12652 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
12653
12654         ipv6: fix detection under mingw
12655         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
12656         in6_addr.
12657
12658 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
12659
12660         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
12661         that strtod() works when cross-compiling to a glibc version known
12662         to work.
12663
12664 2010-06-15  Bruno Haible  <bruno@clisp.org>
12665
12666         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
12667
12668 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
12669
12670         select: Correct timeout.
12671         * lib/select.c (rpl_select): Compute wait_timeout correctly.
12672
12673 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12674
12675         git-version-gen: init shell var to avoid env var influence
12676         * build-aux/git-version-gen (v): Init shell var to empty.
12677
12678 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
12679
12680         priv-set: Don't assume that priv.h exists merely because getppriv does.
12681         See Jan Andersen's bug report about AIX 5L in
12682         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
12683         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
12684         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
12685         * lib/priv-set.h: Likewise.
12686         * tests/test-priv-set.c: Likewise.
12687
12688 2010-06-13  Bruno Haible  <bruno@clisp.org>
12689
12690         relocatable: Make it easier to test whether to install wrappers.
12691         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
12692         RELOCATABLE_VIA_WRAPPER.
12693
12694 2010-06-13  Bruno Haible  <bruno@clisp.org>
12695
12696         gnulib-tool: Display specified modules and dependencies differently.
12697         * gnulib-tool (func_show_module_list): New function.
12698         (func_import, func_create_testdir): Invoke it.
12699         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12700
12701 2010-06-13  Bruno Haible  <bruno@clisp.org>
12702
12703         gnulib-tool: Align code of func_import and func_create_testdir.
12704         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
12705         specified_modules.
12706
12707 2010-06-12  Jim Meyering  <meyering@redhat.com>
12708
12709         test-inttostr: avoid spurious failure on Solaris 9
12710         * tests/test-inttostr.c (main): Skip the test when snprintf fails
12711         to accept "%ju".  Reported by Bruno Haible.
12712
12713 2010-06-11  Jim Meyering  <meyering@redhat.com>
12714
12715         test-sys_socket: mark variables as used more readably
12716         * tests/test-sys_socket.c (main): Mark otherwise unused variables
12717         as "used" explicitly via (void) statement casts.  This is more
12718         readable than using them in an artificial return expression.
12719         Suggestion from Bruno Haible.
12720
12721 2010-06-11  Bruno Haible  <bruno@clisp.org>
12722
12723         Avoid some more warnings from "gcc -Wwrite-strings".
12724         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
12725         to 'const char *'.
12726         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
12727         * tests/test-c-strcasestr.c (main): Likewise.
12728         * tests/test-mbscasestr1.c (main): Likewise.
12729         * tests/test-mbscasestr2.c (main): Likewise.
12730         * tests/test-memmem.c (main): Likewise.
12731         * tests/test-strstr.c (main): Likewise.
12732         * tests/test-strcasestr.c (main): Likewise.
12733
12734 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12735
12736         init.sh: change framework_failure_ to fail with status 99, not 1
12737         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
12738         automake's parallel-tests rule that this is an unexpected failure,
12739         even if the test is listed in XFAIL_TESTS.
12740
12741 2010-06-11  Jim Meyering  <meyering@redhat.com>
12742
12743         test-inttostr: avoid warnings about 4-6KB literal strings
12744         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
12745         Include "macros.h", for its definition of ASSERT.
12746         (CK): s/assert/ASSERT/
12747         * modules/inttostr-tests (Files): Add macros.h.
12748
12749         init.sh: don't use $ME_ or skip_ before they are defined
12750         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
12751         their first uses.  Also hoist their companions: warn_, fail_,
12752         framework_failure_, $stderr_fileno.  Prompted by a patch from
12753         Stefano Lattarini.
12754
12755         test-sys_socket: avoid set-but-not-used warnings from gcc
12756         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
12757         avoid warning about set-but-not-used variables.
12758
12759         test-xvasprintf: avoid 'const' discard warnings
12760         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
12761         "const" when assigning from literal strings.
12762         (test_xasprintf): Add "void" in function argument list to placate
12763         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
12764
12765         tests: avoid compilation warnings in argmatch and exclude tests...
12766         in packages that define ARGMATCH_DIE_DECL, like coreutils.
12767         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
12768         Since it always exits, declare with the "noreturn" attribute.
12769         * tests/test-argmatch.c: Likewise.
12770
12771         tests: avoid 'const' discard warnings in mbsstr tests
12772         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
12773         * tests/test-mbsstr2.c (main): Likewise.
12774
12775         test-verify: avoid warning from gcc's -Wmissing-declarations
12776         * tests/test-verify.c (function): Declare to be static.
12777
12778         test-inttostr.c: include <string.h> for use of strcmp
12779         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
12780
12781         test-linkat: avoid failed assertion on "other" architectures
12782         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
12783         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
12784         sparc: https://bugs.launchpad.net/bugs/591968
12785
12786 2010-06-11  Jim Meyering  <meyering@redhat.com>
12787
12788         printf.m4: avoid autoconf's "Expanded Before Required" warning
12789         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
12790         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
12791         autoconf warning.
12792
12793 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
12794
12795         Replacement header templates are now named with ".in", not "_".
12796         * doc/gnulib-intro.texi: Correct.
12797
12798 2010-06-10  Jim Meyering  <meyering@redhat.com>
12799
12800         inttostr-tests: depend on snprintf, not snprintf-posix
12801         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
12802         snprintf-posix, to avoid this aclocal failure:
12803           missing file gnulib-tests/vasnprintf.c
12804           configure.ac:45: error: expected source file, required through \
12805           AC_LIBSOURCES, not found
12806
12807 2010-06-10  Jim Meyering  <meyering@redhat.com>
12808
12809         inttostr: add a new function, inttostr, and tests
12810         The namesake function was not available.  The existence of the
12811         template file, inttostr.c makes its addition nontrivial.
12812         * lib/anytostr.c: Rename from inttostr.c.
12813         (anytostr): Rename from inttostr.
12814         * lib/inttostr.c: New file.
12815         * modules/inttostr (Files): Add anytostr.c.
12816         (Makefile.am): Set lib_SOURCES instead of ...
12817         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
12818         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
12819         * lib/offtostr.c: Likewise.
12820         * lib/uinttostr.c: Likewise.
12821         * lib/umaxtostr.c: Likewise.
12822         * modules/inttostr-tests: New file.
12823         * tests/test-inttostr.c: New file.  Test these functions.
12824
12825 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
12826             Bruno Haible  <bruno@clisp.org>
12827
12828         Add "Extending Gnulib" chapter to manual.
12829         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
12830         chapter.
12831         (Extending Gnulib): New chapter.
12832         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
12833         chapter.
12834
12835 2010-06-09  Bruno Haible  <bruno@clisp.org>
12836
12837         Avoid relocwrapper link errors due to gnulib replacement functions.
12838         * lib/areadlink.c: Use the system's malloc, realloc functions.
12839         (areadlink): Set errno to ENOMEM explicitly.
12840         * modules/areadlink (Depends-on): Remove malloc-posix.
12841         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12842
12843 2010-06-09  Bruno Haible  <bruno@clisp.org>
12844
12845         Avoid relocwrapper link errors due to gnulib replacement functions.
12846         * lib/canonicalize-lgpl.c: Use the system's malloc function.
12847         * lib/malloca.c: Likewise.
12848         * lib/relocatable.c: Likewise.
12849         * lib/progreloc.c: Use the system's malloc, sprintf functions.
12850         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
12851         * lib/setenv.c: Use the system's malloc, realloc functions.
12852         * lib/strerror.c: Use the system's sprintf function.
12853         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12854
12855 2010-06-04  Bruno Haible  <bruno@clisp.org>
12856
12857         Prefer documented low-level autoconf macro names.
12858         * m4/lib-link.m4: Use m4_translit instead of translit.
12859         * m4/environ.m4: Likewise.
12860         * m4/mathfunc.m4: Likewise.
12861         * m4/onceonly.m4: Likewise.
12862         * m4/stdint.m4: Likewise.
12863         Suggested by Eric Blake.
12864
12865 2010-06-04  Martin Lambers  <marlam@marlam.de>
12866             Bruno Haible  <bruno@clisp.org>
12867
12868         havelib: Allow library names with '+' characters.
12869         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12870         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
12871
12872 2010-06-09  Bruno Haible  <bruno@clisp.org>
12873
12874         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
12875         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
12876         realloc failed.
12877
12878 2010-06-08  Peter Simons  <simons@cryp.to>
12879
12880         maint.mk: make the news-check rule more configurable
12881         * top/maint.mk (news-check-lines-spec): New variable.
12882         (news-check): Use "sed -n 1,10p" in place of "head".
12883
12884 2010-06-07  Jim Meyering  <meyering@redhat.com>
12885
12886         do-release-commit-and-tag: fix typo in --help
12887         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
12888
12889         regex: avoid new dead-code warning with gcc-4.6.0
12890         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
12891         if-block containing a while-loop.  It's been unused for at least
12892         5 years.
12893
12894 2010-06-05  Bruno Haible  <bruno@clisp.org>
12895
12896         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
12897         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
12898
12899 2010-06-04  Bruno Haible  <bruno@clisp.org>
12900
12901         Update to GNU gettext 0.18.1.
12902         * modules/gettext (configure.ac): Require gettext infrastructure from
12903         version 0.18.1.
12904
12905 2010-06-03  Bruno Haible  <bruno@clisp.org>
12906
12907         Don't use AC_LIBOBJ with file names in subdirectories.
12908         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
12909         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
12910         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
12911         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
12912         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
12913         gl_LIBUNISTRING_LIBSOURCE.
12914         (Makefile.am): Augment lib_SOURCES here, conditionally.
12915         * NEWS: Drop requirement for Automake option 'subdir-objects'.
12916
12917 2010-06-03  Bruno Haible  <bruno@clisp.org>
12918
12919         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
12920         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
12921         expansion does not end with a newline.
12922         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
12923         unnecessary newline.
12924
12925 2010-06-03  Bruno Haible  <bruno@clisp.org>
12926
12927         Reduce dependencies.
12928         * tests/test-quotearg.h: New file, extracted from
12929         tests/test-quotearg.c.
12930         * tests/test-quotearg-simple.c: New file, extracted from
12931         tests/test-quotearg.c.
12932         * tests/test-quotearg.c: Don't include <ctype.h>.
12933         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
12934         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
12935         use_quote_double_quotes, use_quotearg_colon): Moved to
12936         tests/test-quotearg.h.
12937         (results_g, flag_results, custom_quotes, custom_results): Moved
12938         to tests/test-quotearg-simple.c.
12939         (main): Moved the part that does not depend on gettext to
12940         tests/test-quotearg-simple.c. Return 77 if the test cannot be
12941         performed.
12942         * modules/quotearg-simple: New file.
12943         * modules/quotearg-simple-tests: New file.
12944         * modules/quotearg (Depends-on): Add quotearg-simple.
12945         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
12946         (Files): Add tests/test-quotearg.h.
12947         Reported by Paolo Bonzini.
12948
12949 2010-06-03  Bruno Haible  <bruno@clisp.org>
12950
12951         Reduce dependencies.
12952         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
12953
12954 2010-06-03  Bruno Haible  <bruno@clisp.org>
12955
12956         time: Undefine more broken macros.
12957         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
12958         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
12959         Reported by Eric Blake.
12960
12961 2010-06-03  Bruno Haible  <bruno@clisp.org>
12962
12963         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
12964         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
12965         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
12966         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
12967         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
12968         Reported by Ludovic Courtès <ludo@gnu.org>.
12969
12970 2010-06-02  Eric Blake  <eblake@redhat.com>
12971
12972         time: work with mingw + pthreads-win32 library
12973         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
12974         if timespec is defined only in pthread.h.
12975         * modules/time (Makefile.am): Substitute it.
12976         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
12977         <pthread.h>, when needed.
12978         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
12979         from the library.
12980
12981 2010-05-31  Bruno Haible  <bruno@clisp.org>
12982
12983         Avoid expanding two macros in the wrong order.
12984         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
12985         gl_LIBUNISTRING if it is defined.
12986         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
12987         autoconf >= 2.64.
12988         Reported by Ludovic Courtès <ludo@gnu.org>.
12989
12990 2010-05-27  Jim Meyering  <meyering@redhat.com>
12991
12992         maint.mk: also prohibit "#undef" of always-defined symbols
12993         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
12994         Allow more than one space before the symbol name.
12995         (sc_prohibit_always-defined_macros): Use grep's -E, now that
12996         the regexp uses alternation.
12997
12998 2010-05-26  Eric Blake  <eblake@redhat.com>
12999
13000         maint.mk: avoid echo -e
13001         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
13002         Convert all uses of echo -* to printf.
13003         Reported by Matthias Bolte.
13004
13005 2010-05-25  Bruno Haible  <bruno@clisp.org>
13006
13007         Update to GNU gettext 0.18, part 2.
13008         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
13009         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
13010
13011 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13012
13013         Add missing include in test-pwrite.c.
13014         * tests/test-pwrite.c: Include string.h, for strcmp.
13015
13016 2010-05-24  Bruno Haible  <bruno@clisp.org>
13017
13018         * NEWS: Mention requirement for Automake option 'subdir-objects'.
13019
13020 2010-05-24  Bruno Haible  <bruno@clisp.org>
13021
13022         Don't use conversion with transliteration in u{8,16,32}_strcoll.
13023         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
13024         iconveh_error argument.
13025         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
13026         U_STRCONV_TO_LOCALE.
13027         * lib/unistr/u16-strcoll.c: Likewise.
13028         * lib/unistr/u32-strcoll.c: Likewise.
13029         * modules/unistr/u8-strcoll (Depends-on): Add
13030         uniconv/u8-strconv-to-enc, localcharset. Remove
13031         uniconv/u8-strconv-to-locale.
13032         (configure.ac): Bump version number.
13033         * modules/unistr/u16-strcoll (Depends-on): Add
13034         uniconv/u16-strconv-to-enc, localcharset. Remove
13035         uniconv/u16-strconv-to-locale.
13036         (configure.ac): Bump version number.
13037         * modules/unistr/u32-strcoll (Depends-on): Add
13038         uniconv/u32-strconv-to-enc, localcharset. Remove
13039         uniconv/u32-strconv-to-locale.
13040         (configure.ac): Bump version number.
13041
13042 2010-05-24  Bruno Haible  <bruno@clisp.org>
13043
13044         Avoid a test failure on NetBSD 5.0.
13045         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
13046         an iconv() bug.
13047
13048 2010-05-24  Bruno Haible  <bruno@clisp.org>
13049
13050         Adjust #include directive style.
13051         * modules/regex (Includes): Recommend to write <regex.h>.
13052
13053 2010-05-24  Bruno Haible  <bruno@clisp.org>
13054
13055         regex: Don't require alloca.
13056         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
13057         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
13058         only inside if (0).
13059
13060 2010-05-23  Jim Meyering  <meyering@redhat.com>
13061
13062         test-renameat.c: include <sys/stat.h>
13063         * tests/test-renameat.c: Include <sys/stat.h>; required for
13064         definition of S_IS* macros.
13065
13066 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
13067
13068         Update maintainer documentation for 'relocatable-prog' module.
13069         * doc/relocatable-maint.texi: Update.
13070         Comments by Bruno Haible.
13071
13072 2010-05-23  Bruno Haible  <bruno@clisp.org>
13073
13074         git-merge-changelog: Enable --split-merged-entry by default.
13075         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
13076         (usage): Don't mention this option any more.
13077         Reported by Ralf Wildenhues.
13078
13079 2010-05-23  Jim Meyering  <meyering@redhat.com>
13080
13081         test-pwrite: do not leave behind a test file named "out"
13082         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
13083         The trivial-looking use of init.sh is really necessary.
13084         It ensures that the temporary file, "out", is created in
13085         a temporary directory, and removed upon termination.
13086         * tests/test-pwrite.sh: Re-add file.
13087         * modules/pwrite-tests: Reference it.
13088
13089 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13090
13091         Fix output redirection buglet in init.sh.
13092         * tests/init.sh: Fix redirection of stderr.
13093
13094 2010-05-20  Simon Josefsson  <simon@josefsson.org>
13095
13096         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
13097
13098 2010-05-17  Simon Josefsson  <simon@josefsson.org>
13099
13100         * modules/valgrind-tests: New file.
13101         * m4/valgrind-tests.m4: New file.
13102         * doc/valgrind-tests.texi: New file.
13103         * doc/gnulib.texi (Running self-tests under valgrind): New
13104         section.
13105
13106 2010-05-19  Bruno Haible  <bruno@clisp.org>
13107
13108         Clean up dead code in recent commit.
13109         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
13110         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
13111         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
13112         Suggested by Paolo Bonzini.
13113
13114 2010-05-19  Bruno Haible  <bruno@clisp.org>
13115
13116         Avoid valgrind error reports from libunistring.
13117         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
13118         * modules/libunistring (Files): Add it.
13119         * modules/libunistring-optional (Files): Likewise.
13120
13121 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
13122             Bruno Haible  <bruno@clisp.org>
13123
13124         New module 'libunistring-optional'.
13125         * modules/libunistring-optional: New file.
13126         * m4/libunistring-base.m4: New file.
13127         * m4/libunistring-optional.m4: New file.
13128         * lib/unicase.in.h: Renamed from lib/unicase.h.
13129         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
13130         * lib/unictype.in.h: Renamed from lib/unictype.h.
13131         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
13132         * lib/uniname.in.h: Renamed from lib/uniname.h.
13133         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
13134         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
13135         * lib/unistr.in.h: Renamed from lib/unistr.h.
13136         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
13137         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
13138         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
13139         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
13140         gl_LIBUNISTRING. If the library was found, determine the installed
13141         version and set LIBUNISTRING_VERSION.
13142         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
13143         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
13144         handle a configuration option --with-included-libunistring.
13145         * modules/libunistring (Files): Add m4/absolute-header.m4.
13146         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
13147         Add m4/libunistring-base.m4.
13148         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13149         (Makefile.am): Build unicase.h from unicase.in.h.
13150         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
13151         Add m4/libunistring-base.m4.
13152         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13153         (Makefile.am): Build uniconv.h from uniconv.in.h.
13154         * modules/unictype/base (Files): Use unictype.in.h instead of
13155         unictype.h. Add m4/libunistring-base.m4.
13156         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13157         (Makefile.am): Build unictype.h from unictype.in.h.
13158         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
13159         Add m4/libunistring-base.m4.
13160         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13161         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
13162         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
13163         Add m4/libunistring-base.m4.
13164         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13165         (Makefile.am): Build uniname.h from uniname.in.h.
13166         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
13167         Add m4/libunistring-base.m4.
13168         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13169         (Makefile.am): Build uninorm.h from uninorm.in.h.
13170         * modules/unistdio/base (Files): Use unistdio.in.h instead of
13171         unistdio.h. Add m4/libunistring-base.m4.
13172         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13173         (Makefile.am): Build unistdio.h from unistdio.in.h.
13174         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
13175         Add m4/libunistring-base.m4.
13176         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13177         (Makefile.am): Build unistr.h from unistr.in.h.
13178         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
13179         Add m4/libunistring-base.m4.
13180         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13181         (Makefile.am): Build unitypes.h from unitypes.in.h.
13182         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
13183         Add m4/libunistring-base.m4.
13184         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13185         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
13186         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
13187         uniwidth.h. Add m4/libunistring-base.m4.
13188         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13189         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
13190         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
13191         instead of augmenting lib_SOURCES.
13192         * modules/unicase/empty-suffix-context: Likewise.
13193         * modules/unicase/locale-language: Likewise.
13194         * modules/unicase/tolower: Likewise.
13195         * modules/unicase/totitle: Likewise.
13196         * modules/unicase/toupper: Likewise.
13197         * modules/unicase/u8-casecmp: Likewise.
13198         * modules/unicase/u8-casecoll: Likewise.
13199         * modules/unicase/u8-casefold: Likewise.
13200         * modules/unicase/u8-casexfrm: Likewise.
13201         * modules/unicase/u8-ct-casefold: Likewise.
13202         * modules/unicase/u8-ct-tolower: Likewise.
13203         * modules/unicase/u8-ct-totitle: Likewise.
13204         * modules/unicase/u8-ct-toupper: Likewise.
13205         * modules/unicase/u8-is-cased: Likewise.
13206         * modules/unicase/u8-is-casefolded: Likewise.
13207         * modules/unicase/u8-is-lowercase: Likewise.
13208         * modules/unicase/u8-is-titlecase: Likewise.
13209         * modules/unicase/u8-is-uppercase: Likewise.
13210         * modules/unicase/u8-prefix-context: Likewise.
13211         * modules/unicase/u8-suffix-context: Likewise.
13212         * modules/unicase/u8-tolower: Likewise.
13213         * modules/unicase/u8-totitle: Likewise.
13214         * modules/unicase/u8-toupper: Likewise.
13215         * modules/unicase/u16-casecmp: Likewise.
13216         * modules/unicase/u16-casecoll: Likewise.
13217         * modules/unicase/u16-casefold: Likewise.
13218         * modules/unicase/u16-casexfrm: Likewise.
13219         * modules/unicase/u16-ct-casefold: Likewise.
13220         * modules/unicase/u16-ct-tolower: Likewise.
13221         * modules/unicase/u16-ct-totitle: Likewise.
13222         * modules/unicase/u16-ct-toupper: Likewise.
13223         * modules/unicase/u16-is-cased: Likewise.
13224         * modules/unicase/u16-is-casefolded: Likewise.
13225         * modules/unicase/u16-is-lowercase: Likewise.
13226         * modules/unicase/u16-is-titlecase: Likewise.
13227         * modules/unicase/u16-is-uppercase: Likewise.
13228         * modules/unicase/u16-prefix-context: Likewise.
13229         * modules/unicase/u16-suffix-context: Likewise.
13230         * modules/unicase/u16-tolower: Likewise.
13231         * modules/unicase/u16-totitle: Likewise.
13232         * modules/unicase/u16-toupper: Likewise.
13233         * modules/unicase/u32-casecmp: Likewise.
13234         * modules/unicase/u32-casecoll: Likewise.
13235         * modules/unicase/u32-casefold: Likewise.
13236         * modules/unicase/u32-casexfrm: Likewise.
13237         * modules/unicase/u32-ct-casefold: Likewise.
13238         * modules/unicase/u32-ct-tolower: Likewise.
13239         * modules/unicase/u32-ct-totitle: Likewise.
13240         * modules/unicase/u32-ct-toupper: Likewise.
13241         * modules/unicase/u32-is-cased: Likewise.
13242         * modules/unicase/u32-is-casefolded: Likewise.
13243         * modules/unicase/u32-is-lowercase: Likewise.
13244         * modules/unicase/u32-is-titlecase: Likewise.
13245         * modules/unicase/u32-is-uppercase: Likewise.
13246         * modules/unicase/u32-prefix-context: Likewise.
13247         * modules/unicase/u32-suffix-context: Likewise.
13248         * modules/unicase/u32-tolower: Likewise.
13249         * modules/unicase/u32-totitle: Likewise.
13250         * modules/unicase/u32-toupper: Likewise.
13251         * modules/unicase/ulc-casecmp: Likewise.
13252         * modules/unicase/ulc-casecoll: Likewise.
13253         * modules/unicase/ulc-casexfrm: Likewise.
13254         * modules/uniconv/u8-conv-from-enc: Likewise.
13255         * modules/uniconv/u8-conv-to-enc: Likewise.
13256         * modules/uniconv/u8-strconv-from-enc: Likewise.
13257         * modules/uniconv/u8-strconv-from-locale: Likewise.
13258         * modules/uniconv/u8-strconv-to-enc: Likewise.
13259         * modules/uniconv/u8-strconv-to-locale: Likewise.
13260         * modules/uniconv/u16-conv-from-enc: Likewise.
13261         * modules/uniconv/u16-conv-to-enc: Likewise.
13262         * modules/uniconv/u16-strconv-from-enc: Likewise.
13263         * modules/uniconv/u16-strconv-from-locale: Likewise.
13264         * modules/uniconv/u16-strconv-to-enc: Likewise.
13265         * modules/uniconv/u16-strconv-to-locale: Likewise.
13266         * modules/uniconv/u32-conv-from-enc: Likewise.
13267         * modules/uniconv/u32-conv-to-enc: Likewise.
13268         * modules/uniconv/u32-strconv-from-enc: Likewise.
13269         * modules/uniconv/u32-strconv-from-locale: Likewise.
13270         * modules/uniconv/u32-strconv-to-enc: Likewise.
13271         * modules/uniconv/u32-strconv-to-locale: Likewise.
13272         * modules/unictype/bidicategory-byname: Likewise.
13273         * modules/unictype/bidicategory-name: Likewise.
13274         * modules/unictype/bidicategory-of: Likewise.
13275         * modules/unictype/bidicategory-test: Likewise.
13276         * modules/unictype/block-list: Likewise.
13277         * modules/unictype/block-test: Likewise.
13278         * modules/unictype/category-C: Likewise.
13279         * modules/unictype/category-Cc: Likewise.
13280         * modules/unictype/category-Cf: Likewise.
13281         * modules/unictype/category-Cn: Likewise.
13282         * modules/unictype/category-Co: Likewise.
13283         * modules/unictype/category-Cs: Likewise.
13284         * modules/unictype/category-L: Likewise.
13285         * modules/unictype/category-Ll: Likewise.
13286         * modules/unictype/category-Lm: Likewise.
13287         * modules/unictype/category-Lo: Likewise.
13288         * modules/unictype/category-Lt: Likewise.
13289         * modules/unictype/category-Lu: Likewise.
13290         * modules/unictype/category-M: Likewise.
13291         * modules/unictype/category-Mc: Likewise.
13292         * modules/unictype/category-Me: Likewise.
13293         * modules/unictype/category-Mn: Likewise.
13294         * modules/unictype/category-N: Likewise.
13295         * modules/unictype/category-Nd: Likewise.
13296         * modules/unictype/category-Nl: Likewise.
13297         * modules/unictype/category-No: Likewise.
13298         * modules/unictype/category-P: Likewise.
13299         * modules/unictype/category-Pc: Likewise.
13300         * modules/unictype/category-Pd: Likewise.
13301         * modules/unictype/category-Pe: Likewise.
13302         * modules/unictype/category-Pf: Likewise.
13303         * modules/unictype/category-Pi: Likewise.
13304         * modules/unictype/category-Po: Likewise.
13305         * modules/unictype/category-Ps: Likewise.
13306         * modules/unictype/category-S: Likewise.
13307         * modules/unictype/category-Sc: Likewise.
13308         * modules/unictype/category-Sk: Likewise.
13309         * modules/unictype/category-Sm: Likewise.
13310         * modules/unictype/category-So: Likewise.
13311         * modules/unictype/category-Z: Likewise.
13312         * modules/unictype/category-Zl: Likewise.
13313         * modules/unictype/category-Zp: Likewise.
13314         * modules/unictype/category-Zs: Likewise.
13315         * modules/unictype/category-and: Likewise.
13316         * modules/unictype/category-and-not: Likewise.
13317         * modules/unictype/category-byname: Likewise.
13318         * modules/unictype/category-name: Likewise.
13319         * modules/unictype/category-none: Likewise.
13320         * modules/unictype/category-of: Likewise.
13321         * modules/unictype/category-or: Likewise.
13322         * modules/unictype/category-test: Likewise.
13323         * modules/unictype/combining-class: Likewise.
13324         * modules/unictype/ctype-alnum: Likewise.
13325         * modules/unictype/ctype-alpha: Likewise.
13326         * modules/unictype/ctype-blank: Likewise.
13327         * modules/unictype/ctype-cntrl: Likewise.
13328         * modules/unictype/ctype-digit: Likewise.
13329         * modules/unictype/ctype-graph: Likewise.
13330         * modules/unictype/ctype-lower: Likewise.
13331         * modules/unictype/ctype-print: Likewise.
13332         * modules/unictype/ctype-punct: Likewise.
13333         * modules/unictype/ctype-space: Likewise.
13334         * modules/unictype/ctype-upper: Likewise.
13335         * modules/unictype/ctype-xdigit: Likewise.
13336         * modules/unictype/decimal-digit: Likewise.
13337         * modules/unictype/digit: Likewise.
13338         * modules/unictype/mirror: Likewise.
13339         * modules/unictype/numeric: Likewise.
13340         * modules/unictype/property-alphabetic: Likewise.
13341         * modules/unictype/property-ascii-hex-digit: Likewise.
13342         * modules/unictype/property-bidi-arabic-digit: Likewise.
13343         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
13344         * modules/unictype/property-bidi-block-separator: Likewise.
13345         * modules/unictype/property-bidi-boundary-neutral: Likewise.
13346         * modules/unictype/property-bidi-common-separator: Likewise.
13347         * modules/unictype/property-bidi-control: Likewise.
13348         * modules/unictype/property-bidi-embedding-or-override: Likewise.
13349         * modules/unictype/property-bidi-eur-num-separator: Likewise.
13350         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
13351         * modules/unictype/property-bidi-european-digit: Likewise.
13352         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
13353         * modules/unictype/property-bidi-left-to-right: Likewise.
13354         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
13355         * modules/unictype/property-bidi-other-neutral: Likewise.
13356         * modules/unictype/property-bidi-pdf: Likewise.
13357         * modules/unictype/property-bidi-segment-separator: Likewise.
13358         * modules/unictype/property-bidi-whitespace: Likewise.
13359         * modules/unictype/property-byname: Likewise.
13360         * modules/unictype/property-combining: Likewise.
13361         * modules/unictype/property-composite: Likewise.
13362         * modules/unictype/property-currency-symbol: Likewise.
13363         * modules/unictype/property-dash: Likewise.
13364         * modules/unictype/property-decimal-digit: Likewise.
13365         * modules/unictype/property-default-ignorable-code-point: Likewise.
13366         * modules/unictype/property-deprecated: Likewise.
13367         * modules/unictype/property-diacritic: Likewise.
13368         * modules/unictype/property-extender: Likewise.
13369         * modules/unictype/property-format-control: Likewise.
13370         * modules/unictype/property-grapheme-base: Likewise.
13371         * modules/unictype/property-grapheme-extend: Likewise.
13372         * modules/unictype/property-grapheme-link: Likewise.
13373         * modules/unictype/property-hex-digit: Likewise.
13374         * modules/unictype/property-hyphen: Likewise.
13375         * modules/unictype/property-id-continue: Likewise.
13376         * modules/unictype/property-id-start: Likewise.
13377         * modules/unictype/property-ideographic: Likewise.
13378         * modules/unictype/property-ids-binary-operator: Likewise.
13379         * modules/unictype/property-ids-trinary-operator: Likewise.
13380         * modules/unictype/property-ignorable-control: Likewise.
13381         * modules/unictype/property-iso-control: Likewise.
13382         * modules/unictype/property-join-control: Likewise.
13383         * modules/unictype/property-left-of-pair: Likewise.
13384         * modules/unictype/property-line-separator: Likewise.
13385         * modules/unictype/property-logical-order-exception: Likewise.
13386         * modules/unictype/property-lowercase: Likewise.
13387         * modules/unictype/property-math: Likewise.
13388         * modules/unictype/property-non-break: Likewise.
13389         * modules/unictype/property-not-a-character: Likewise.
13390         * modules/unictype/property-numeric: Likewise.
13391         * modules/unictype/property-other-alphabetic: Likewise.
13392         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
13393         * modules/unictype/property-other-grapheme-extend: Likewise.
13394         * modules/unictype/property-other-id-continue: Likewise.
13395         * modules/unictype/property-other-id-start: Likewise.
13396         * modules/unictype/property-other-lowercase: Likewise.
13397         * modules/unictype/property-other-math: Likewise.
13398         * modules/unictype/property-other-uppercase: Likewise.
13399         * modules/unictype/property-paired-punctuation: Likewise.
13400         * modules/unictype/property-paragraph-separator: Likewise.
13401         * modules/unictype/property-pattern-syntax: Likewise.
13402         * modules/unictype/property-pattern-white-space: Likewise.
13403         * modules/unictype/property-private-use: Likewise.
13404         * modules/unictype/property-punctuation: Likewise.
13405         * modules/unictype/property-quotation-mark: Likewise.
13406         * modules/unictype/property-radical: Likewise.
13407         * modules/unictype/property-sentence-terminal: Likewise.
13408         * modules/unictype/property-soft-dotted: Likewise.
13409         * modules/unictype/property-space: Likewise.
13410         * modules/unictype/property-terminal-punctuation: Likewise.
13411         * modules/unictype/property-test: Likewise.
13412         * modules/unictype/property-titlecase: Likewise.
13413         * modules/unictype/property-unassigned-code-value: Likewise.
13414         * modules/unictype/property-unified-ideograph: Likewise.
13415         * modules/unictype/property-uppercase: Likewise.
13416         * modules/unictype/property-variation-selector: Likewise.
13417         * modules/unictype/property-white-space: Likewise.
13418         * modules/unictype/property-xid-continue: Likewise.
13419         * modules/unictype/property-xid-start: Likewise.
13420         * modules/unictype/property-zero-width: Likewise.
13421         * modules/unictype/scripts: Likewise.
13422         * modules/unictype/syntax-c-ident: Likewise.
13423         * modules/unictype/syntax-c-whitespace: Likewise.
13424         * modules/unictype/syntax-java-ident: Likewise.
13425         * modules/unictype/syntax-java-whitespace: Likewise.
13426         * modules/unilbrk/u8-possible-linebreaks: Likewise.
13427         * modules/unilbrk/u8-width-linebreaks: Likewise.
13428         * modules/unilbrk/u16-possible-linebreaks: Likewise.
13429         * modules/unilbrk/u16-width-linebreaks: Likewise.
13430         * modules/unilbrk/u32-possible-linebreaks: Likewise.
13431         * modules/unilbrk/u32-width-linebreaks: Likewise.
13432         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
13433         * modules/unilbrk/ulc-width-linebreaks: Likewise.
13434         * modules/uniname/uniname: Likewise.
13435         * modules/uninorm/canonical-decomposition: Likewise.
13436         * modules/uninorm/composition: Likewise.
13437         * modules/uninorm/decomposing-form: Likewise.
13438         * modules/uninorm/decomposition: Likewise.
13439         * modules/uninorm/filter: Likewise.
13440         * modules/uninorm/nfc: Likewise.
13441         * modules/uninorm/nfd: Likewise.
13442         * modules/uninorm/nfkc: Likewise.
13443         * modules/uninorm/nfkd: Likewise.
13444         * modules/uninorm/u8-normalize: Likewise.
13445         * modules/uninorm/u8-normcmp: Likewise.
13446         * modules/uninorm/u8-normcoll: Likewise.
13447         * modules/uninorm/u8-normxfrm: Likewise.
13448         * modules/uninorm/u16-normalize: Likewise.
13449         * modules/uninorm/u16-normcmp: Likewise.
13450         * modules/uninorm/u16-normcoll: Likewise.
13451         * modules/uninorm/u16-normxfrm: Likewise.
13452         * modules/uninorm/u32-normalize: Likewise.
13453         * modules/uninorm/u32-normcmp: Likewise.
13454         * modules/uninorm/u32-normcoll: Likewise.
13455         * modules/uninorm/u32-normxfrm: Likewise.
13456         * modules/unistdio/u8-asnprintf: Likewise.
13457         * modules/unistdio/u8-asprintf: Likewise.
13458         * modules/unistdio/u8-snprintf: Likewise.
13459         * modules/unistdio/u8-sprintf: Likewise.
13460         * modules/unistdio/u8-u8-asnprintf: Likewise.
13461         * modules/unistdio/u8-u8-asprintf: Likewise.
13462         * modules/unistdio/u8-u8-snprintf: Likewise.
13463         * modules/unistdio/u8-u8-sprintf: Likewise.
13464         * modules/unistdio/u8-u8-vasnprintf: Likewise.
13465         * modules/unistdio/u8-u8-vasprintf: Likewise.
13466         * modules/unistdio/u8-u8-vsnprintf: Likewise.
13467         * modules/unistdio/u8-u8-vsprintf: Likewise.
13468         * modules/unistdio/u8-vasnprintf: Likewise.
13469         * modules/unistdio/u8-vasprintf: Likewise.
13470         * modules/unistdio/u8-vsnprintf: Likewise.
13471         * modules/unistdio/u8-vsprintf: Likewise.
13472         * modules/unistdio/u16-asnprintf: Likewise.
13473         * modules/unistdio/u16-asprintf: Likewise.
13474         * modules/unistdio/u16-snprintf: Likewise.
13475         * modules/unistdio/u16-sprintf: Likewise.
13476         * modules/unistdio/u16-u16-asnprintf: Likewise.
13477         * modules/unistdio/u16-u16-asprintf: Likewise.
13478         * modules/unistdio/u16-u16-snprintf: Likewise.
13479         * modules/unistdio/u16-u16-sprintf: Likewise.
13480         * modules/unistdio/u16-u16-vasnprintf: Likewise.
13481         * modules/unistdio/u16-u16-vasprintf: Likewise.
13482         * modules/unistdio/u16-u16-vsnprintf: Likewise.
13483         * modules/unistdio/u16-u16-vsprintf: Likewise.
13484         * modules/unistdio/u16-vasnprintf: Likewise.
13485         * modules/unistdio/u16-vasprintf: Likewise.
13486         * modules/unistdio/u16-vsnprintf: Likewise.
13487         * modules/unistdio/u16-vsprintf: Likewise.
13488         * modules/unistdio/u32-asnprintf: Likewise.
13489         * modules/unistdio/u32-asprintf: Likewise.
13490         * modules/unistdio/u32-snprintf: Likewise.
13491         * modules/unistdio/u32-sprintf: Likewise.
13492         * modules/unistdio/u32-u32-asnprintf: Likewise.
13493         * modules/unistdio/u32-u32-asprintf: Likewise.
13494         * modules/unistdio/u32-u32-snprintf: Likewise.
13495         * modules/unistdio/u32-u32-sprintf: Likewise.
13496         * modules/unistdio/u32-u32-vasnprintf: Likewise.
13497         * modules/unistdio/u32-u32-vasprintf: Likewise.
13498         * modules/unistdio/u32-u32-vsnprintf: Likewise.
13499         * modules/unistdio/u32-u32-vsprintf: Likewise.
13500         * modules/unistdio/u32-vasnprintf: Likewise.
13501         * modules/unistdio/u32-vasprintf: Likewise.
13502         * modules/unistdio/u32-vsnprintf: Likewise.
13503         * modules/unistdio/u32-vsprintf: Likewise.
13504         * modules/unistdio/ulc-asnprintf: Likewise.
13505         * modules/unistdio/ulc-asprintf: Likewise.
13506         * modules/unistdio/ulc-fprintf: Likewise.
13507         * modules/unistdio/ulc-snprintf: Likewise.
13508         * modules/unistdio/ulc-sprintf: Likewise.
13509         * modules/unistdio/ulc-vasnprintf: Likewise.
13510         * modules/unistdio/ulc-vasprintf: Likewise.
13511         * modules/unistdio/ulc-vfprintf: Likewise.
13512         * modules/unistdio/ulc-vsnprintf: Likewise.
13513         * modules/unistdio/ulc-vsprintf: Likewise.
13514         * modules/unistr/u8-check: Likewise.
13515         * modules/unistr/u8-chr: Likewise.
13516         * modules/unistr/u8-cmp: Likewise.
13517         * modules/unistr/u8-cmp2: Likewise.
13518         * modules/unistr/u8-cpy: Likewise.
13519         * modules/unistr/u8-cpy-alloc: Likewise.
13520         * modules/unistr/u8-endswith: Likewise.
13521         * modules/unistr/u8-mblen: Likewise.
13522         * modules/unistr/u8-mbsnlen: Likewise.
13523         * modules/unistr/u8-mbtouc: Likewise.
13524         * modules/unistr/u8-mbtouc-unsafe: Likewise.
13525         * modules/unistr/u8-mbtoucr: Likewise.
13526         * modules/unistr/u8-move: Likewise.
13527         * modules/unistr/u8-next: Likewise.
13528         * modules/unistr/u8-prev: Likewise.
13529         * modules/unistr/u8-set: Likewise.
13530         * modules/unistr/u8-startswith: Likewise.
13531         * modules/unistr/u8-stpcpy: Likewise.
13532         * modules/unistr/u8-stpncpy: Likewise.
13533         * modules/unistr/u8-strcat: Likewise.
13534         * modules/unistr/u8-strchr: Likewise.
13535         * modules/unistr/u8-strcmp: Likewise.
13536         * modules/unistr/u8-strcoll: Likewise.
13537         * modules/unistr/u8-strcpy: Likewise.
13538         * modules/unistr/u8-strcspn: Likewise.
13539         * modules/unistr/u8-strdup: Likewise.
13540         * modules/unistr/u8-strlen: Likewise.
13541         * modules/unistr/u8-strmblen: Likewise.
13542         * modules/unistr/u8-strmbtouc: Likewise.
13543         * modules/unistr/u8-strncat: Likewise.
13544         * modules/unistr/u8-strncmp: Likewise.
13545         * modules/unistr/u8-strncpy: Likewise.
13546         * modules/unistr/u8-strnlen: Likewise.
13547         * modules/unistr/u8-strpbrk: Likewise.
13548         * modules/unistr/u8-strrchr: Likewise.
13549         * modules/unistr/u8-strspn: Likewise.
13550         * modules/unistr/u8-strstr: Likewise.
13551         * modules/unistr/u8-strtok: Likewise.
13552         * modules/unistr/u8-to-u16: Likewise.
13553         * modules/unistr/u8-to-u32: Likewise.
13554         * modules/unistr/u8-uctomb: Likewise.
13555         * modules/unistr/u16-check: Likewise.
13556         * modules/unistr/u16-chr: Likewise.
13557         * modules/unistr/u16-cmp: Likewise.
13558         * modules/unistr/u16-cmp2: Likewise.
13559         * modules/unistr/u16-cpy: Likewise.
13560         * modules/unistr/u16-cpy-alloc: Likewise.
13561         * modules/unistr/u16-endswith: Likewise.
13562         * modules/unistr/u16-mblen: Likewise.
13563         * modules/unistr/u16-mbsnlen: Likewise.
13564         * modules/unistr/u16-mbtouc: Likewise.
13565         * modules/unistr/u16-mbtouc-unsafe: Likewise.
13566         * modules/unistr/u16-mbtoucr: Likewise.
13567         * modules/unistr/u16-move: Likewise.
13568         * modules/unistr/u16-next: Likewise.
13569         * modules/unistr/u16-prev: Likewise.
13570         * modules/unistr/u16-set: Likewise.
13571         * modules/unistr/u16-startswith: Likewise.
13572         * modules/unistr/u16-stpcpy: Likewise.
13573         * modules/unistr/u16-stpncpy: Likewise.
13574         * modules/unistr/u16-strcat: Likewise.
13575         * modules/unistr/u16-strchr: Likewise.
13576         * modules/unistr/u16-strcmp: Likewise.
13577         * modules/unistr/u16-strcoll: Likewise.
13578         * modules/unistr/u16-strcpy: Likewise.
13579         * modules/unistr/u16-strcspn: Likewise.
13580         * modules/unistr/u16-strdup: Likewise.
13581         * modules/unistr/u16-strlen: Likewise.
13582         * modules/unistr/u16-strmblen: Likewise.
13583         * modules/unistr/u16-strmbtouc: Likewise.
13584         * modules/unistr/u16-strncat: Likewise.
13585         * modules/unistr/u16-strncmp: Likewise.
13586         * modules/unistr/u16-strncpy: Likewise.
13587         * modules/unistr/u16-strnlen: Likewise.
13588         * modules/unistr/u16-strpbrk: Likewise.
13589         * modules/unistr/u16-strrchr: Likewise.
13590         * modules/unistr/u16-strspn: Likewise.
13591         * modules/unistr/u16-strstr: Likewise.
13592         * modules/unistr/u16-strtok: Likewise.
13593         * modules/unistr/u16-to-u32: Likewise.
13594         * modules/unistr/u16-to-u8: Likewise.
13595         * modules/unistr/u16-uctomb: Likewise.
13596         * modules/unistr/u32-check: Likewise.
13597         * modules/unistr/u32-chr: Likewise.
13598         * modules/unistr/u32-cmp: Likewise.
13599         * modules/unistr/u32-cmp2: Likewise.
13600         * modules/unistr/u32-cpy: Likewise.
13601         * modules/unistr/u32-cpy-alloc: Likewise.
13602         * modules/unistr/u32-endswith: Likewise.
13603         * modules/unistr/u32-mblen: Likewise.
13604         * modules/unistr/u32-mbsnlen: Likewise.
13605         * modules/unistr/u32-mbtouc: Likewise.
13606         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13607         * modules/unistr/u32-mbtoucr: Likewise.
13608         * modules/unistr/u32-move: Likewise.
13609         * modules/unistr/u32-next: Likewise.
13610         * modules/unistr/u32-prev: Likewise.
13611         * modules/unistr/u32-set: Likewise.
13612         * modules/unistr/u32-startswith: Likewise.
13613         * modules/unistr/u32-stpcpy: Likewise.
13614         * modules/unistr/u32-stpncpy: Likewise.
13615         * modules/unistr/u32-strcat: Likewise.
13616         * modules/unistr/u32-strchr: Likewise.
13617         * modules/unistr/u32-strcmp: Likewise.
13618         * modules/unistr/u32-strcoll: Likewise.
13619         * modules/unistr/u32-strcpy: Likewise.
13620         * modules/unistr/u32-strcspn: Likewise.
13621         * modules/unistr/u32-strdup: Likewise.
13622         * modules/unistr/u32-strlen: Likewise.
13623         * modules/unistr/u32-strmblen: Likewise.
13624         * modules/unistr/u32-strmbtouc: Likewise.
13625         * modules/unistr/u32-strncat: Likewise.
13626         * modules/unistr/u32-strncmp: Likewise.
13627         * modules/unistr/u32-strncpy: Likewise.
13628         * modules/unistr/u32-strnlen: Likewise.
13629         * modules/unistr/u32-strpbrk: Likewise.
13630         * modules/unistr/u32-strrchr: Likewise.
13631         * modules/unistr/u32-strspn: Likewise.
13632         * modules/unistr/u32-strstr: Likewise.
13633         * modules/unistr/u32-strtok: Likewise.
13634         * modules/unistr/u32-to-u16: Likewise.
13635         * modules/unistr/u32-to-u8: Likewise.
13636         * modules/unistr/u32-uctomb: Likewise.
13637         * modules/uniwbrk/u8-wordbreaks: Likewise.
13638         * modules/uniwbrk/u16-wordbreaks: Likewise.
13639         * modules/uniwbrk/u32-wordbreaks: Likewise.
13640         * modules/uniwbrk/ulc-wordbreaks: Likewise.
13641         * modules/uniwbrk/wordbreak-property: Likewise.
13642         * modules/uniwidth/u8-strwidth: Likewise.
13643         * modules/uniwidth/u8-width: Likewise.
13644         * modules/uniwidth/u16-strwidth: Likewise.
13645         * modules/uniwidth/u16-width: Likewise.
13646         * modules/uniwidth/u32-strwidth: Likewise.
13647         * modules/uniwidth/u32-width: Likewise.
13648         * modules/uniwidth/width: Likewise.
13649         * modules/unicase/cased-tests (Makefile.am): Link all test programs
13650         with $(LIBUNISTRING).
13651         * modules/unicase/ignorable-tests: Likewise.
13652         * modules/unicase/locale-language-tests: Likewise.
13653         * modules/unicase/tolower-tests: Likewise.
13654         * modules/unicase/totitle-tests: Likewise.
13655         * modules/unicase/toupper-tests: Likewise.
13656         * modules/unicase/u8-casecmp-tests: Likewise.
13657         * modules/unicase/u8-casecoll-tests: Likewise.
13658         * modules/unicase/u8-casefold-tests: Likewise.
13659         * modules/unicase/u8-is-cased-tests: Likewise.
13660         * modules/unicase/u8-is-casefolded-tests: Likewise.
13661         * modules/unicase/u8-is-lowercase-tests: Likewise.
13662         * modules/unicase/u8-is-titlecase-tests: Likewise.
13663         * modules/unicase/u8-is-uppercase-tests: Likewise.
13664         * modules/unicase/u8-tolower-tests: Likewise.
13665         * modules/unicase/u8-totitle-tests: Likewise.
13666         * modules/unicase/u8-toupper-tests: Likewise.
13667         * modules/unicase/u16-casecmp-tests: Likewise.
13668         * modules/unicase/u16-casecoll-tests: Likewise.
13669         * modules/unicase/u16-casefold-tests: Likewise.
13670         * modules/unicase/u16-is-cased-tests: Likewise.
13671         * modules/unicase/u16-is-casefolded-tests: Likewise.
13672         * modules/unicase/u16-is-lowercase-tests: Likewise.
13673         * modules/unicase/u16-is-titlecase-tests: Likewise.
13674         * modules/unicase/u16-is-uppercase-tests: Likewise.
13675         * modules/unicase/u16-tolower-tests: Likewise.
13676         * modules/unicase/u16-totitle-tests: Likewise.
13677         * modules/unicase/u16-toupper-tests: Likewise.
13678         * modules/unicase/u32-casecmp-tests: Likewise.
13679         * modules/unicase/u32-casecoll-tests: Likewise.
13680         * modules/unicase/u32-casefold-tests: Likewise.
13681         * modules/unicase/u32-is-cased-tests: Likewise.
13682         * modules/unicase/u32-is-casefolded-tests: Likewise.
13683         * modules/unicase/u32-is-lowercase-tests: Likewise.
13684         * modules/unicase/u32-is-titlecase-tests: Likewise.
13685         * modules/unicase/u32-is-uppercase-tests: Likewise.
13686         * modules/unicase/u32-tolower-tests: Likewise.
13687         * modules/unicase/u32-totitle-tests: Likewise.
13688         * modules/unicase/u32-toupper-tests: Likewise.
13689         * modules/unicase/ulc-casecmp-tests: Likewise.
13690         * modules/unicase/ulc-casecoll-tests: Likewise.
13691         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
13692         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
13693         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
13694         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
13695         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
13696         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
13697         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
13698         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
13699         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
13700         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
13701         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
13702         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
13703         * modules/unictype/bidicategory-byname-tests: Likewise.
13704         * modules/unictype/bidicategory-name-tests: Likewise.
13705         * modules/unictype/bidicategory-of-tests: Likewise.
13706         * modules/unictype/bidicategory-test-tests: Likewise.
13707         * modules/unictype/block-list-tests: Likewise.
13708         * modules/unictype/block-of-tests: Likewise.
13709         * modules/unictype/block-test-tests: Likewise.
13710         * modules/unictype/category-C-tests: Likewise.
13711         * modules/unictype/category-Cc-tests: Likewise.
13712         * modules/unictype/category-Cf-tests: Likewise.
13713         * modules/unictype/category-Cn-tests: Likewise.
13714         * modules/unictype/category-Co-tests: Likewise.
13715         * modules/unictype/category-Cs-tests: Likewise.
13716         * modules/unictype/category-L-tests: Likewise.
13717         * modules/unictype/category-Ll-tests: Likewise.
13718         * modules/unictype/category-Lm-tests: Likewise.
13719         * modules/unictype/category-Lo-tests: Likewise.
13720         * modules/unictype/category-Lt-tests: Likewise.
13721         * modules/unictype/category-Lu-tests: Likewise.
13722         * modules/unictype/category-M-tests: Likewise.
13723         * modules/unictype/category-Mc-tests: Likewise.
13724         * modules/unictype/category-Me-tests: Likewise.
13725         * modules/unictype/category-Mn-tests: Likewise.
13726         * modules/unictype/category-N-tests: Likewise.
13727         * modules/unictype/category-Nd-tests: Likewise.
13728         * modules/unictype/category-Nl-tests: Likewise.
13729         * modules/unictype/category-No-tests: Likewise.
13730         * modules/unictype/category-P-tests: Likewise.
13731         * modules/unictype/category-Pc-tests: Likewise.
13732         * modules/unictype/category-Pd-tests: Likewise.
13733         * modules/unictype/category-Pe-tests: Likewise.
13734         * modules/unictype/category-Pf-tests: Likewise.
13735         * modules/unictype/category-Pi-tests: Likewise.
13736         * modules/unictype/category-Po-tests: Likewise.
13737         * modules/unictype/category-Ps-tests: Likewise.
13738         * modules/unictype/category-S-tests: Likewise.
13739         * modules/unictype/category-Sc-tests: Likewise.
13740         * modules/unictype/category-Sk-tests: Likewise.
13741         * modules/unictype/category-Sm-tests: Likewise.
13742         * modules/unictype/category-So-tests: Likewise.
13743         * modules/unictype/category-Z-tests: Likewise.
13744         * modules/unictype/category-Zl-tests: Likewise.
13745         * modules/unictype/category-Zp-tests: Likewise.
13746         * modules/unictype/category-Zs-tests: Likewise.
13747         * modules/unictype/category-and-not-tests: Likewise.
13748         * modules/unictype/category-and-tests: Likewise.
13749         * modules/unictype/category-byname-tests: Likewise.
13750         * modules/unictype/category-name-tests: Likewise.
13751         * modules/unictype/category-none-tests: Likewise.
13752         * modules/unictype/category-of-tests: Likewise.
13753         * modules/unictype/category-or-tests: Likewise.
13754         * modules/unictype/category-test-withtable-tests: Likewise.
13755         * modules/unictype/combining-class-tests: Likewise.
13756         * modules/unictype/ctype-alnum-tests: Likewise.
13757         * modules/unictype/ctype-alpha-tests: Likewise.
13758         * modules/unictype/ctype-blank-tests: Likewise.
13759         * modules/unictype/ctype-cntrl-tests: Likewise.
13760         * modules/unictype/ctype-digit-tests: Likewise.
13761         * modules/unictype/ctype-graph-tests: Likewise.
13762         * modules/unictype/ctype-lower-tests: Likewise.
13763         * modules/unictype/ctype-print-tests: Likewise.
13764         * modules/unictype/ctype-punct-tests: Likewise.
13765         * modules/unictype/ctype-space-tests: Likewise.
13766         * modules/unictype/ctype-upper-tests: Likewise.
13767         * modules/unictype/ctype-xdigit-tests: Likewise.
13768         * modules/unictype/decimal-digit-tests: Likewise.
13769         * modules/unictype/digit-tests: Likewise.
13770         * modules/unictype/mirror-tests: Likewise.
13771         * modules/unictype/numeric-tests: Likewise.
13772         * modules/unictype/property-alphabetic-tests: Likewise.
13773         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
13774         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
13775         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
13776         * modules/unictype/property-bidi-block-separator-tests: Likewise.
13777         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
13778         * modules/unictype/property-bidi-common-separator-tests: Likewise.
13779         * modules/unictype/property-bidi-control-tests: Likewise.
13780         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
13781         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
13782         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
13783         * modules/unictype/property-bidi-european-digit-tests: Likewise.
13784         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
13785         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
13786         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
13787         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
13788         * modules/unictype/property-bidi-pdf-tests: Likewise.
13789         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
13790         * modules/unictype/property-bidi-whitespace-tests: Likewise.
13791         * modules/unictype/property-byname-tests: Likewise.
13792         * modules/unictype/property-combining-tests: Likewise.
13793         * modules/unictype/property-composite-tests: Likewise.
13794         * modules/unictype/property-currency-symbol-tests: Likewise.
13795         * modules/unictype/property-dash-tests: Likewise.
13796         * modules/unictype/property-decimal-digit-tests: Likewise.
13797         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
13798         * modules/unictype/property-deprecated-tests: Likewise.
13799         * modules/unictype/property-diacritic-tests: Likewise.
13800         * modules/unictype/property-extender-tests: Likewise.
13801         * modules/unictype/property-format-control-tests: Likewise.
13802         * modules/unictype/property-grapheme-base-tests: Likewise.
13803         * modules/unictype/property-grapheme-extend-tests: Likewise.
13804         * modules/unictype/property-grapheme-link-tests: Likewise.
13805         * modules/unictype/property-hex-digit-tests: Likewise.
13806         * modules/unictype/property-hyphen-tests: Likewise.
13807         * modules/unictype/property-id-continue-tests: Likewise.
13808         * modules/unictype/property-id-start-tests: Likewise.
13809         * modules/unictype/property-ideographic-tests: Likewise.
13810         * modules/unictype/property-ids-binary-operator-tests: Likewise.
13811         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
13812         * modules/unictype/property-ignorable-control-tests: Likewise.
13813         * modules/unictype/property-iso-control-tests: Likewise.
13814         * modules/unictype/property-join-control-tests: Likewise.
13815         * modules/unictype/property-left-of-pair-tests: Likewise.
13816         * modules/unictype/property-line-separator-tests: Likewise.
13817         * modules/unictype/property-logical-order-exception-tests: Likewise.
13818         * modules/unictype/property-lowercase-tests: Likewise.
13819         * modules/unictype/property-math-tests: Likewise.
13820         * modules/unictype/property-non-break-tests: Likewise.
13821         * modules/unictype/property-not-a-character-tests: Likewise.
13822         * modules/unictype/property-numeric-tests: Likewise.
13823         * modules/unictype/property-other-alphabetic-tests: Likewise.
13824         * modules/unictype/property-other-default-ignorable-code-point-tests:
13825         Likewise.
13826         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
13827         * modules/unictype/property-other-id-continue-tests: Likewise.
13828         * modules/unictype/property-other-id-start-tests: Likewise.
13829         * modules/unictype/property-other-lowercase-tests: Likewise.
13830         * modules/unictype/property-other-math-tests: Likewise.
13831         * modules/unictype/property-other-uppercase-tests: Likewise.
13832         * modules/unictype/property-paired-punctuation-tests: Likewise.
13833         * modules/unictype/property-paragraph-separator-tests: Likewise.
13834         * modules/unictype/property-pattern-syntax-tests: Likewise.
13835         * modules/unictype/property-pattern-white-space-tests: Likewise.
13836         * modules/unictype/property-private-use-tests: Likewise.
13837         * modules/unictype/property-punctuation-tests: Likewise.
13838         * modules/unictype/property-quotation-mark-tests: Likewise.
13839         * modules/unictype/property-radical-tests: Likewise.
13840         * modules/unictype/property-sentence-terminal-tests: Likewise.
13841         * modules/unictype/property-soft-dotted-tests: Likewise.
13842         * modules/unictype/property-space-tests: Likewise.
13843         * modules/unictype/property-terminal-punctuation-tests: Likewise.
13844         * modules/unictype/property-test-tests: Likewise.
13845         * modules/unictype/property-titlecase-tests: Likewise.
13846         * modules/unictype/property-unassigned-code-value-tests: Likewise.
13847         * modules/unictype/property-unified-ideograph-tests: Likewise.
13848         * modules/unictype/property-uppercase-tests: Likewise.
13849         * modules/unictype/property-variation-selector-tests: Likewise.
13850         * modules/unictype/property-white-space-tests: Likewise.
13851         * modules/unictype/property-xid-continue-tests: Likewise.
13852         * modules/unictype/property-xid-start-tests: Likewise.
13853         * modules/unictype/property-zero-width-tests: Likewise.
13854         * modules/unictype/scripts-tests: Likewise.
13855         * modules/unictype/syntax-c-ident-tests: Likewise.
13856         * modules/unictype/syntax-c-whitespace-tests: Likewise.
13857         * modules/unictype/syntax-java-ident-tests: Likewise.
13858         * modules/unictype/syntax-java-whitespace-tests: Likewise.
13859         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
13860         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
13861         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
13862         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
13863         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
13864         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
13865         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
13866         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
13867         * modules/uniname/uniname-tests: Likewise.
13868         * modules/uninorm/canonical-decomposition-tests: Likewise.
13869         * modules/uninorm/compat-decomposition-tests: Likewise.
13870         * modules/uninorm/composition-tests: Likewise.
13871         * modules/uninorm/decomposing-form-tests: Likewise.
13872         * modules/uninorm/decomposition-tests: Likewise.
13873         * modules/uninorm/filter-tests: Likewise.
13874         * modules/uninorm/nfc-tests: Likewise.
13875         * modules/uninorm/nfd-tests: Likewise.
13876         * modules/uninorm/nfkc-tests: Likewise.
13877         * modules/uninorm/nfkd-tests: Likewise.
13878         * modules/uninorm/u8-normcmp-tests: Likewise.
13879         * modules/uninorm/u8-normcoll-tests: Likewise.
13880         * modules/uninorm/u16-normcmp-tests: Likewise.
13881         * modules/uninorm/u16-normcoll-tests: Likewise.
13882         * modules/uninorm/u32-normcmp-tests: Likewise.
13883         * modules/uninorm/u32-normcoll-tests: Likewise.
13884         * modules/unistdio/u8-asnprintf-tests: Likewise.
13885         * modules/unistdio/u8-vasnprintf-tests: Likewise.
13886         * modules/unistdio/u8-vasprintf-tests: Likewise.
13887         * modules/unistdio/u8-vsnprintf-tests: Likewise.
13888         * modules/unistdio/u8-vsprintf-tests: Likewise.
13889         * modules/unistdio/u16-asnprintf-tests: Likewise.
13890         * modules/unistdio/u16-vasnprintf-tests: Likewise.
13891         * modules/unistdio/u16-vasprintf-tests: Likewise.
13892         * modules/unistdio/u16-vsnprintf-tests: Likewise.
13893         * modules/unistdio/u16-vsprintf-tests: Likewise.
13894         * modules/unistdio/u32-asnprintf-tests: Likewise.
13895         * modules/unistdio/u32-vasnprintf-tests: Likewise.
13896         * modules/unistdio/u32-vasprintf-tests: Likewise.
13897         * modules/unistdio/u32-vsnprintf-tests: Likewise.
13898         * modules/unistdio/u32-vsprintf-tests: Likewise.
13899         * modules/unistdio/ulc-asnprintf-tests: Likewise.
13900         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
13901         * modules/unistdio/ulc-vasprintf-tests: Likewise.
13902         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
13903         * modules/unistdio/ulc-vsprintf-tests: Likewise.
13904         * modules/unistr/u8-check-tests: Likewise.
13905         * modules/unistr/u8-chr-tests: Likewise.
13906         * modules/unistr/u8-cmp-tests: Likewise.
13907         * modules/unistr/u8-cmp2-tests: Likewise.
13908         * modules/unistr/u8-cpy-alloc-tests: Likewise.
13909         * modules/unistr/u8-cpy-tests: Likewise.
13910         * modules/unistr/u8-mblen-tests: Likewise.
13911         * modules/unistr/u8-mbsnlen-tests: Likewise.
13912         * modules/unistr/u8-mbtouc-tests: Likewise.
13913         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
13914         * modules/unistr/u8-mbtoucr-tests: Likewise.
13915         * modules/unistr/u8-move-tests: Likewise.
13916         * modules/unistr/u8-next-tests: Likewise.
13917         * modules/unistr/u8-prev-tests: Likewise.
13918         * modules/unistr/u8-set-tests: Likewise.
13919         * modules/unistr/u8-stpcpy-tests: Likewise.
13920         * modules/unistr/u8-stpncpy-tests: Likewise.
13921         * modules/unistr/u8-strcat-tests: Likewise.
13922         * modules/unistr/u8-strcmp-tests: Likewise.
13923         * modules/unistr/u8-strcoll-tests: Likewise.
13924         * modules/unistr/u8-strcpy-tests: Likewise.
13925         * modules/unistr/u8-strdup-tests: Likewise.
13926         * modules/unistr/u8-strlen-tests: Likewise.
13927         * modules/unistr/u8-strmblen-tests: Likewise.
13928         * modules/unistr/u8-strmbtouc-tests: Likewise.
13929         * modules/unistr/u8-strncat-tests: Likewise.
13930         * modules/unistr/u8-strncmp-tests: Likewise.
13931         * modules/unistr/u8-strncpy-tests: Likewise.
13932         * modules/unistr/u8-strnlen-tests: Likewise.
13933         * modules/unistr/u8-to-u16-tests: Likewise.
13934         * modules/unistr/u8-to-u32-tests: Likewise.
13935         * modules/unistr/u8-uctomb-tests: Likewise.
13936         * modules/unistr/u16-check-tests: Likewise.
13937         * modules/unistr/u16-chr-tests: Likewise.
13938         * modules/unistr/u16-cmp-tests: Likewise.
13939         * modules/unistr/u16-cmp2-tests: Likewise.
13940         * modules/unistr/u16-cpy-alloc-tests: Likewise.
13941         * modules/unistr/u16-cpy-tests: Likewise.
13942         * modules/unistr/u16-mblen-tests: Likewise.
13943         * modules/unistr/u16-mbsnlen-tests: Likewise.
13944         * modules/unistr/u16-mbtouc-tests: Likewise.
13945         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
13946         * modules/unistr/u16-mbtoucr-tests: Likewise.
13947         * modules/unistr/u16-move-tests: Likewise.
13948         * modules/unistr/u16-next-tests: Likewise.
13949         * modules/unistr/u16-prev-tests: Likewise.
13950         * modules/unistr/u16-set-tests: Likewise.
13951         * modules/unistr/u16-stpcpy-tests: Likewise.
13952         * modules/unistr/u16-stpncpy-tests: Likewise.
13953         * modules/unistr/u16-strcat-tests: Likewise.
13954         * modules/unistr/u16-strcmp-tests: Likewise.
13955         * modules/unistr/u16-strcoll-tests: Likewise.
13956         * modules/unistr/u16-strcpy-tests: Likewise.
13957         * modules/unistr/u16-strdup-tests: Likewise.
13958         * modules/unistr/u16-strlen-tests: Likewise.
13959         * modules/unistr/u16-strmblen-tests: Likewise.
13960         * modules/unistr/u16-strmbtouc-tests: Likewise.
13961         * modules/unistr/u16-strncat-tests: Likewise.
13962         * modules/unistr/u16-strncmp-tests: Likewise.
13963         * modules/unistr/u16-strncpy-tests: Likewise.
13964         * modules/unistr/u16-strnlen-tests: Likewise.
13965         * modules/unistr/u16-to-u32-tests: Likewise.
13966         * modules/unistr/u16-to-u8-tests: Likewise.
13967         * modules/unistr/u16-uctomb-tests: Likewise.
13968         * modules/unistr/u32-check-tests: Likewise.
13969         * modules/unistr/u32-chr-tests: Likewise.
13970         * modules/unistr/u32-cmp-tests: Likewise.
13971         * modules/unistr/u32-cmp2-tests: Likewise.
13972         * modules/unistr/u32-cpy-alloc-tests: Likewise.
13973         * modules/unistr/u32-cpy-tests: Likewise.
13974         * modules/unistr/u32-mblen-tests: Likewise.
13975         * modules/unistr/u32-mbsnlen-tests: Likewise.
13976         * modules/unistr/u32-mbtouc-tests: Likewise.
13977         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
13978         * modules/unistr/u32-mbtoucr-tests: Likewise.
13979         * modules/unistr/u32-move-tests: Likewise.
13980         * modules/unistr/u32-next-tests: Likewise.
13981         * modules/unistr/u32-prev-tests: Likewise.
13982         * modules/unistr/u32-set-tests: Likewise.
13983         * modules/unistr/u32-stpcpy-tests: Likewise.
13984         * modules/unistr/u32-stpncpy-tests: Likewise.
13985         * modules/unistr/u32-strcat-tests: Likewise.
13986         * modules/unistr/u32-strcmp-tests: Likewise.
13987         * modules/unistr/u32-strcoll-tests: Likewise.
13988         * modules/unistr/u32-strcpy-tests: Likewise.
13989         * modules/unistr/u32-strdup-tests: Likewise.
13990         * modules/unistr/u32-strlen-tests: Likewise.
13991         * modules/unistr/u32-strmblen-tests: Likewise.
13992         * modules/unistr/u32-strmbtouc-tests: Likewise.
13993         * modules/unistr/u32-strncat-tests: Likewise.
13994         * modules/unistr/u32-strncmp-tests: Likewise.
13995         * modules/unistr/u32-strncpy-tests: Likewise.
13996         * modules/unistr/u32-strnlen-tests: Likewise.
13997         * modules/unistr/u32-to-u16-tests: Likewise.
13998         * modules/unistr/u32-to-u8-tests: Likewise.
13999         * modules/unistr/u32-uctomb-tests: Likewise.
14000         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
14001         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
14002         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
14003         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
14004         * modules/uniwidth/u8-strwidth-tests: Likewise.
14005         * modules/uniwidth/u8-width-tests: Likewise.
14006         * modules/uniwidth/u16-strwidth-tests: Likewise.
14007         * modules/uniwidth/u16-width-tests: Likewise.
14008         * modules/uniwidth/u32-strwidth-tests: Likewise.
14009         * modules/uniwidth/u32-width-tests: Likewise.
14010         * modules/uniwidth/width-tests: Likewise.
14011
14012 2010-05-18  Richard Jones  <rjones@redhat.com>
14013
14014         doc: users.txt: list hivex
14015         * users.txt: Add hivex.
14016
14017 2010-05-18  Richard Jones  <rjones@redhat.com>
14018
14019         doc: users.txt: list febootstrap
14020         * users.txt: Add febootstrap.
14021
14022 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
14023
14024         bootstrap: fix an error when gnulib is not used as a git submodule
14025         * build-aux/bootstrap (gnulib_path): If its length is zero then
14026         assign "gnulib" to it.
14027         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
14028
14029 2010-05-16  Bruno Haible  <bruno@clisp.org>
14030
14031         Avoid autoconf warnings about AM_ICONV.
14032         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
14033         2.64.
14034
14035 2010-05-16  Bruno Haible  <bruno@clisp.org>
14036
14037         absolute-header: Make the macro usable in more situations.
14038         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
14039         from gl_ABSOLUTE_HEADER.
14040         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
14041
14042 2010-05-16  James Youngman  <jay@gnu.org>
14043
14044         doc: update users.txt
14045         * users.txt: Add CSSC.
14046
14047 2010-05-16  Jim Meyering  <meyering@redhat.com>
14048
14049         init.sh: fix an error in the previous change; add more comments
14050         * tests/init.sh: Compare exit code in loop against 9, not 2.
14051         Patch by Bruno Haible.
14052         Make the two tests more similar by adding an empty "then" clause.
14053         Add comments.
14054
14055         init.sh: avoid unnecessary shell re-exec
14056         * tests/init.sh: Improve the re-exec-required check to first test the
14057         current shell.  If it passes the test, do not search for a shell that
14058         does pass, and do not re-exec.  This test is particularly contorted to
14059         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
14060         of $(...) evokes a syntax error and causes immediate shell exit with
14061         status 2.  Bruno Haible reported that the re-exec made it impossible
14062         to single-step through any init.sh-using script.
14063
14064 2010-05-16  Bruno Haible  <bruno@clisp.org>
14065
14066         Fix collision between gnulib's and libintl's printf replacements.
14067         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
14068         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
14069         (printf): When using GNU C, map the __printf__ function to rpl_printf
14070         via __asm__. When not using GNU C, define rpl_printf instead of
14071         __printf__.
14072         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
14073         commit.
14074         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
14075         commit.
14076         * m4/asm-underscore.m4: New file.
14077         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
14078         * modules/stdio (Files): Add m4/asm-underscore.m4.
14079         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
14080         Reported by Ben Pfaff.
14081
14082 2010-05-16  Bruno Haible  <bruno@clisp.org>
14083
14084         verify: Avoid skipping the test on openSUSE 11.0.
14085         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
14086
14087 2010-05-13  Bruno Haible  <bruno@clisp.org>
14088
14089         Avoid useless warnings from G++.
14090         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
14091         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
14092         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14093
14094 2010-05-11  Jim Meyering  <meyering@redhat.com>
14095
14096         maint.mk: tweak preceding change
14097         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
14098         regexps tighter by anchoring at EOL, and make the new group "shy"
14099         for slightly decreased overhead.
14100
14101 2010-05-11  Eric Blake  <eblake@redhat.com>
14102
14103         maint.mk: gnulib doesn't guarantee NSIG
14104         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
14105
14106 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14107
14108         test-pwrite.c: Remove unused variable declaration.
14109         * tests/test-pwrite.c (main): Remove read_buf declaration.
14110
14111         Remove useless test-pwrite.sh file.
14112         * tests/test-pwrite.sh: Delete file.
14113         * modules/pwrite-tests: Remove references.
14114         Reported by Bruno Haible.
14115
14116 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14117
14118         init.sh: fix a typo
14119         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
14120
14121 2010-05-10  Jim Meyering  <meyering@redhat.com>
14122
14123         maint.mk: avoid using a temporary file in the always-defined-macros check
14124         * top/maint.mk (.re-defmac): Remove rule.
14125         (gl_trap_): Remove definition.
14126         (sc_prohibit_always-defined_macros): Rewrite not to create and
14127         depend on a temporary file.  Instead, depend on GNU grep's ability
14128         to read a list of regular expressions from stdin when given "-f -".
14129
14130 2010-05-09  Bruno Haible  <bruno@clisp.org>
14131
14132         Update to GNU gettext 0.18, part 1.
14133         * m4/gettext.m4: Update to GNU gettext 0.18.
14134         * m4/intl.m4: Likewise.
14135         * m4/po.m4: Likewise.
14136         * modules/gettext (Files): Add m4/fcntl-o.m4.
14137         (configure.ac): Require gettext infrastructure from version 0.18.
14138
14139 2010-05-09  Jim Meyering  <meyering@redhat.com>
14140
14141         init.sh: enable MALLOC_PERTURB_
14142         * tests/init.sh: Enable glibc's malloc-perturbing option.
14143
14144         maint.mk: improve sc_cross_check_PATH_usage_in_tests
14145         With my recent change in init.sh from the two-line form:
14146             -#   : ${srcdir=.}
14147             -#   . "$srcdir/init.sh"; path_prepend_ .
14148             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
14149         I noticed that using the one-line form would cause this test
14150         to fail with a false-positive, or to stop working altogether,
14151         depending on whether help-version changed or all the tests did.
14152         * top/maint.mk (_hv_regex): Remove this definition.
14153         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
14154         (_hv_regex_strong): Use a stronger regex to check for conformance.
14155         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
14156         Give a separate diagnostic for lack of conforming use.
14157
14158         maint.mk: prohibit definition of symbols defined by gnulib
14159         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
14160         definition of symbols defined by gnulib.
14161
14162 2010-05-09  Bruno Haible  <bruno@clisp.org>
14163
14164         acl: Avoid test failure on Cygwin-hosted mingw.
14165         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
14166
14167 2010-05-09  Bruno Haible  <bruno@clisp.org>
14168
14169         error: Use system's fcntl function.
14170         * lib/error.c (fcntl): Undefine.
14171
14172 2010-05-09  Jim Meyering  <meyering@redhat.com>
14173
14174         verify: adjust formatting to be more consistent
14175         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
14176         argument-list '('s, and after one comma.
14177
14178 2010-05-09  Bruno Haible  <bruno@clisp.org>
14179
14180         error: More reliable output on mingw.
14181         * lib/error.c: Include <windows.h>.
14182         (is_open): New function.
14183         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
14184         defined.
14185
14186 2010-05-09  Bruno Haible  <bruno@clisp.org>
14187
14188         vasnprintf: Fix syntax errors in libintl build on mingw.
14189         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
14190         pad_ourselves and prec_ourselves after use.
14191
14192 2010-05-08  Bruno Haible  <bruno@clisp.org>
14193
14194         * lib/config.charset: Update comments for Cygwin 1.7.
14195         * lib/localcharset.c: Likewise.
14196
14197 2010-05-07  Jim Meyering  <meyering@redhat.com>
14198
14199         init.sh: improve comments
14200         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
14201         . "${srcdir=.}/init.sh"; path_prepend_ .
14202         Add a note about path_prepend_ and the alternative of using
14203         TESTS_ENVIRONMENT.
14204
14205 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14206
14207         exclude: Unescape hashed patterns in wildcard mode.
14208         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
14209         to the hash list.
14210         * tests/test-exclude8.sh: New test case.
14211         * modules/exclude-tests: Add new test.
14212
14213 2010-05-05  Eric Blake  <eblake@redhat.com>
14214
14215         verify: automate tests
14216         * modules/verify-tests: New module.
14217         * tests/test-verify.sh: New file.
14218         * tests/test-verify.c: Guard each negative test with a unique id.
14219         Also avoid warning about unused left hand of comma expressions.
14220
14221 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14222
14223         Further improvements to verify.h, suggested by Eric Blake.
14224         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
14225         the GL_* versions, to avoid collision with OpenGL.
14226         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
14227         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
14228         than testing merely whether it's defined.
14229
14230         Modify verify.h to pacify gcc -Wredundant_decls.
14231         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
14232         These use the prefix "GL_" since they're likely to be useful elsewhere.
14233         We may need to break them out into a different .h file.
14234         (__COUNTER__): Define to 0 if the compiler doesn't support it.
14235         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
14236         of verify_function__.
14237
14238 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14239
14240         Tests for module pwrite.
14241         * modules/pwrite-tests: New file.
14242         * tests/test-pwrite.sh: New file.
14243         * tests/test-pwrite.c: New file.
14244
14245         New module pwrite.
14246         * lib/unistd.in.h (pwrite): New declaration.
14247         * lib/pwrite.c: New file, from glibc with modifications.
14248         * m4/pwrite.m4: New file.
14249         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
14250         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
14251         REPLACE_PWRITE.
14252         * modules/pwrite: New file.
14253         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
14254         REPLACE_PWRITE.
14255         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
14256         * doc/posix-functions/pwrite.texi: Mention the new module.
14257
14258 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14259
14260         pread: Update documentation.
14261         * doc/posix-functions/pread.texi: Mention the 'pread' module.
14262
14263 2010-05-04  Eric Blake  <eblake@redhat.com>
14264
14265         docs: update cygwin progress
14266         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
14267         this bug.
14268         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
14269         Added in cygwin 1.7.2.
14270         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
14271         Likewise.
14272         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
14273         Likewise.
14274         * doc/glibc-functions/dup3.texi (dup3): Likewise.
14275         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14276         * doc/glibc-functions/accept4.texi (accept4): Likewise.
14277         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
14278         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
14279         Mention nproc module.
14280         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
14281         bug in cygwin 1.7.5 addition.
14282         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
14283         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
14284         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
14285         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
14286         1.7.5.
14287         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
14288         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
14289         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
14290         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
14291         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
14292         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
14293         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
14294         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
14295         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
14296         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
14297         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
14298         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
14299         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
14300         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
14301         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
14302         Likewise.
14303         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
14304         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
14305         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
14306         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
14307         Likewise.
14308         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
14309         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
14310         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
14311         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
14312         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
14313         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
14314         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
14315         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
14316         Likewise.
14317         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
14318         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
14319         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
14320         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
14321         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
14322         Likewise.
14323         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
14324         Likewise.
14325         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
14326         Likewise.
14327         * doc/glibc-functions/xdrrec_endofrecord.texi
14328         (xdrrec_endofrecord): Likewise.
14329         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
14330         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
14331         Likewise.
14332         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
14333         Likewise.
14334
14335 2010-05-04  Jim Meyering  <meyering@redhat.com>
14336
14337         gendocs.sh: make its "-s FILE" option more useful
14338         * build-aux/gendocs.sh: When honoring the -s FILE option, update
14339         $PACKAGE to reflect the probably-different basename of "FILE".
14340
14341 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14342
14343         bootstrap: don't ignore download_po_files failure
14344         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
14345         failure.
14346
14347 2010-05-03  Jim Meyering  <meyering@redhat.com>
14348
14349         maint.mk: allow to pass options to gendocs.sh
14350         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
14351         (gendocs_options_): New overridable variable.
14352
14353         gnu-web-doc-update: don't ignore configure or build failure
14354         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
14355
14356         announce-gen: backslash-escape '@'s in --help output
14357         * build-aux/announce-gen: Fix syntax errors.
14358
14359         maint.mk, announce-gen: allow project-specific announcement mail headers
14360         * top/maint.mk (translation_project_): Define default.
14361         (announcement_Cc_, announcement_mail_headers_): Likewise.
14362         (announcement): Invoke announce-gen with new --mail-headers option.
14363         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
14364
14365         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
14366         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
14367         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
14368         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
14369         line in the "err2" output file when running "make check" in verbose
14370         mode (i.e., with set -x enabled).
14371
14372 2010-05-03  Bruno Haible  <bruno@clisp.org>
14373
14374         wctob: Fix for weird platforms.
14375         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
14376         argument value.
14377
14378 2010-05-03  Jim Meyering  <meyering@redhat.com>
14379
14380         maint.mk: prohibit unwarranted use of <strings.h>
14381         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
14382         strings.h in a file that does not also use strcasecmp, strncasecmp,
14383         ffs or ffsll.
14384
14385         maint.mk: remove obsolete comments
14386         * top/maint.mk: Remove stale, commented-out rules.
14387
14388 2010-05-02  Bruno Haible  <bruno@clisp.org>
14389
14390         wcwidth: Declare also when it's aliased.
14391         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
14392         macro.
14393
14394 2010-05-02  Bruno Haible  <bruno@clisp.org>
14395
14396         Fix regression from 2010-04-25.
14397         * gnulib-tool (func_modules_transitive_closure): Check the status of
14398         all modules, not only of the tests that are of the form foo-tests where
14399         foo is a module.
14400
14401 2010-05-02  Bruno Haible  <bruno@clisp.org>
14402
14403         wctob: Work around nasty Cygwin 1.7.2 bug.
14404         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
14405         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
14406
14407 2010-05-01  Bruno Haible  <bruno@clisp.org>
14408
14409         fpurge: Sharper test.
14410         * tests/test-fpurge.c (main): Add one more ftell check.
14411         * modules/fpurge-tests (Depends-on): Add ftell.
14412         Suggested by Eric Blake.
14413
14414 2010-05-01  Bruno Haible  <bruno@clisp.org>
14415
14416         ftello: Another test.
14417         * tests/test-ftello3.c: New file.
14418         * modules/ftello-tests (Files): Add it.
14419         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14420         MOSTLYCLEANFILES.
14421
14422         ftell: Another test.
14423         * tests/test-ftell3.c: New file.
14424         * modules/ftell-tests (Files): Add it.
14425         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14426         MOSTLYCLEANFILES.
14427
14428 2010-05-01  Bruno Haible  <bruno@clisp.org>
14429
14430         ftell, ftello: Work around Solaris bug.
14431         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
14432         * lib/ftello.c: Include stdio-impl.h.
14433         (ftello): On Solaris, when _IOWRT is set, compute the result without
14434         looking at _IOREAD.
14435         * modules/ftello (Files): Add lib/stdio-impl.h.
14436         * doc/posix-functions/ftell.texi: Mention Solaris bug.
14437         * doc/posix-functions/ftello.texi: Likewise.
14438         Reported by Eric Blake.
14439
14440 2010-05-01  Bruno Haible  <bruno@clisp.org>
14441
14442         freading: Adapt to special meaning of _IOREAD flag on Solaris.
14443         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
14444         the _IOWRT flag is also set.
14445
14446 2010-05-01  Bruno Haible  <bruno@clisp.org>
14447
14448         Fix doc about a HP-UX stdio bug.
14449         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
14450         * doc/posix-functions/ftello.texi: Likewise.
14451
14452 2010-05-01  Bruno Haible  <bruno@clisp.org>
14453
14454         lseek test: Fix failure on Solaris.
14455         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
14456         output.
14457
14458 2010-04-30  Jim Meyering  <meyering@redhat.com>
14459
14460         bootstrap: don't ignore failure to generate po*/Makevars
14461         * build-aux/bootstrap (with_gettext): Don't ignore failure
14462         to create po/Makevars or runtime-po/Makevars.
14463
14464 2010-04-29  Eric Blake  <eblake@redhat.com>
14465
14466         headers: relax license to LGPLv2+
14467         * modules/fcntl-h (License): Relax license.
14468         * modules/getopt-posix (License): Likewise.
14469         * modules/locale (License): Likewise.
14470         * modules/math (License): Likewise.
14471         * modules/pty (License): Likewise.
14472         * modules/sched (License): Likewise.
14473         * modules/search (License): Likewise.
14474         * modules/spawn (License): Likewise.
14475         * modules/stdarg (License): Likewise.
14476         * modules/sysexits (License): Likewise.
14477
14478 2010-04-29  Jim Meyering  <meyering@redhat.com>
14479
14480         inttypes: relax license to LGPLv2+
14481         * modules/inttypes (License): Relax license.
14482
14483 2010-04-29  Simon Josefsson  <simon@josefsson.org>
14484
14485         * top/maint.mk (indent): Run twice to produce idempotent results.
14486
14487 2010-04-28  Bruno Haible  <bruno@clisp.org>
14488
14489         getdate: Generate getdate.c in the source directory.
14490         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
14491         MOSTLYCLEANFILES.
14492         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
14493
14494 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
14495
14496         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
14497         is not declared as a const *; avoid warnings in that case.
14498
14499 2010-04-28  Eric Blake  <eblake@redhat.com>
14500
14501         canonicalize-lgpl: avoid compiler warning
14502         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
14503         declaration' / 'extraneous semicolon' warning with some compilers.
14504         Reported by Andreas Gruenbacher.
14505
14506 2010-04-28  Jim Meyering  <meyering@redhat.com>
14507
14508         init.sh: ensure a more reliable exit status when exiting via trap
14509         * tests/init.sh (setup_): Don't rely on $? in signal handler.
14510         Inspired by patches from Dmitry V. Levin.
14511         Also trap on signal 3 (SIGQUIT).
14512
14513 2010-04-27  Bruno Haible  <bruno@clisp.org>
14514
14515         Update doc about utimes().
14516         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
14517         'utimens' module.
14518         Reported by Andreas Gruenbacher <agruen@suse.de>.
14519
14520 2010-04-27  Eric Blake  <eblake@redhat.com>
14521
14522         full-read, full-write: relax license
14523         * modules/full-read (License): Drop to LGPLv2+.
14524         * modules/full-write (License): Likewise.
14525         * modules/safe-read (License): Likewise.
14526         * modules/safe-write (License): Likewise.
14527
14528         pthread: mention library for linking
14529         * modules/pthread (Link): Mention $(LIB_PTHREAD).
14530
14531 2010-04-27  Jim Meyering  <meyering@redhat.com>
14532
14533         maint.mk: fix a bug introduced in last change
14534         * top/maint.mk (gl_assured_headers_): Now that all names are on
14535         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
14536         is not anchored to end of word, it should be adequate.
14537
14538         maint.mk: avoid side-effect in latest syntax-check
14539         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
14540         to run commands via $(shell...), and hence to incur cost only when
14541         the new rule is actually run.
14542
14543         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
14544         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
14545         and use that to create a regexp used to detect all #if HAVE_..._H uses.
14546         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
14547         (gl_assured_headers_, az_, AZ_): Define.
14548         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
14549
14550 2010-04-26  Jim Meyering  <jim@meyering.net>
14551             Bruno Haible  <bruno@clisp.org>
14552
14553         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
14554         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
14555         Prompted by an exchange with Gilles Espinasse.
14556
14557 2010-04-26  Jim Meyering  <meyering@redhat.com>
14558
14559         git-version-gen: aesthetic tweak
14560         * build-aux/git-version-gen: Use "$nl" rather than a literal,
14561         so that the command remains on a single line.
14562
14563 2010-04-26  Eric Blake  <eblake@redhat.com>
14564
14565         git-version-gen: allow use on EBCDIC hosts
14566         * build-aux/git-version-gen (dirty): Use literal rather than tying
14567         ourselves to ascii.
14568         Reported by Steve Goetze.
14569
14570 2010-04-25  Bruno Haible  <bruno@clisp.org>
14571
14572         netdb: Add support for GNULIB_POSIXCHECK.
14573         * lib/netdb.in.h: Include warn-on-use.h.
14574         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
14575         functions are used when GNULIB_POSIXCHECK is defined and the
14576         getaddrinfo module is not in use.
14577         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
14578         freeaddrinfo, gai_strerror, getnameinfo are declared.
14579         * modules/netdb (Depends-on): Add warn-on-use.
14580         (Makefile.am): Include warn-on-use.h in netdb.h.
14581
14582 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
14583
14584         build: avoid "make check" failure without .git/ directory
14585         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
14586         there is no .git/ directory.
14587
14588 2010-04-25  Bruno Haible  <bruno@clisp.org>
14589
14590         ptsname: Fix misuse of ttyname_r.
14591         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
14592         of errno.
14593
14594 2010-04-25  Bruno Haible  <bruno@clisp.org>
14595
14596         ttyname_r: Make it work on Solaris 10.
14597         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
14598         if the system function has the POSIX declaration. Test whether the
14599         function fails if the buffer is less than 128 bytes large.
14600         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14601         system's ttyname_r function. Provide a reasonably large buffer.
14602         * modules/ttyname_r (Depends-on): Add extensions.
14603         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14604
14605 2010-04-25  Bruno Haible  <bruno@clisp.org>
14606
14607         Use the 'extensions' module for some more functions on Solaris.
14608         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14609         module.
14610         * doc/posix-functions/ctime_r.texi: Likewise.
14611         * doc/posix-functions/getgrgid_r.texi: Likewise.
14612         * doc/posix-functions/getgrnam_r.texi: Likewise.
14613         * doc/posix-functions/getpwnam_r.texi: Likewise.
14614         * doc/posix-functions/getpwuid_r.texi: Likewise.
14615         * doc/posix-functions/readdir_r.texi: Likewise.
14616         * doc/posix-functions/sigwait.texi: Likewise.
14617         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14618         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14619
14620 2010-04-25  Bruno Haible  <bruno@clisp.org>
14621
14622         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14623         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14624         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14625         * lib/ttyname_r.c: Include <limits.h>.
14626         (ttyname_r): Define using the system's ttyname_r function, if it exists
14627         and not on Solaris.
14628         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
14629         set.
14630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
14631         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
14632         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
14633         Reported by Simon Josefsson.
14634
14635 2010-04-25  Bruno Haible  <bruno@clisp.org>
14636
14637         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
14638         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
14639         * doc/posix-functions/ctime_r.texi: Likewise.
14640         * doc/posix-functions/getgrgid_r.texi: Likewise.
14641         * doc/posix-functions/getgrnam_r.texi: Likewise.
14642         * doc/posix-functions/getlogin_r.texi: Likewise.
14643         * doc/posix-functions/getpwnam_r.texi: Likewise.
14644         * doc/posix-functions/getpwuid_r.texi: Likewise.
14645         * doc/posix-functions/readdir_r.texi: Likewise.
14646         * doc/posix-functions/sigwait.texi: Likewise.
14647         * doc/posix-functions/ttyname_r.texi: Likewise.
14648         Reported by Simon Josefsson.
14649
14650 2010-04-25  Bruno Haible  <bruno@clisp.org>
14651
14652         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
14653         * gnulib-tool (func_usage): Document that --with-*-tests options apply
14654         also to --create-testdir.
14655         (func_acceptable): Don't consider the status of *-tests modules here.
14656         (func_modules_transitive_closure): Consider it here, before including a
14657         test module.
14658         (func_import, func_create_testdir): Set inc_all_direct_tests,
14659         inc_all_indirect_tests.
14660         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
14661         --create-testdir and --create-megatestdir.
14662
14663 2010-04-25  Bruno Haible  <bruno@clisp.org>
14664
14665         gnulib-tool: Add --without-*-tests options.
14666         * gnulib-tool (func_usage): Document the --without-*-tests options.
14667         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
14668         excl_unportable_tests): New variables.
14669         Fail if they are specified with --import or --update.
14670         (func_acceptable): Respect the excl_*_tests variables.
14671         (func_import): Set the excl_*_tests variables to empty.
14672
14673 2010-04-25  Simon Josefsson  <simon@josefsson.org>
14674             Bruno Haible  <bruno@clisp.org>
14675
14676         Work around a MacOS X 10.4 bug with openpty.
14677         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
14678         * tests/test-openpty.c (main): Close the master side explicitly.
14679
14680 2010-04-25  Bruno Haible  <bruno@clisp.org>
14681
14682         strnlen: Fix a C++ test error on MacOS X and Solaris.
14683         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
14684         the function is not declared.
14685         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
14686         Simon Josefsson.
14687
14688 2010-04-24  Bruno Haible  <bruno@clisp.org>
14689
14690         Avoid a gcc warning.
14691         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
14692         of correct type for %08lx directive.
14693         Reported by Eric Blake.
14694
14695 2010-04-24  Bruno Haible  <bruno@clisp.org>
14696
14697         vasnprintf: Correct errno value in case of out-of-memory.
14698         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
14699         or sprintf. Use the errno value from SNPRINTF or sprintf.
14700         Reported by Ian Beckwith <ianb@erislabs.net>.
14701
14702 2010-04-24  Bruno Haible  <bruno@clisp.org>
14703
14704         ansi-c++-opt: Find correct compiler when cross-compiling.
14705         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
14706         AC_CHECK_PROGS.
14707         Reported by Simon Josefsson.
14708
14709 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
14710
14711         vc-list-files: Add support for subversion
14712         * build-aux/vc-list-files: Use "svn list" to generate the list of
14713         files controlled by subversion.
14714
14715 2010-04-23  Jim Meyering  <meyering@redhat.com>
14716
14717         vc-list-files tests: convert to use init.sh
14718         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
14719         path_prepend_.
14720         Use Exit, not exit.
14721         Use skip_ rather than open coding it.
14722         Remove trap set-up and compare definitions.
14723         * tests/test-vc-list-files-git.sh: Likewise.
14724         * modules/vc-list-files-tests (Files): Add tests/init.sh.
14725
14726 2010-04-22  Simon Josefsson  <simon@josefsson.org>
14727
14728         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
14729         backup files.
14730
14731 2010-04-21  Simon Josefsson  <simon@josefsson.org>
14732
14733         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
14734
14735 2010-04-20  Eric Blake  <eblake@redhat.com>
14736
14737         tests: be robust to ignored SIGPIPE
14738         * tests/test-select-in.sh: Consume all output.
14739         * tests/test-lseek.sh: Check correct exit status, while avoiding
14740         EPIPE.
14741
14742 2010-04-20  Simon Josefsson  <simon@josefsson.org>
14743             Bruno Haible  <bruno@clisp.org>
14744
14745         visibility: Don't use -fvisibility if it leads to a warning.
14746         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
14747         yes, don't pretend that visibility works if it leads to a warning.
14748         Reported by Mike Gran <spk121@yahoo.com>.
14749
14750 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
14751
14752         * build-aux/bootstrap: Use "git -h" for testing for supported options
14753         instead of "git --help".  The short-form option only shows a summary,
14754         and doesn't layout the full man page.  Grep for the full option name
14755         in the summary, too.
14756
14757 2010-04-19  Bruno Haible  <bruno@clisp.org>
14758
14759         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
14760         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
14761         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
14762         mention of RELOCATABLE_STRIP.
14763         Reported by Sylvain Beucler <beuc@beuc.net>.
14764
14765 2010-04-19  Bruno Haible  <bruno@clisp.org>
14766
14767         * lib/diffseq.h: Fix typo in comment.
14768         Reported by Eric Blake.
14769
14770 2010-04-19  Bruno Haible  <bruno@clisp.org>
14771
14772         ioctl: Move autoconf macro to a .m4 file.
14773         * m4/ioctl.m4: New file, extracted from modules/ioctl.
14774         * modules/ioctl (Files): Add it.
14775         (configure.ac): Simply invoke gl_FUNC_IOCTL.
14776         Reported by Ian Beckwith <ianb@erislabs.net>.
14777
14778 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
14779             Bruno Haible  <bruno@clisp.org>
14780
14781         diffseq: Accommodate use-case with abstract arrays.
14782         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
14783         is not defined.
14784         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
14785         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
14786
14787 2010-04-18  Bruno Haible  <bruno@clisp.org>
14788
14789         * doc/posix-headers/stdbool.texi: More precise wording.
14790
14791 2010-04-17  Jim Meyering  <meyering@redhat.com>
14792
14793         maint.mk: use gnu-style indentation in an embedded perl script
14794         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
14795         Rename variable: s/two/last_two_bytes/
14796
14797 2010-04-16  Eric Blake  <eblake@redhat.com>
14798
14799         test-stdbool: skip test that fails with Solaris CC
14800         * tests/test-stdbool.c (f): Skip test that causes compilation
14801         error under buggy C++ compiler.
14802         * lib/stdbool.in.h: Document the limitation.
14803         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
14804
14805         setenv: allow compilation with C++
14806         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
14807         register keyword.
14808
14809         stdint: allow test to pass with C++
14810         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
14811
14812         getopt: allow compilation with C++
14813         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
14814         struct.
14815         * lib/getopt.c (_getopt_internal_r): Use correct type.
14816         Reported by Dagobert Michelson, via Joel E. Denny.
14817
14818 2010-04-16  Bruno Haible  <bruno@clisp.org>
14819
14820         Override netdb.h always.
14821         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
14822         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
14823         Reported by Ludovic Courtès <ludo@gnu.org>.
14824
14825 2010-04-15  Bruno Haible  <bruno@clisp.org>
14826
14827         openpty: Fix mistake from 2010-03-21.
14828         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
14829         Reported by Simon Josefsson.
14830
14831 2010-04-15  Eric Blake  <eblake@redhat.com>
14832
14833         test-forkpty: fix expected signature
14834         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
14835         Reported by Simon Josefsson.
14836
14837 2010-04-15  Jim Meyering  <meyering@redhat.com>
14838
14839         maint.mk: texinfo_suffix_re_: correct the default regexp
14840         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
14841
14842         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
14843         make it configurable via texinfo_suffix_re_.
14844
14845 2010-04-14  Eric Blake  <eblake@redhat.com>
14846
14847         strtok_r: relax license to LGPLv2+
14848         * modules/strtok_r (License): Relax license.
14849         Reported by Matthias Bolte.
14850
14851 2010-04-14  Simon Josefsson  <simon@josefsson.org>
14852
14853         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
14854         version 1.4.4 by default instead of requiring the libgcrypt
14855         version used during build.  This makes it possible to use the
14856         application with older but still binary compatible libgcrypt
14857         versions.
14858
14859 2010-04-13  Eric Blake  <eblake@redhat.com>
14860
14861         getopt-gnu: match recent glibc fixes and posix ruling
14862         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
14863         '+' handling, when requesting extensions.
14864         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
14865         'W;' handling.
14866         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
14867         * doc/posix-functions/getopt.texi (getopt): Document this.
14868         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14869         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14870         Likewise.
14871
14872         getopt: merge bug fixes from glibc
14873         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
14874         diagnostics.  Honor '+:' correctly.  Reject ';'.
14875
14876         getopt-posix: detect MacOS bug
14877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
14878         optind when missing a required argument.
14879         * doc/posix-functions/getopt.texi (getopt): Document the bug.
14880         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14881         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14882         Likewise.
14883
14884         getopt-posix: avoid spurious failure on Solaris
14885         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
14886         an indicator that setting optind=1 is sufficient for reset.
14887
14888         getopt-posix: avoid spurious failure on FreeBSD
14889         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
14890         in POSIX mode, since the m4 test uses it.
14891
14892         gnulib-tool: silence warning on BSD sh
14893         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
14894
14895 2010-04-13  Jim Meyering  <meyering@redhat.com>
14896
14897         doc: users.txt: GNU patch now uses gnulib
14898         * users.txt: Add patch.
14899
14900 2010-04-12  Jim Meyering  <meyering@redhat.com>
14901
14902         maint.mk: generate more concise timing data for syntax-check rules
14903         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
14904         " done" from each line that reports a syntax-check test duration.
14905
14906 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
14907
14908         git-version-gen: use "git update-index..." rather than "git status"
14909         * build-aux/git-version-gen: Use git update-index --refresh, not
14910         "git status".  With some versions of git, "git status" would fail
14911         to update the index and result in an unwarranted "-dirty" suffix.
14912
14913 2010-04-11  Jim Meyering  <meyering@redhat.com>
14914
14915         openat: correct formatting (no semantic change)
14916         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
14917         Suggested by Bruno Haible.
14918
14919 2010-04-11  Bruno Haible  <bruno@clisp.org>
14920
14921         Stricter declaration checking in testdirs.
14922         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14923         If for_tests is true, augment AM_CPPFLAGS to define
14924         GNULIB_STRICT_CHECKING.
14925         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
14926         GNULIB_STRICT_CHECKING is defined, verify that the function is
14927         declared.
14928
14929 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
14930             Bruno Haible  <bruno@clisp.org>
14931
14932         libunistring: Improve configure output.
14933         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
14934         Don't say "consider installing GNU libunistring" when checking again
14935         with libiconv.
14936
14937 2010-04-11  Bruno Haible  <bruno@clisp.org>
14938
14939         libunistring: Correct value of $LTLIBUNISTRING.
14940         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
14941         correct the value of $LTLIBUNISTRING.
14942
14943 2010-04-11  Bruno Haible  <bruno@clisp.org>
14944
14945         havelib: Add static libraries to LIBS in the right order.
14946         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
14947         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
14948
14949 2010-04-11  Bruno Haible  <bruno@clisp.org>
14950
14951         libunistring: Detect libunistring also when it depends on libiconv.
14952         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
14953         the second AC_LIB_HAVE_LINKFLAGS invocation.
14954
14955 2010-04-11  James Youngman  <jay@gnu.org>
14956
14957         close-stream: declare local scalars to be "const"
14958         * lib/close-stream.c (close_stream): Make boolean variables const
14959         to document the fact that we set but do not change them.
14960
14961 2010-04-11  Bruno Haible  <bruno@clisp.org>
14962
14963         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
14964
14965 2010-04-11  Jim Meyering  <meyering@redhat.com>
14966
14967         maint.mk: don't include dist-check.mk
14968         * top/maint.mk: Remove bogus include directive.
14969
14970         maint.mk: improve empty-line-at-EOF check
14971         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
14972         solution, rather than tail+Perl-based one.  The latter would read
14973         a few kilobytes from the end of each file, and did not handle empty
14974         files properly.
14975
14976         maint.mk: print the elapsed time for each syntax-check rule
14977         * top/maint.mk (sc_m_rules_): Save start time in a file.
14978         (sc_z_rules_): New rules: remove temp file and print elapsed time.
14979         (local-check): Interpose the .z rules
14980
14981 2010-04-11  Jim Meyering  <meyering@redhat.com>
14982
14983         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
14984         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
14985         empty file with one that ends in an empty line.
14986
14987 2010-04-10  Bruno Haible  <bruno@clisp.org>
14988
14989         mkdir: Make it work on mingw64.
14990         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
14991         * lib/mkdir.c: Update comment.
14992         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
14993
14994 2010-04-10  Bruno Haible  <bruno@clisp.org>
14995
14996         Don't override improved macro from newer autoconf.
14997         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
14998         autoconf >= 2.62.
14999         Reported by Joel E. Denny <jdenny@clemson.edu>.
15000
15001 2010-04-10  Jim Meyering  <meyering@redhat.com>
15002
15003         maint.mk: new syntax-check rule: prohibit empty lines at end of file
15004         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
15005
15006         maint.mk: correct a diagnostic
15007         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
15008         in diagnostic; now use $prohibit.
15009
15010 2010-04-10  Bruno Haible  <address@hidden>
15011
15012         fchownat: Fix a C++ test error on Solaris 8.
15013         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
15014         the function does not exist.
15015
15016 2010-04-10  Bruno Haible  <bruno@clisp.org>
15017
15018         vasnprintf: Add more tests.
15019         * tests/test-vasnprintf-posix.c: Include <errno.h>.
15020         (test_function): Test converting an invalid wide string.
15021
15022         vasnprintf: Correct handling of unconvertible wide string arguments.
15023         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
15024         VASNPRINTF.
15025         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
15026         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
15027         smaller than the expected maximum need for the directive. Set errno to
15028         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
15029         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
15030         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
15031         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
15032         * modules/vasnprintf (Files): Add m4/printf.m4.
15033         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15034
15035 2010-04-10  Bruno Haible  <bruno@clisp.org>
15036
15037         vasnprintf: Fix crash in %ls directive.
15038         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
15039         string is passed as argument to %ls, with no precision and no width.
15040         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15041
15042 2010-04-10  Bruno Haible  <bruno@clisp.org>
15043
15044         vasnprintf: Fix multiple test failures on mingw.
15045         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
15046         _snprintf, or snwprintf, not _snwprintf.
15047
15048 2010-04-10  Bruno Haible  <bruno@clisp.org>
15049
15050         write: Fix a C++ test error on mingw.
15051         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
15052
15053 2010-04-10  Bruno Haible  <bruno@clisp.org>
15054
15055         vasnprintf test: Reduce code duplication.
15056         * tests/test-vasnprintf.c (test_function): New function, extracted from
15057         test_vasnprintf.
15058         (test_vasnprintf, test_asnprintf): Invoke it.
15059
15060 2010-04-10  Bruno Haible  <bruno@clisp.org>
15061
15062         strnlen: Fix warning in C++ mode on MacOS X.
15063         * lib/string.in.h (strnlen): Use the modern idiom.
15064         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
15065         defining strnlen as a macro already in <config.h>.
15066         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15067         REPLACE_STRNLEN.
15068         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
15069         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15070
15071 2010-04-08  James Youngman  <jay@gnu.org>
15072
15073         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
15074         the example.
15075
15076 2010-04-09  Jim Meyering  <meyering@redhat.com>
15077
15078         maint.mk: print better diagnostic when there is no $(_hv_file)
15079         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
15080         announce that when $(_hv_file) (aka help-version) does not exist.
15081
15082         init.sh: run tr in the "C" locale to avoid multibyte interpretation
15083         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
15084         not try to interpret its random input bytes.  Jarno Rajahalme reported
15085         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
15086         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
15087         (mktempd_): Likewise, just in case.
15088
15089         ftruncate: add two years to projected module removal date: 2012
15090         * m4/ftruncate.m4: Adjust comments.
15091
15092         ftruncate: mark module as obsolete; even MinGW provides it, now
15093         * modules/ftruncate (Status): Obsolete.
15094         (Notice): Say that.
15095         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
15096         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
15097
15098 2010-04-08  Bruno Haible  <bruno@clisp.org>
15099
15100         Fix side effects from tests-related modules.
15101         * modules/dprintf-posix (Comment): New section.
15102         * modules/fprintf-posix (Comment): Likewise.
15103         * modules/obstack-printf-posix (Comment): Likewise.
15104         * modules/printf-posix (Comment): Likewise.
15105         * modules/snprintf-posix (Comment): Likewise.
15106         * modules/sprintf-posix (Comment): Likewise.
15107         * modules/vasnprintf-posix (Comment): Likewise.
15108         * modules/vasprintf-posix (Comment): Likewise.
15109         * modules/vdprintf-posix (Comment): Likewise.
15110         * modules/vfprintf-posix (Comment): Likewise.
15111         * modules/vprintf-posix (Comment): Likewise.
15112         * modules/vsnprintf-posix (Comment): Likewise.
15113         * modules/vsprintf-posix (Comment): Likewise.
15114         * modules/xprintf-posix (Comment): Likewise.
15115         * modules/xvasprintf-posix (Comment): Likewise.
15116         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
15117         * modules/floorf-tests (Depends-on): Likewise.
15118         * modules/round-tests (Depends-on): Likewise.
15119         * modules/roundf-tests (Depends-on): Likewise.
15120         * modules/trunc-tests (Depends-on): Likewise.
15121         * modules/truncf-tests (Depends-on): Likewise.
15122         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
15123         'fprintf-posix' module is not present.
15124         * tests/test-floorf2.c (check): Likewise.
15125         * tests/test-trunc2.c (check): Likewise.
15126         * tests/test-truncf2.c (check): Likewise.
15127         * tests/test-round2.c (equal): Likewise.
15128         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15129
15130 2010-04-07  Karl Berry  <karl@gnu.org>
15131
15132         * config/srclist.txt,
15133         * config/srclistvars.sh,
15134         * config/srclist-update: doc fixes.
15135
15136 2010-04-07  Jim Meyering  <meyering@redhat.com>
15137
15138         maint.mk: add a PATH crosschecking syntax-check rule
15139         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
15140         Useful if you use a test like the one in help-version (coreutils,
15141         diffutils, grep, gzip) that ensures $(VERSION) matches what is
15142         printed by prog --version.
15143
15144 2010-04-06  Bruno Haible  <bruno@clisp.org>
15145
15146         Fix link error on mingw.
15147         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
15148         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
15149
15150 2010-04-06  Bruno Haible  <bruno@clisp.org>
15151
15152         Assume rmdir exists.
15153         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
15154
15155 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
15156
15157         doc: update users.txt
15158         * users.txt: Add gcal.
15159
15160 2010-04-06  Jim Meyering  <meyering@redhat.com>
15161
15162         init.sh: simply unset TMPDIR rather than risking env -i
15163         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
15164         although it probably works fine on all Unix-based systems, some
15165         systems (Cygwin?) cannot tolerate a totally cleared environment.
15166         Suggestion from Eric Blake.
15167
15168 2010-04-06  Jim Meyering  <meyering@redhat.com>
15169
15170         init.sh: portability fix: use env's POSIX-specified -i option not -u
15171         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
15172         than unportable env -u.  Solaris 5.11's env lacks support for -u.
15173
15174 2010-04-05  Bruno Haible  <bruno@clisp.org>
15175
15176         btowc: Work around Cygwin 1.7.2 bug.
15177         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
15178         does not map NUL to 0.
15179         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
15180
15181 2010-04-05  Bruno Haible  <bruno@clisp.org>
15182
15183         Make the multithread modules work on Cygwin 1.7.2.
15184         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
15185         imported symbols can be declared weak, so that it returns "no" on
15186         Cygwin 1.7.2.
15187
15188 2010-04-05  Bruno Haible  <bruno@clisp.org>
15189
15190         Use the module 'strncat'.
15191         * modules/unistr/u8-strncat (Depends-on): Add strncat.
15192
15193         Tests for module 'strncat'.
15194         * modules/strncat-tests: New file.
15195         * tests/test-strncat.c: New file.
15196
15197         New module 'strncat'.
15198         * lib/string.in.h (strncat): New declaration.
15199         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
15200         * m4/strncat.m4: New file, based on m4/memchr.m4.
15201         * modules/strncat: New file.
15202         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
15203         is declared.
15204         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
15205         REPLACE_STRNCAT.
15206         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
15207         REPLACE_STRNCAT.
15208         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
15209         module.
15210         * tests/test-string-c++.cc: Check signature of strncat.
15211
15212 2010-04-05  Jim Meyering  <meyering@redhat.com>
15213
15214         xstrtoumax-tests: convert to use init.sh
15215         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
15216         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15217         Use Exit, not exit.
15218         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15219
15220         xstrtoimax-tests: convert to use init.sh
15221         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
15222         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15223         Use Exit, not exit.
15224         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15225
15226 2010-04-05  Bruno Haible  <bruno@clisp.org>
15227
15228         sys_socket: Avoid #define replacements in C++ mode.
15229         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
15230         warning to the function if possible, rather than #defining the symbol
15231         to a dysfunctional alias.
15232
15233 2010-04-05  Bruno Haible  <bruno@clisp.org>
15234
15235         fseeko: Fix C++ test error on mingw.
15236         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
15237         gl_FUNC_FSEEKO.
15238         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
15239         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
15240         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
15241         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
15242
15243 2010-04-05  Bruno Haible  <bruno@clisp.org>
15244
15245         duplocale: Improve test output.
15246         * tests/test-duplocale.c (main): Print reason for skipped test.
15247
15248 2010-04-05  Bruno Haible  <bruno@clisp.org>
15249
15250         Assume rmdir exists.
15251         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
15252         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
15253
15254 2010-04-05  Bruno Haible  <bruno@clisp.org>
15255
15256         Fix link error on Solaris 8 with cc.
15257         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
15258
15259 2010-04-05  Bruno Haible  <bruno@clisp.org>
15260
15261         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15262         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
15263
15264 2010-04-05  Bruno Haible  <bruno@clisp.org>
15265
15266         vasprintf: Update documentation.
15267         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
15268
15269 2010-04-05  Bruno Haible  <bruno@clisp.org>
15270
15271         ptsname: Improve test.
15272         * tests/test-ptsname.c (main): Also try the various master names of BSD
15273         systems.
15274
15275 2010-04-05  Bruno Haible  <bruno@clisp.org>
15276
15277         memchr: Avoid a possible C++ test error.
15278         * lib/string.in.h (memchr): Provide declaration if function is missing.
15279         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
15280         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
15281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
15282         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
15283
15284 2010-04-05  Bruno Haible  <bruno@clisp.org>
15285
15286         strtok_r: Improve idiom.
15287         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
15288         AC_LIBOBJ is used.
15289
15290 2010-04-05  Bruno Haible  <bruno@clisp.org>
15291
15292         strdup: Improve idiom.
15293         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
15294         AC_LIBOBJ is used.
15295         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
15296         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
15297         when AC_LIBOBJ is used.
15298
15299 2010-04-05  Bruno Haible  <bruno@clisp.org>
15300
15301         mbsinit, mbrtowc, wcrtomb: Improve idioms.
15302         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
15303         don't set REPLACE_MBSINIT to 1.
15304         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
15305         don't set REPLACE_MBRTOWC to 1.
15306         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
15307         exist, don't set REPLACE_MBSRTOWCS to 1.
15308         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
15309         exist, don't set REPLACE_MBSNRTOWCS to 1.
15310         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
15311         don't set REPLACE_WCRTOMB to 1.
15312         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
15313         exist, don't set REPLACE_WCSRTOMBS to 1.
15314         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
15315         exist, don't set REPLACE_WCSNRTOMBS to 1.
15316
15317 2010-04-05  Bruno Haible  <bruno@clisp.org>
15318
15319         ldexpl: Improve idiom.
15320         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
15321         make sure to set HAVE_DECL_LDEXPL to 0.
15322
15323 2010-04-05  Jim Meyering  <meyering@redhat.com>
15324
15325         xstrtol-tests: convert to use init.sh
15326         * modules/xstrtol-tests (Files): Add tests/init.sh.
15327         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15328         Use Exit, not exit.
15329         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15330
15331         atexit-tests: convert to use init.sh
15332         * modules/atexit-tests (Files): Add tests/init.sh.
15333         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15334         Use Exit, not exit.
15335         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15336
15337         init.sh: fix typo
15338         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
15339
15340         init.sh: make it easier for a test script to write to the tty, ...
15341         when using automake's parallel-tests mode.
15342         * tests/init.sh (stderr_fileno_): Define overridable variable.
15343         (warn_): New function, to use it.
15344         (fail_, skip_, framework_failure_): Use warn_.
15345
15346 2010-04-04  Bruno Haible  <bruno@clisp.org>
15347
15348         btowc: Avoid warning.
15349         * lib/btowc.c: Include <stdlib.h>.
15350         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
15351
15352 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15353             Bruno Haible  <bruno@clisp.org>
15354
15355         wchar: Port to NetBSD 1.5.
15356         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
15357         * lib/wctype.in.h (WEOF): Likewise.
15358
15359 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15360             Bruno Haible  <bruno@clisp.org>
15361
15362         Port extended stdio to NetBSD 1.5.
15363         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
15364         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
15365         older.
15366
15367 2010-04-04  Bruno Haible  <bruno@clisp.org>
15368
15369         string: Remove unused substitution.
15370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
15371         HAVE_DECL_STRERROR.
15372         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
15373
15374 2010-04-04  Bruno Haible  <bruno@clisp.org>
15375
15376         strtod: Avoid a possible C++ test error.
15377         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
15378         set REPLACE_STRTOD.
15379
15380 2010-04-04  Bruno Haible  <bruno@clisp.org>
15381
15382         strerror: Update documentation.
15383         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
15384
15385 2010-04-04  Bruno Haible  <bruno@clisp.org>
15386
15387         stdio: Fix some C++ test errors on Solaris 8 with GCC.
15388         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
15389         _GL_CXXALIAS_SYS_CAST.
15390
15391 2010-04-04  Bruno Haible  <bruno@clisp.org>
15392
15393         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15394         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
15395         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
15396         REPLACE_FREXPL to 1.
15397         * doc/posix-functions/frexpl.texi: Update documentation.
15398
15399 2010-04-04  Bruno Haible  <bruno@clisp.org>
15400
15401         math: Fix some C++ test errors on Solaris 8 and Cygwin.
15402         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
15403
15404 2010-04-04  Bruno Haible  <bruno@clisp.org>
15405
15406         Implement nanosleep for native Windows.
15407         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
15408
15409 2010-04-04  Bruno Haible  <bruno@clisp.org>
15410
15411         math: Fix some C++ test errors on Solaris 8.
15412         * lib/math.in.h (truncf, trunc): Use simpler idiom.
15413
15414 2010-04-04  Bruno Haible  <bruno@clisp.org>
15415
15416         math: Fix some C++ test errors on Cygwin.
15417         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
15418         truncl): Provide declaration if the system does not have it.
15419         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
15420         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
15421         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
15422         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
15423         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
15424         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
15425         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
15426         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
15427         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
15428         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
15429         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
15430         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
15431         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
15432         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
15433         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
15434         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
15435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
15436         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15437         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15438         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
15439         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15440         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15441
15442 2010-04-04  Bruno Haible  <bruno@clisp.org>
15443
15444         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
15445         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15446         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15447         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15448         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
15449         * m4/isinf.m4 (gl_ISINF): Likewise.
15450         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15451
15452 2010-04-04  Bruno Haible  <bruno@clisp.org>
15453
15454         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
15455         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15456
15457 2010-04-04  Bruno Haible  <bruno@clisp.org>
15458
15459         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
15460         * modules/tmpfile (configure.ac): Update.
15461
15462         tmpfile: Fix C++ test error on mingw.
15463         * lib/stdio.in.h (tmpfile): New declaration.
15464         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
15465         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
15466         * modules/tmpfile (Depends-on): Add stdio.
15467         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
15468         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
15469         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
15470         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
15471         REPLACE_TMPFILE.
15472         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
15473
15474 2010-04-04  Bruno Haible  <bruno@clisp.org>
15475
15476         ioctl: Fix C++ test error on mingw.
15477         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
15478         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
15479         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
15480
15481 2010-04-03  Bruno Haible  <bruno@clisp.org>
15482
15483         wcwidth: Fix C++ test error on mingw.
15484         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
15485         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
15486         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
15487
15488 2010-04-03  Bruno Haible  <bruno@clisp.org>
15489
15490         nanosleep: Fix C++ test error on mingw.
15491         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
15492         * lib/time.in.h (nanosleep): Use modern idiom.
15493         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
15494         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
15495         REPLACE_NANOSLEEP to 1.
15496         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
15497         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
15498
15499 2010-04-03  Bruno Haible  <bruno@clisp.org>
15500
15501         strptime: Fix C++ test error on mingw.
15502         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
15503         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
15504         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
15505         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
15506         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
15507         not REPLACE_STRPTIME.
15508         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
15509         REPLACE_STRPTIME.
15510
15511 2010-04-03  Bruno Haible  <bruno@clisp.org>
15512
15513         timegm: Fix C++ test error on mingw.
15514         * lib/time.in.h (timegm): Use modern idiom.
15515         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
15516         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
15517         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
15518         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
15519
15520 2010-04-03  Bruno Haible  <bruno@clisp.org>
15521
15522         timegm: Assume declaration if function exists.
15523         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
15524         if it exists. Don't clobber ac_cv_func_timegm.
15525
15526 2010-04-03  Bruno Haible  <bruno@clisp.org>
15527
15528         time_r: Fix C++ test error on mingw.
15529         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
15530         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
15531         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
15532         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
15533         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
15534
15535 2010-04-03  Bruno Haible  <bruno@clisp.org>
15536
15537         time_r: Minor updates.
15538         * modules/time_r (Description): Mention the provided functions.
15539         * lib/time_r.c: Don't include <string.h>.
15540         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
15541         * doc/posix-functions/localtime_r.texi: Likewise.
15542
15543 2010-04-03  Bruno Haible  <bruno@clisp.org>
15544
15545         time: Fix regression introduced on 2010-03-08.
15546         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
15547         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
15548
15549 2010-04-03  Jim Meyering  <meyering@redhat.com>
15550
15551         maint.mk: don't silently disable project-specific syntax-check rules
15552         * top/maint.mk (_prohibit_regexp): Define, to help people realize
15553         that they need to convert their project-specific syntax-check rules
15554         to use the new _sc_search_regexp.
15555
15556 2010-04-03  Bruno Haible  <bruno@clisp.org>
15557
15558         fchdir: Fix regression introduced on 2010-03-08.
15559         * lib/unistd.in.h (fchdir): Fix declaration.
15560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
15561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
15562         REPLACE_FCHDIR.
15563         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
15564         REPLACE_FCHDIR.
15565
15566 2010-04-03  Bruno Haible  <bruno@clisp.org>
15567
15568         getpagesize: Fix C++ test error on mingw.
15569         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
15570         system does not declare the function.
15571         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
15572         declared.
15573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15574         HAVE_DECL_GETPAGESIZE.
15575         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
15576
15577 2010-04-03  Bruno Haible  <bruno@clisp.org>
15578
15579         stdio: Make C++ tests work on mingw.
15580         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
15581         does not declare the function.
15582
15583 2010-04-03  Bruno Haible  <bruno@clisp.org>
15584
15585         ftello: Fix C++ test error on mingw.
15586         * lib/stdio.in.h (ftello): Use modern idiom.
15587         * lib/ftello.c (ftello): Renamed from rpl_ftello.
15588         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
15589         is missing and that it needs to be replaced.
15590         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
15591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
15592         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
15593
15594 2010-04-03  Bruno Haible  <bruno@clisp.org>
15595
15596         fseeko: Fix C++ test error on mingw.
15597         * lib/stdio.in.h (fseeko): Use modern idiom.
15598         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
15599         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15600         is missing and that it needs to be replaced.
15601         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15603         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15604
15605 2010-04-03  Bruno Haible  <bruno@clisp.org>
15606
15607         mkstemp: Fix C++ test error on mingw.
15608         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15609         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15610         function is missing and that it needs to be replaced.
15611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15612         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15613
15614 2010-04-03  Bruno Haible  <bruno@clisp.org>
15615
15616         stpncpy: Fix C++ test error on mingw.
15617         * lib/string.in.h (stpncpy): Use modern idiom.
15618         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15619         function is missing and that it needs to be replaced.
15620         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15621         REPLACE_STPNCPY.
15622         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15623
15624 2010-04-03  Bruno Haible  <bruno@clisp.org>
15625
15626         sys_stat: Fix C++ test error on mingw.
15627         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15628         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
15629
15630 2010-04-03  Bruno Haible  <bruno@clisp.org>
15631
15632         pty: Update doc.
15633         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
15634
15635 2010-04-03  Bruno Haible  <bruno@clisp.org>
15636
15637         unistd: Fix C++ test error on mingw.
15638         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
15639
15640 2010-04-03  Bruno Haible  <bruno@clisp.org>
15641
15642         Update doc regarding mingw.
15643         * doc/glibc-functions/openpty.texi: Update regarding mingw.
15644         * doc/glibc-functions/login_tty.texi: Likewise.
15645         * doc/glibc-functions/forkpty.texi: Likewise.
15646
15647 2010-04-03  Bruno Haible  <bruno@clisp.org>
15648
15649         stdlib: Avoid compilation failure of c-strtold on mingw.
15650         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
15651
15652 2010-04-03  Bruno Haible  <bruno@clisp.org>
15653
15654         locale: Make C++ tests work on Cygwin and mingw.
15655         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
15656         cannot provide the function.
15657         Reported by Simon Josefsson.
15658
15659 2010-04-03  Bruno Haible  <bruno@clisp.org>
15660
15661         localename: Port to MacOS X 10.6.
15662         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
15663         memory layout of the locales in MacOS X 10.6 as well.
15664         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
15665
15666 2010-04-02  Bruno Haible  <bruno@clisp.org>
15667
15668         gnulib-tool: Ensure that long-running tests are executed last.
15669         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
15670         running tests after the one for the other tests.
15671
15672 2010-04-02  Bruno Haible  <bruno@clisp.org>
15673
15674         gnulib-tool: Ensure the tests in the main directory are executed first.
15675         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
15676         start with the current directory.
15677
15678 2010-04-02  Bruno Haible  <bruno@clisp.org>
15679
15680         Tests for module 'havelib', moved here from GNU gettext.
15681         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
15682         modifications.
15683         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
15684         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
15685         with modifications.
15686         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
15687         modifications.
15688         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
15689         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
15690         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
15691         with modifications.
15692         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
15693         with modifications.
15694         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
15695         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
15696         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
15697         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
15698         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
15699         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
15700         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
15701         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
15702         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
15703         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
15704         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
15705         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
15706         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
15707         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
15708         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
15709         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
15710         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
15711         with modifications.
15712         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
15713         with modifications.
15714         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
15715         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
15716         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
15717         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
15718         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
15719         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
15720         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
15721         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
15722         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
15723         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
15724         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
15725         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
15726         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
15727         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
15728         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
15729         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
15730         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
15731         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
15732         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
15733         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
15734         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
15735         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
15736         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
15737         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
15738         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
15739         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
15740         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
15741         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
15742         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
15743         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
15744         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
15745         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
15746         * tests/havelib/rpathx/rpathx.c: New file, from
15747         gettext/autoconf-lib-link.
15748         * tests/havelib/rpathx/Makefile.am: New file, from
15749         gettext/autoconf-lib-link.
15750         * tests/havelib/rpathx/configure.ac: New file, from
15751         gettext/autoconf-lib-link with modifications.
15752         * tests/havelib/rpathy/rpathy.c: New file, from
15753         gettext/autoconf-lib-link.
15754         * tests/havelib/rpathy/Makefile.am: New file, from
15755         gettext/autoconf-lib-link.
15756         * tests/havelib/rpathy/configure.ac: New file, from
15757         gettext/autoconf-lib-link with modifications.
15758         * tests/havelib/rpathz/rpathz.c: New file, from
15759         gettext/autoconf-lib-link.
15760         * tests/havelib/rpathz/Makefile.am: New file, from
15761         gettext/autoconf-lib-link.
15762         * tests/havelib/rpathz/configure.ac: New file, from
15763         gettext/autoconf-lib-link with modifications.
15764         * tests/havelib/rpathlx/usex.c: New file, from
15765         gettext/autoconf-lib-link.
15766         * tests/havelib/rpathlx/Makefile.am: New file, from
15767         gettext/autoconf-lib-link.
15768         * tests/havelib/rpathlx/configure.ac: New file, from
15769         gettext/autoconf-lib-link with modifications.
15770         * tests/havelib/rpathly/usey.c: New file, from
15771         gettext/autoconf-lib-link.
15772         * tests/havelib/rpathly/Makefile.am: New file, from
15773         gettext/autoconf-lib-link.
15774         * tests/havelib/rpathly/configure.ac: New file, from
15775         gettext/autoconf-lib-link with modifications.
15776         * tests/havelib/rpathlz/usez.c: New file, from
15777         gettext/autoconf-lib-link.
15778         * tests/havelib/rpathlz/Makefile.am: New file, from
15779         gettext/autoconf-lib-link.
15780         * tests/havelib/rpathlz/configure.ac: New file, from
15781         gettext/autoconf-lib-link with modifications.
15782         * tests/havelib/rpathlyx/usey.c: New file, from
15783         gettext/autoconf-lib-link.
15784         * tests/havelib/rpathlyx/Makefile.am: New file, from
15785         gettext/autoconf-lib-link.
15786         * tests/havelib/rpathlyx/configure.ac: New file, from
15787         gettext/autoconf-lib-link with modifications.
15788         * tests/havelib/rpathlzyx/usez.c: New file, from
15789         gettext/autoconf-lib-link.
15790         * tests/havelib/rpathlzyx/Makefile.am: New file, from
15791         gettext/autoconf-lib-link.
15792         * tests/havelib/rpathlzyx/configure.ac: New file, from
15793         gettext/autoconf-lib-link with modifications.
15794         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
15795         with modifications.
15796
15797 2010-04-02  Bruno Haible  <bruno@clisp.org>
15798
15799         gnulib-tool: Create distributed built sources also for the tests.
15800         * gnulib-tool (func_create_testdir): Also generate distributed built
15801         sources in the tests directory.
15802
15803 2010-04-02  Bruno Haible  <bruno@clisp.org>
15804
15805         gnulib-tool: Obey user's environment variables.
15806         * gnulib-tool (func_create_testdir): When creating built sources,
15807         respect the environment variables for autoconf, automake, etc. given by
15808         the user.
15809
15810 2010-04-02  Bruno Haible  <bruno@clisp.org>
15811
15812         gnulib-tool: Provide the value of --m4-base to modules.
15813         * gnulib-tool (func_import, func_create_testdir): Emit a definition
15814         of gl_m4_base.
15815
15816 2010-04-02  Eric Blake  <eblake@redhat.com>
15817
15818         maint.mk: fix some fallout
15819         * NEWS: Document the incompatible change, and its effect on cfg.mk.
15820         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
15821
15822 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15823
15824         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
15825         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
15826         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
15827         (sc_cast_of_x_alloc_return_value): Likewise.
15828         (sc_cast_of_alloca_return_value): Likewise.
15829         (sc_space_tab): Likewise.
15830         (sc_prohibit_atoi_atof): Likewise.
15831         (sc_prohibit_magic_number_exit): Likewise.
15832         (sc_error_exit_success): Likewise.
15833         (sc_file_system): Likewise.
15834         (sc_prohibit_have_config_h): Likewise.
15835         (sc_require_config_h): Likewise.
15836         (sc_prohibit_HAVE_MBRTOWC): Likewise.
15837         (sc_obsolete_symbols): Likewise.
15838         (sc_changelog): Likewise.
15839         (sc_program_name): Likewise.
15840         (sc_the_the): Likewise.
15841         (sc_trailing_blank): Likewise.
15842         (sc_two_space_separator_in_usage): Likewise.
15843         (sc_useless_cpp_parens): Likewise.
15844         (sc_GPL_version): Likewise.
15845         (sc_GFDL_version): Likewise.
15846         (sc_texinfo_acronym): Likewise.
15847         (sc_prohibit_cvs_keyword): Likewise.
15848         (sc_prohibit_stat_st_blocks): Likewise.
15849         (sc_prohibit_S_IS_definition): Likewise.
15850         (sc_redundant_const): Likewise.
15851         (sc_makefile_TAB_only_indentation): Likewise.
15852         (sc_m4_quote_check): Likewise.
15853         (sc_makefile_path_separator_check): Likewise.
15854         (sc_copyright_check): Likewise.
15855         (sc_Wundef_boolean): Likewise.
15856         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15857
15858         maint.mk: match 0 or more whitespace-before-function-call '('
15859         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
15860         that have zero or two-and-more spaces between the function name
15861         and the open parenthesis.
15862         (sc_error_message_warn_fatal): Likewise.
15863         (sc_error_message_uppercase): Likewise.
15864         (sc_error_message_period): Likewise.
15865
15866 2010-03-31  Eric Blake  <eblake@redhat.com>
15867
15868         maint.mk: check for [ as well as test
15869         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
15870         Based on a libvirt report by Matthias Bolte.
15871
15872         gnumakefile: don't squelch _version output
15873         * top/GNUmakefile (_version): Create one-shot dependency rather
15874         than using $(shell) when version must be regenerated.
15875         (_autoreconf): Run verbosely, by default.
15876
15877         sys_time: avoid compiler warnings
15878         * lib/sys_time.in.h (includes): Ensure gcc pragma is
15879         unconditional, fixing regression from 2010-03-29.
15880         Reported by Simon Josefsson.
15881
15882 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15883
15884         maint.mk: s/_header_without_use/_sc_header_without_use/
15885         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
15886         (sc_prohibit_assert_without_use): Use the new name.
15887         (sc_prohibit_close_stream_without_use): Likewise.
15888         (sc_prohibit_getopt_without_use): Likewise.
15889         (sc_prohibit_quotearg_without_use): Likewise.
15890         (sc_prohibit_quote_without_use): Likewise.
15891         (sc_prohibit_long_options_without_use): Likewise.
15892         (sc_prohibit_inttostr_without_use): Likewise.
15893         (sc_prohibit_ignore_value_without_use): Likewise.
15894         (sc_prohibit_error_without_use): Likewise.
15895         (sc_prohibit_xalloc_without_use): Likewise.
15896         (sc_prohibit_hash_without_use): Likewise.
15897         (sc_prohibit_hash_pjw_without_use): Likewise.
15898         (sc_prohibit_safe_read_without_use): Likewise.
15899         (sc_prohibit_argmatch_without_use): Likewise.
15900         (sc_prohibit_canonicalize_without_use): Likewise.
15901         (sc_prohibit_root_dev_ino_without_use): Likewise.
15902         (sc_prohibit_openat_without_use): Likewise.
15903         (sc_prohibit_c_ctype_without_use): Likewise.
15904         (sc_prohibit_signal_without_use): Likewise.
15905         (sc_prohibit_intprops_without_use): Likewise.
15906
15907 2010-03-30  Eric Blake  <eblake@redhat.com>
15908
15909         maint: improve module indicators
15910         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
15911         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
15912         columns, and avoid extra macro expansion.
15913
15914         fdopendir: work around FreeBSD bug
15915         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15916         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
15917         * modules/dirent (Makefile.am): Substitute it.
15918         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
15919         declaration.
15920         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
15921         fix.
15922         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15923
15924 2010-03-29  Bruno Haible  <bruno@clisp.org>
15925
15926         Emit #pragma system_header after the inclusion guard, not before.
15927         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
15928         guard that spans the entire file, not before. This enables an
15929         optimization in GCC's preprocessor.
15930         * lib/ctype.in.h: Likewise.
15931         * lib/dirent.in.h: Likewise.
15932         * lib/errno.in.h: Likewise.
15933         * lib/float.in.h: Likewise.
15934         * lib/getopt.in.h: Likewise.
15935         * lib/iconv.in.h: Likewise.
15936         * lib/langinfo.in.h: Likewise.
15937         * lib/locale.in.h: Likewise.
15938         * lib/math.in.h: Likewise.
15939         * lib/netdb.in.h: Likewise.
15940         * lib/netinet_in.in.h: Likewise.
15941         * lib/pty.in.h: Likewise.
15942         * lib/sched.in.h: Likewise.
15943         * lib/se-selinux.in.h: Likewise.
15944         * lib/search.in.h: Likewise.
15945         * lib/spawn.in.h: Likewise.
15946         * lib/stdarg.in.h: Likewise.
15947         * lib/stdint.in.h: Likewise.
15948         * lib/string.in.h: Likewise.
15949         * lib/strings.in.h: Likewise.
15950         * lib/sys_file.in.h: Likewise.
15951         * lib/sys_ioctl.in.h: Likewise.
15952         * lib/sys_time.in.h: Likewise.
15953         * lib/sys_times.in.h: Likewise.
15954         * lib/sys_utsname.in.h: Likewise.
15955         * lib/sys_wait.in.h: Likewise.
15956         * lib/sysexits.in.h: Likewise.
15957         * lib/wctype.in.h: Likewise.
15958
15959 2010-03-28  James Youngman  <jay@gnu.org>
15960
15961         save-cwd: don't leak a file descriptor when the caller execs.
15962         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
15963         saved file descriptor.
15964         * modules/save-cwd (Depends-on): Depend on cloexec.
15965
15966 2010-03-29  Bruno Haible  <bruno@clisp.org>
15967
15968         Remove vestiges of fts-lgpl module.
15969         * lib/fts_.h: Assume GNULIB_FTS is 1.
15970         * lib/fts.c: Likewise.
15971         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15972
15973 2010-03-28  Bruno Haible  <bruno@clisp.org>
15974
15975         Fix definition of tests witness macro.
15976         * gnulib-tool (func_import): Fix definition of witness macro.
15977
15978 2010-03-28  Bruno Haible  <bruno@clisp.org>
15979
15980         Fix ioctl's protoype on glibc systems.
15981         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
15982         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
15983         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
15984         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
15985         signature. If not, arrange to replace the ioctl function.
15986         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15987         REPLACE_IOCTL.
15988         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
15989         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
15990         Reported by Ludovic Courtès <ludo@gnu.org>.
15991
15992 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
15993
15994         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
15995         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
15996         made it so grep -r --include=GLOB* ... did not work.
15997
15998 2010-03-26  Jim Meyering  <meyering@redhat.com>
15999             Eric Blake  <eblake@redhat.com>
16000
16001         maint.mk: prohibit use of test's -o and -a operators
16002         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
16003
16004 2010-03-28  Bruno Haible  <bruno@clisp.org>
16005
16006         Remove unused GNULIB_XYZ macro definitions.
16007         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
16008         invocation.
16009
16010 2010-03-28  Bruno Haible  <bruno@clisp.org>
16011
16012         Mark privileged tests modules.
16013         * modules/idpriv-drop-tests (Status): New section.
16014         * modules/idpriv-droptemp-tests (Status): New section.
16015
16016 2010-03-28  Bruno Haible  <bruno@clisp.org>
16017
16018         Split C++ tests into separate tests modules.
16019         * modules/dirent-c++-tests: New file, extracted from
16020         modules/dirent-tests.
16021         * modules/dirent-tests: Depend on it.
16022         * modules/fcntl-h-c++-tests: New file, extracted from
16023         modules/fcntl-h-tests.
16024         * modules/fcntl-h-tests: Depend on it.
16025         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
16026         * modules/glob-tests: Depend on it.
16027         * modules/iconv-h-c++-tests: New file, extracted from
16028         modules/iconv-h-tests.
16029         * modules/iconv-h-tests: Depend on it.
16030         * modules/langinfo-c++-tests: New file, extracted from
16031         modules/langinfo-tests.
16032         * modules/langinfo-tests: Depend on it.
16033         * modules/locale-c++-tests: New file, extracted from
16034         modules/locale-tests.
16035         * modules/locale-tests: Depend on it.
16036         * modules/math-c++-tests: New file, extracted from modules/math-tests.
16037         * modules/math-tests: Depend on it.
16038         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
16039         * modules/pty-tests: Depend on it.
16040         * modules/search-c++-tests: New file, extracted from
16041         modules/search-tests.
16042         * modules/search-tests: Depend on it.
16043         * modules/signal-c++-tests: New file, extracted from
16044         modules/signal-tests.
16045         * modules/signal-tests: Depend on it.
16046         * modules/spawn-c++-tests: New file, extracted from
16047         modules/spawn-tests.
16048         * modules/spawn-tests: Depend on it.
16049         * modules/stdio-c++-tests: New file, extracted from
16050         modules/stdio-tests.
16051         * modules/stdio-tests: Depend on it.
16052         * modules/stdlib-c++-tests: New file, extracted from
16053         modules/stdlib-tests.
16054         * modules/stdlib-tests: Depend on it.
16055         * modules/string-c++-tests: New file, extracted from
16056         modules/string-tests.
16057         * modules/string-tests: Depend on it.
16058         * modules/sys_ioctl-c++-tests: New file, extracted from
16059         modules/sys_ioctl-tests.
16060         * modules/sys_ioctl-tests: Depend on it.
16061         * modules/sys_select-c++-tests: New file, extracted from
16062         modules/sys_select-tests.
16063         * modules/sys_select-tests: Depend on it.
16064         * modules/sys_socket-c++-tests: New file, extracted from
16065         modules/sys_socket-tests.
16066         * modules/sys_socket-tests: Depend on it.
16067         * modules/sys_stat-c++-tests: New file, extracted from
16068         modules/sys_stat-tests.
16069         * modules/sys_stat-tests: Depend on it.
16070         * modules/sys_time-c++-tests: New file, extracted from
16071         modules/sys_time-tests.
16072         * modules/sys_time-tests: Depend on it.
16073         * modules/time-c++-tests: New file, extracted from modules/time-tests.
16074         * modules/time-tests: Depend on it.
16075         * modules/unistd-c++-tests: New file, extracted from
16076         modules/unistd-tests.
16077         * modules/unistd-tests: Depend on it.
16078         * modules/wchar-c++-tests: New file, extracted from
16079         modules/wchar-tests.
16080         * modules/wchar-tests: Depend on it.
16081         * modules/wctype-c++-tests: New file, extracted from
16082         modules/wctype-tests.
16083         * modules/wctype-tests: Depend on it.
16084         Reported by Simon Josefsson.
16085
16086 2010-03-28  Bruno Haible  <bruno@clisp.org>
16087
16088         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
16089         * gnulib-tool (func_exists_module): New function, extracted from
16090         func_verify_module.
16091         (func_verify_module): Use it.
16092         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
16093         'foo' only if 'foo' exists.
16094         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
16095         module.
16096
16097 2010-03-28  Bruno Haible  <bruno@clisp.org>
16098
16099         gnulib-tool: Add support for special categories of tests.
16100         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
16101         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
16102         (func_usage): Document them.
16103         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
16104         inc_unportable_tests, inc_all_tests): New variables.
16105         (func_acceptable): Consider these variables.
16106         (func_modules_transitive_closure): Make it work when the 'Status' field
16107         consists of multiple words.
16108         (func_import): Store and restore the values of inc_cxx_tests,
16109         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
16110         inc_all_tests in gnulib-comp.m4.
16111         (func_create_testdir): Set inc_all_tests to true.
16112         * doc/gnulib.texi (Extra tests modules): New section.
16113         Suggested by Jim Meyering.
16114
16115 2010-03-28  Bruno Haible  <bruno@clisp.org>
16116
16117         ansi-c++-opt: Allow turning off the C++ build by default.
16118         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
16119         gl_CXX_CHOICE_DEFAULT_NO is defined.
16120         Requested by Eric Blake.
16121
16122 2010-03-28  Bruno Haible  <bruno@clisp.org>
16123
16124         unistd: Avoid #define replacements in C++ mode.
16125         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16126         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16127         setsockopt, shutdown, select): In C++, attach a warning to the function
16128         if possible, rather than #defining the symbol to a dysfunctional alias.
16129         Reported by John W. Eaton <jwe@gnu.org>.
16130
16131 2010-03-28  Bruno Haible  <bruno@clisp.org>
16132
16133         Fix link errors on mingw.
16134         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
16135         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
16136         $(LIBSOCKET).
16137         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
16138         $(LIBSOCKET).
16139
16140 2010-03-28  Bruno Haible  <bruno@clisp.org>
16141             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16142
16143         lib-ignore: Determine different options for different compilers.
16144         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
16145         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
16146         Add comments.
16147         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
16148         * NEWS: Mention the change.
16149
16150 2010-03-27  Bruno Haible  <bruno@clisp.org>
16151
16152         Remove unused GNULIB_XYZ macro definitions.
16153         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16154         * modules/fseek (configure.ac): Likewise.
16155         * modules/ioctl (configure.ac): Likewise.
16156         * modules/open (configure.ac): Likewise.
16157         * modules/stdlib-safer (configure.ac): Likewise.
16158
16159 2010-03-27  Bruno Haible  <bruno@clisp.org>
16160
16161         Add a remark about certain modules.
16162         * modules/malloc (Comment): New section.
16163         * modules/realloc (Comment): Likewise.
16164         * modules/sigpipe (Comment): Likewise.
16165
16166 2010-03-27  Bruno Haible  <bruno@clisp.org>
16167
16168         Resolve conflict between the two kinds of module indicators.
16169         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
16170         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
16171         * modules/canonicalize (configure.ac): Invoke
16172         gl_MODULE_INDICATOR_FOR_TESTS.
16173         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
16174         GNULIB_XYZ.
16175         * tests/test-dirent-c++.cc: Likewise.
16176         * tests/test-dirent-safer.c: Likewise.
16177         * tests/test-dup2.c: Likewise.
16178         * tests/test-fchdir.c: Likewise.
16179         * tests/test-fcntl-h-c++.cc: Likewise.
16180         * tests/test-getopt.c: Likewise.
16181         * tests/test-getopt.h: Likewise.
16182         * tests/test-langinfo-c++.cc: Likewise.
16183         * tests/test-locale-c++.cc: Likewise.
16184         * tests/test-math-c++.cc: Likewise.
16185         * tests/test-pty-c++.cc: Likewise.
16186         * tests/test-search-c++.cc: Likewise.
16187         * tests/test-signal-c++.cc: Likewise.
16188         * tests/test-spawn-c++.cc: Likewise.
16189         * tests/test-stdio-c++.cc: Likewise.
16190         * tests/test-stdlib-c++.cc: Likewise.
16191         * tests/test-string-c++.cc: Likewise.
16192         * tests/test-sys_ioctl-c++.cc: Likewise.
16193         * tests/test-sys_select-c++.cc: Likewise.
16194         * tests/test-sys_socket-c++.cc: Likewise.
16195         * tests/test-sys_stat-c++.cc: Likewise.
16196         * tests/test-sys_time-c++.cc: Likewise.
16197         * tests/test-time-c++.cc: Likewise.
16198         * tests/test-unistd-c++.cc: Likewise.
16199         * tests/test-wchar-c++.cc: Likewise.
16200         * tests/uninorm/test-u8-nfc.c: Likewise.
16201         * tests/uninorm/test-u8-nfd.c: Likewise.
16202         * tests/uninorm/test-u8-nfkc.c: Likewise.
16203         * tests/uninorm/test-u8-nfkd.c: Likewise.
16204         * tests/uninorm/test-u16-nfc.c: Likewise.
16205         * tests/uninorm/test-u16-nfd.c: Likewise.
16206         * tests/uninorm/test-u16-nfkc.c: Likewise.
16207         * tests/uninorm/test-u16-nfkd.c: Likewise.
16208         * tests/uninorm/test-u32-nfc.c: Likewise.
16209         * tests/uninorm/test-u32-nfc-big.c: Likewise.
16210         * tests/uninorm/test-u32-nfd.c: Likewise.
16211         * tests/uninorm/test-u32-nfd-big.c: Likewise.
16212         * tests/uninorm/test-u32-nfkc.c: Likewise.
16213         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
16214         * tests/uninorm/test-u32-nfkd.c: Likewise.
16215         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
16216         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16217
16218 2010-03-27  Bruno Haible  <bruno@clisp.org>
16219
16220         Distinguish two kinds of module indicators.
16221         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
16222         gl_MODULE_INDICATOR.
16223         (gl_MODULE_INDICATOR): New macro.
16224         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16225         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
16226         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16227         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16228         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16229         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16230         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16231         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16232         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16233         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16234         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16235         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16236         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16237         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16238         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16239         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16240         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16241         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16242         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16243         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16244         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16245         * modules/cloexec (configure.ac): Likewise.
16246         * modules/getopt-gnu (configure.ac): Likewise.
16247         * modules/uninorm/u8-normalize (configure.ac): Likewise.
16248         * modules/uninorm/u16-normalize (configure.ac): Likewise.
16249         * modules/uninorm/u32-normalize (configure.ac): Likewise.
16250         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
16251
16252 2010-03-27  Bruno Haible  <bruno@clisp.org>
16253
16254         New module description field 'Comment'.
16255         * gnulib-tool: New option --extract-comment.
16256         (func_usage): Document it.
16257         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
16258         (func_get_comment): New function.
16259         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
16260
16261 2010-03-27  Bruno Haible  <bruno@clisp.org>
16262
16263         Addendum to 2010-02-07 commit.
16264         * gnulib-tool (func_usage): Document --extract-applicability option.
16265
16266 2010-03-27  Bruno Haible  <bruno@clisp.org>
16267
16268         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
16269         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
16270         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
16271         rather than link errors.
16272
16273 2010-03-27  Bruno Haible  <bruno@clisp.org>
16274
16275         Avoid side effects from tests-related modules on the compilation of lib.
16276         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
16277         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
16278         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
16279         parameter. Emit into AM_CPPFLAGS a definition of the designated C
16280         macro.
16281         (func_import): Define a witness macro. Assign it a value that depends
16282         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
16283         tests-related modules.
16284         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
16285         Reported by Jim Meyering.
16286
16287 2010-03-27  Bruno Haible  <bruno@clisp.org>
16288
16289         Factorize common .m4 code.
16290         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
16291         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
16292         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
16293         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
16294         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16295         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
16296         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
16297         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16298         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16299         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16300         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
16301         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16302         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16303         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16304         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16305         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
16306         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16307         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16309         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
16310         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
16311         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16312         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16313         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16314         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16315         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16316         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
16317         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
16318         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
16319         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16320         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16321         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16322
16323 2010-03-27  Bruno Haible  <bruno@clisp.org>
16324
16325         Fix a compilation error on Cygwin with g++ >= 4.3.
16326         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
16327         if it is undefined or if we alias it to chmod.
16328         (lstat): Don't warn about the use of this function if it is undefined
16329         or if we alias it to stat.
16330         Reported by Simon Josefsson.
16331
16332 2010-03-27  Bruno Haible  <bruno@clisp.org>
16333
16334         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
16335         * modules/getlogin (configure.ac): Update.
16336
16337         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
16338         * modules/getlogin_r (configure.ac): Update.
16339
16340         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
16341         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
16342         * modules/inet_ntop (configure.ac): Update.
16343
16344         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
16345         * modules/inet_pton (configure.ac): Update.
16346
16347         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
16348         * modules/mbslen (configure.ac): Update.
16349
16350         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
16351         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
16352         * modules/forkpty (configure.ac): Update.
16353         * modules/openpty (configure.ac): Update.
16354
16355 2010-03-26  Simon Josefsson  <simon@josefsson.org>
16356
16357         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
16358         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
16359
16360 2010-03-25  Eric Blake  <eblake@redhat.com>
16361
16362         maint: use pragma consistently across replacement headers
16363         * lib/ctype.in.h (system_header): Hoist for consistent placement.
16364         * lib/dirent.in.h (system_header): Likewise.
16365         * lib/errno.in.h (system_header): Likewise.
16366         * lib/float.in.h (system_header): Likewise.
16367         * lib/getopt.in.h (system_header): Likewise.
16368         * lib/iconv.in.h (system_header): Likewise.
16369         * lib/inttypes.in.h (system_header): Likewise.
16370         * lib/langinfo.in.h (system_header): Likewise.
16371         * lib/locale.in.h (system_header): Likewise.
16372         * lib/math.in.h (system_header): Likewise.
16373         * lib/netdb.in.h (system_header): Likewise.
16374         * lib/netinet_in.in.h (system_header): Likewise.
16375         * lib/pty.in.h (system_header): Likewise.
16376         * lib/sched.in.h (system_header): Likewise.
16377         * lib/se-selinux.in.h (system_header): Likewise.
16378         * lib/search.in.h (system_header): Likewise.
16379         * lib/spawn.in.h (system_header): Likewise.
16380         * lib/stdarg.in.h (system_header): Likewise.
16381         * lib/stdint.in.h (system_header): Likewise.
16382         * lib/string.in.h (system_header): Likewise.
16383         * lib/strings.in.h (system_header): Likewise.
16384         * lib/sys_file.in.h (system_header): Likewise.
16385         * lib/sys_ioctl.in.h (system_header): Likewise.
16386         * lib/sys_socket.in.h (system_header): Likewise.
16387         * lib/sys_times.in.h (system_header): Likewise.
16388         * lib/sys_utsname.in.h (system_header): Likewise.
16389         * lib/sys_wait.in.h (system_header): Likewise.
16390         * lib/sysexits.in.h (system_header): Likewise.
16391         * lib/unistd.in.h (system_header): Likewise.
16392         * lib/wctype.in.h (system_header): Likewise.
16393
16394         arpa/inet: fix mingw compilation warning
16395         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
16396         Reported by Matthew Bolte.
16397
16398 2010-03-25  Bruno Haible  <bruno@clisp.org>
16399
16400         Avoid collision between gnulib wrapper and libintl wrapper.
16401         * lib/printf.c (printf): Don't define if a printf wrapper is already
16402         defined in intl/printf.c.
16403         Reported by Michel Boaventura <michel@michelboaventura.com>.
16404
16405 2010-03-25  Bruno Haible  <bruno@clisp.org>
16406
16407         Use ANSI C.
16408         * lib/readutmp.h (getutent): Provide ANSI C prototype.
16409
16410 2010-03-25  Bruno Haible  <bruno@clisp.org>
16411
16412         Minor formatting changes.
16413         * lib/acosl.c: Insert space before function argument list.
16414         * lib/argz.c: Likewise.
16415         * lib/asinl.c: Likewise.
16416         * lib/expl.c: Likewise.
16417         * lib/gen-uni-tables.c: Likewise.
16418         * lib/gettext.h: Likewise.
16419         * lib/glthread/lock.h: Likewise.
16420         * lib/tanl.c: Likewise.
16421         * lib/uniname/uniname.c: Likewise.
16422         * tests/test-idpriv-drop.c: Likewise.
16423         * tests/test-idpriv-droptemp.c: Likewise.
16424         * tests/test-lock.c: Likewise.
16425         * tests/test-tls.c: Likewise.
16426         * lib/argp-help.c: Insert space before function-like macro argument
16427         list.
16428         * lib/memcmp.c: Likewise.
16429         * tests/test-base64.c: Likewise.
16430         * lib/localename.c: Insert space before sizeof's argument list.
16431         * lib/safe-alloc.h: Likewise.
16432         * lib/file-set.h: Insert space before macro argument list.
16433         * tests/test-argp.c: Likewise.
16434         * lib/argp-namefrob.h: Insert space before function parameter list.
16435         * lib/getaddrinfo.c: Likewise.
16436         * lib/netdb.in.h: Likewise.
16437         * lib/parse-duration.h: Likewise.
16438         * lib/parse-duration.c: Likewise.
16439         * lib/poll.c: Likewise.
16440         * lib/select.c: Likewise.
16441         * lib/trim.h: Likewise.
16442         * tests/test-usleep.c: Likewise.
16443         * lib/ldexpl.c: Insert space before function parameter list and before
16444         function argument list.
16445         * lib/logl.c: Likewise.
16446         * lib/sqrtl.c: Likewise.
16447         * lib/trim.c: Likewise.
16448         * lib/cosl.c: Use GNU style indentation. Insert space before function
16449         argument list.
16450         * lib/sinl.c: Likewise.
16451         * lib/tsearch.c: Insert space after 'for'.
16452         Reported by Jim Meyering.
16453
16454 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
16455
16456         * maint.mk (sc_Wundef_boolean): Check for the presence of the
16457         config header before grepping, as it's not present before
16458         autoreconf/configure are run.  Reported by Simon Josefsson.
16459
16460 2010-03-23  Bruno Haible  <bruno@clisp.org>
16461
16462         pt_chown: Make it work with automake < 1.11.
16463         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
16464         Reported by Simon Josefsson.
16465
16466 2010-03-23  Bruno Haible  <bruno@clisp.org>
16467
16468         pt_chown: Don't depend on GPLed modules.
16469         * lib/pt_chown.c: Don't include idpriv.h.
16470         (main): Don't drop privileges.
16471         * modules/pt_chown (Depends-on): Remove idpriv-drop.
16472         Reported by Simon Josefsson.
16473
16474 2010-03-24  Simon Josefsson  <simon@josefsson.org>
16475
16476         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
16477         suggestions from karl@freefriends.org (Karl Berry).
16478
16479 2010-03-22  Eric Blake  <eblake@redhat.com>
16480
16481         gethostname: further tweaks
16482         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
16483         are overriding gethostname.
16484         Suggested by Bruno Haible.
16485
16486 2010-03-21  Bruno Haible  <bruno@clisp.org>
16487
16488         Fix comments.
16489         * lib/forkpty.c (rpl_forkpty): Fix comment.
16490         * lib/openpty.c (rpl_openpty): Likewise.
16491         Reported by Eric Blake.
16492
16493 2010-03-22  Eric Blake  <eblake@redhat.com>
16494
16495         gethostname: fix build on mingw
16496         * lib/unistd.in.h (includes): Work around fact that mingw
16497         <winsock2.h> re-includes <unistd.h>, by avoiding any
16498         redeclarations if we are being included by <winsock2.h>.
16499         Reported by Matthias Bolte.
16500
16501 2010-03-21  Bruno Haible  <bruno@clisp.org>
16502
16503         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16504         * lib/forkpty.c (forkpty): New replacement function, from glibc with
16505         modifications.
16506         * lib/pty.in.h (forkpty): Update declaration. Add comments.
16507         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
16508         provide the replacement.
16509         * modules/forkpty (Depends-on): Add openpty, login_tty.
16510         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
16511         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
16512         * doc/glibc-functions/forkpty.texi: More supported platforms.
16513         * config/srclist.txt: Add forkpty.c (commented).
16514
16515 2010-03-21  Bruno Haible  <bruno@clisp.org>
16516
16517         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
16518         (Makefile.am): Verify that PTY_LIB is defined.
16519
16520         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
16521
16522 2010-03-21  Bruno Haible  <bruno@clisp.org>
16523
16524         Tests for module 'login_tty'.
16525         * modules/login_tty-tests: New file.
16526         * tests/test-login_tty.c: New file.
16527
16528         New module 'login_tty'.
16529         * lib/login_tty.c: New file.
16530         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
16531         * modules/login_tty: New file.
16532         * doc/glibc-functions/login_tty.texi: Mention the new module.
16533
16534 2010-03-21  Bruno Haible  <bruno@clisp.org>
16535
16536         login_tty: Documentation.
16537         * doc/glibc-functions/login_tty.texi: New file.
16538         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
16539
16540 2010-03-21  Bruno Haible  <bruno@clisp.org>
16541
16542         pty: Consistent macro naming.
16543         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
16544         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
16545         * modules/pty (configure.ac): Update.
16546
16547 2010-03-21  Bruno Haible  <bruno@clisp.org>
16548
16549         Tests for openpty: Make stricter.
16550         * tests/test-openpty.c (main): Add test of canonical processing and
16551         erase.
16552         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
16553
16554         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16555         * lib/openpty.c (openpty): New replacement function.
16556         * lib/pty.in.h: Include <termios.h>.
16557         (openpty): Update declaration. Add comments.
16558         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
16559         is not declared, arrange to provide the replacement. Check for _getpty
16560         and posix_openpt.
16561         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
16562         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
16563         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
16564         * modules/pty-tests (test_pty_c___LDADD): New variable.
16565         * doc/glibc-functions/openpty.texi: More supported platforms.
16566
16567 2010-03-21  Bruno Haible  <bruno@clisp.org>
16568
16569         setenv: Tweaks.
16570         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
16571         the test program.
16572         * doc/posix-functions/setenv.texi: Update platforms list.
16573
16574 2010-03-21  Bruno Haible  <bruno@clisp.org>
16575
16576         New module 'unlockpt'.
16577         * lib/unlockpt.c: New file, from glibc with modifications.
16578         * m4/unlockpt.m4: New file.
16579         * modules/unlockpt: New file.
16580         * lib/stdlib.in.h (unlockpt): New declaration.
16581         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
16582         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
16583         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
16584         HAVE_UNLOCKPT.
16585         * doc/posix-functions/unlockpt.texi: Mention the new module.
16586         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
16587         * config/srclist.txt: Add unlockpt.c (commented).
16588
16589 2010-03-21  Jim Meyering  <meyering@redhat.com>
16590
16591         maint.mk: prohibit inclusion of "intprops.h" without use
16592         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
16593
16594 2010-03-21  Bruno Haible  <bruno@clisp.org>
16595
16596         New module 'grantpt'.
16597         * lib/grantpt.c: New file, from glibc with modifications.
16598         * m4/grantpt.m4: New file.
16599         * modules/grantpt: New file.
16600         * lib/stdlib.in.h (grantpt): New declaration.
16601         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16602         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16603         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16604         HAVE_GRANTPT.
16605         * doc/posix-functions/grantpt.texi: Mention the new module.
16606         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16607         * config/srclist.txt: Add grantpt.c (commented).
16608
16609 2010-03-21  Bruno Haible  <bruno@clisp.org>
16610
16611         New module 'pt_chown'.
16612         * lib/pt_chown.c: New file, from glibc with modifications.
16613         * lib/pty-private.h: New file, from glibc with modifications.
16614         * modules/pt_chown: New file.
16615         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16616
16617 2010-03-21  Bruno Haible  <bruno@clisp.org>
16618
16619         Tests for module 'ptsname'.
16620         * modules/ptsname-tests: New file.
16621         * tests/test-ptsname.c: New file.
16622
16623         New module 'ptsname'.
16624         * lib/ptsname.c: New file, from glibc with modifications.
16625         * m4/ptsname.m4: New file.
16626         * modules/ptsname: New file.
16627         * lib/stdlib.in.h (ptsname): New declaration.
16628         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
16629         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
16630         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
16631         HAVE_PTSNAME.
16632         * doc/posix-functions/ptsname.texi: Mention the new module.
16633         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
16634         * config/srclist.txt: Add ptsname.c (commented).
16635
16636 2010-03-21  Bruno Haible  <bruno@clisp.org>
16637
16638         Tests for module 'ttyname_r'.
16639         * modules/ttyname_r-tests: New file.
16640         * tests/test-ttyname_r.c: New file.
16641
16642         New module 'ttyname_r'.
16643         * lib/ttyname_r.c: New file.
16644         * m4/ttyname_r.m4: New file.
16645         * modules/ttyname_r: New file.
16646         * lib/unistd.in.h (ttyname_r): New declaration.
16647         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
16648         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
16649         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
16650         HAVE_TTYNAME_R.
16651         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
16652         * doc/posix-functions/ttyname_r.texi: Mention the new module.
16653
16654 2010-03-20  Bruno Haible  <bruno@clisp.org>
16655
16656         signal: Undefine macro definitions in C++ mode.
16657         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
16658         sigfillset): Undefine macro definitions from the system header in C++
16659         mode.
16660         Reported by John W. Eaton <jwe@gnu.org>.
16661
16662 2010-03-20  Bruno Haible  <bruno@clisp.org>
16663
16664         Ensure no #include statements inside extern "C" { ... }.
16665         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
16666         contain #include statements.
16667         * lib/time.in.h: Likewise.
16668
16669 2010-03-20  Bruno Haible  <bruno@clisp.org>
16670
16671         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
16672         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
16673         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
16674         Reported by John W. Eaton <jwe@gnu.org>.
16675
16676 2010-03-20  Bruno Haible  <bruno@clisp.org>
16677
16678         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
16679         Reported by Jim Meyering.
16680
16681 2010-03-20  Bruno Haible  <bruno@clisp.org>
16682
16683         pipe: Set errno upon failure.
16684         * lib/pipe.h: Specify that when -1 is returned, errno is set.
16685         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
16686         errno value in error message.
16687
16688 2010-03-20  Bruno Haible  <bruno@clisp.org>
16689             Jim Meyering  <meyering@redhat.com>
16690
16691         lchown: Avoid "unused variable" warning.
16692         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
16693
16694 2010-03-20  Bruno Haible  <bruno@clisp.org>
16695
16696         Work around unlink() bug on MacOS X 10.5.6.
16697         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
16698         attempting to unlink a parent directory.
16699         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
16700         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
16701         activate for the replacement function.
16702         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
16703
16704 2010-03-20  Bruno Haible  <bruno@clisp.org>
16705
16706         Fix link errors on Solaris 8.
16707         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
16708         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
16709
16710 2010-03-19  Jim Meyering  <meyering@redhat.com>
16711
16712         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
16713         The _LIBC implementation of build_range_exp correctly honors the
16714         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
16715         However, the non-_LIBC implementation would ignore that syntax-bit
16716         flag and return REG_ERANGE unconditionally.
16717         This change makes it honor that flag.
16718         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
16719         Make two pointer parameters "const".
16720         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
16721         (parse_bracket_exp): Update caller.
16722
16723         regex.m4: correct the reversed range endpoint ([b-a]) test
16724         * m4/regex.m4: When requiring that [b-a] evoke failure,
16725         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
16726         test pass once again for x86-based systems.
16727
16728 2010-03-19  Bruno Haible  <bruno@clisp.org>
16729
16730         scandir: Fix link error on Solaris 8.
16731         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
16732         macros.
16733
16734 2010-03-19  Bruno Haible  <bruno@clisp.org>
16735
16736         getusershell: Fix documentation.
16737         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
16738         module.
16739         * doc/glibc-functions/setusershell.texi: Likewise.
16740
16741         getusershell: Provide declaration, missing on Solaris 9.
16742         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
16743         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
16744         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
16745         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
16746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16747         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
16748         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
16749         HAVE_GETUSERSHELL.
16750         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
16751
16752 2010-03-19  Bruno Haible  <bruno@clisp.org>
16753
16754         wctype: Provide iswblank function.
16755         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
16756         exists and is fine.
16757         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
16758         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
16759         * tests/test-wctype.c (main): Re-enable the iswblank tests.
16760         * doc/posix-functions/iswblank.texi: Update.
16761
16762 2010-03-19  Bruno Haible  <bruno@clisp.org>
16763
16764         Tests of module 'pty' in C++ mode.
16765         * modules/pty-tests: New file.
16766         * tests/test-pty-c++.cc: New file.
16767         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16768
16769 2010-03-19  Eric Blake  <eblake@redhat.com>
16770
16771         logb: fix documentation
16772         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
16773         1.5 declaration bug.
16774
16775         forkpty, openpty: prefer glibc's const-safe prototype
16776         * lib/forkpty.c (rpl_forkpty): New file.
16777         * lib/openpty.c (rpl_openpty): Likewise.
16778         * modules/forkpty (Files): Distribute it.
16779         * modules/openpty (Files): Likewise.
16780         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
16781         check...
16782         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
16783         replacement for for non-const BSD signature.
16784         * modules/pty (Makefile.am): Substitute witnesses.
16785         * lib/pty.in.h (forkpty, openpty): Declare replacements.
16786         * tests/test-forkpty.c: Update signature check.
16787         * tests/test-openpty.c: Likewise.
16788         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
16789         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16790
16791         forkpty, openpty: split functions into new modules
16792         * modules/pty (Makefile.am): Substitute new witnesses.
16793         (Libraries): Move library detection...
16794         * modules/forkpty: ...into new module.
16795         * modules/openpty: Another new module.
16796         * modules/pty-tests: Rename and split...
16797         * modules/forkpty-tests: ...to this...
16798         * modules/openpty-tests: ...and this.
16799         * tests/test-pty.c: Rename and split...
16800         * tests/test-forkpty.c: ...to this...
16801         * tests/test-openpty.c: ...and this.
16802         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
16803         (gl_PTY): Split library searching...
16804         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
16805         (gl_FORKPTY, gl_OPENPTY): New macros.
16806         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
16807         * NEWS: Mention the split.
16808         * MODULES.html.sh (Misc): Document the modules.
16809         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
16810         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16811
16812         pty: improve replacement header
16813         * lib/pty.in.h: New file.
16814         * modules/pty (Files): Ship it.
16815         (Makefile.am): Always build replacement.
16816         * m4/pty.m4: Rename...
16817         * m4/pty_h.m4: ...to this.
16818         (gl_PTY): Modernize setting of witness macros; update check of
16819         forkpty to take proper advantage of cache.
16820         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
16821
16822         getopt: avoid compiler warning
16823         * lib/getopt.c (attribute_hidden): Remove unused macro.
16824
16825 2010-03-18  Bruno Haible  <bruno@clisp.org>
16826
16827         Fix link errors on Solaris 8.
16828         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
16829         * modules/search-tests (test_search_c___LDADD): Likewise.
16830         * modules/signal-tests (test_signal_c___LDADD): Likewise.
16831         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
16832         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
16833         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
16834         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
16835         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
16836         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
16837
16838 2010-03-18  Bruno Haible  <bruno@clisp.org>
16839
16840         Fix bug introduced on 2010-03-14.
16841         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
16842         (gl_SPAWN_H): Require it.
16843         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
16844         Reported by Simon Josefsson.
16845
16846 2010-03-18  Bruno Haible  <bruno@clisp.org>
16847
16848         Fix typo introduced on 2009-12-31.
16849         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
16850         posix_spawn_file_actions_adddup2.
16851
16852 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
16853         and Eric Blake  <eblake@redhat.com>
16854
16855         test-vc-list-files-git: make more robust
16856         * tests/test-vc-list-files-git.sh: Unset problematic environment
16857         variables.  Chain commands together.
16858
16859 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
16860
16861         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
16862         `AC_CHECK_DECL' invocation.
16863
16864 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
16865
16866         * lib/inttostr.c (inttostr): Make sure the invocation of verify
16867         appears before executable statements. Suggested by Petr Sumbera
16868         <Petr.Sumbera@Sun.COM>.
16869
16870 2010-03-14  Bruno Haible  <bruno@clisp.org>
16871
16872         * tests/test-flock.c (test_exclusive): Comment out a test that causes
16873         portability problems. Instead use a simpler test.
16874         (main): Check that invalid arguments are rejected only on Linux.
16875
16876 2010-03-14  Bruno Haible  <bruno@clisp.org>
16877
16878         Fix bug introduced on 2009-12-31.
16879         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16880         gl_PREREQ_SYS_H_WINSOCK2 always.
16881         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
16882         SYS_SOCKET_H variable.
16883         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
16884         Update comments.
16885         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
16886         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16887         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16888         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16889         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
16890
16891 2010-03-14  Bruno Haible  <bruno@clisp.org>
16892
16893         Fix values returned by sinl, cosl.
16894         * lib/trigl.h: Add specification comments.
16895         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
16896         that combines the values from the precomputed table with the values of
16897         the Chebyshev polynomials.
16898
16899 2010-03-14  Bruno Haible  <bruno@clisp.org>
16900
16901         Fix compilation error when modules 'posix_spawn[p]' are not used.
16902         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
16903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
16904
16905 2010-03-14  Bruno Haible  <bruno@clisp.org>
16906
16907         Fix compilation error on mingw when module 'time_r' is not used.
16908         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
16909         is 1.
16910         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
16911         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16912         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
16913         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
16914
16915 2010-03-14  Bruno Haible  <bruno@clisp.org>
16916
16917         Fix compilation error with Sun C.
16918         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
16919         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
16920         instead of GCC specific ULONG_LONG_MAX.
16921         * lib/xstrtoll.c: Likewise.
16922         * lib/xstrtoull.c: Likewise.
16923
16924 2010-03-13  Bruno Haible  <bruno@clisp.org>
16925
16926         Allow the user to disable C++ code and tests.
16927         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
16928         (gl_PROG_ANSI_CXX): Require it.
16929
16930 2010-03-13  Bruno Haible  <bruno@clisp.org>
16931
16932         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
16933         cases.
16934
16935 2010-03-13  Bruno Haible  <bruno@clisp.org>
16936
16937         Test that gnulib does not break the standard C++ headers.
16938         * tests/test-locale-c++2.cc: New file.
16939         * modules/locale-tests (Files): Add it.
16940         (Makefile.am): Compile it for test-locale-c++.
16941         * tests/test-math-c++2.cc: New file.
16942         * modules/math-tests (Files): Add it.
16943         (Makefile.am): Compile it for test-math-c++.
16944         * tests/test-signal-c++2.cc: New file.
16945         * modules/signal-tests (Files): Add it.
16946         (Makefile.am): Compile it for test-signal-c++.
16947         * tests/test-stdio-c++2.cc: New file.
16948         * modules/stdio-tests (Files): Add it.
16949         (Makefile.am): Compile it for test-stdio-c++.
16950         * tests/test-stdlib-c++2.cc: New file.
16951         * modules/stdlib-tests (Files): Add it.
16952         (Makefile.am): Compile it for test-stdlib-c++.
16953         * tests/test-string-c++2.cc: New file.
16954         * modules/string-tests (Files): Add it.
16955         (Makefile.am): Compile it for test-string-c++.
16956         * tests/test-time-c++2.cc: New file.
16957         * modules/time-tests (Files): Add it.
16958         (Makefile.am): Compile it for test-time-c++.
16959         Reported by John W. Eaton <jwe@gnu.org>.
16960
16961 2010-03-13  Bruno Haible  <bruno@clisp.org>
16962
16963         * gnulib-tool (func_usage): Clarify which options are available for
16964         --create-testdir and --create-megatestdir.
16965
16966 2010-03-13  Bruno Haible  <bruno@clisp.org>
16967
16968         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
16969         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
16970         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
16971         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16972         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
16973         when appropriate.
16974         Reported by Jim Meyering.
16975
16976 2010-03-12  Simon Josefsson  <simon@josefsson.org>
16977
16978         * gnulib-tool (func_import): Explain origin of code.
16979
16980 2010-03-12  Bruno Haible  <bruno@clisp.org>
16981
16982         Fix problem with automake's definition of CXXLINK.
16983         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
16984         Reported by Simon Josefsson and Ludovic Courtès.
16985
16986 2010-03-12  Bruno Haible  <bruno@clisp.org>
16987
16988         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
16989         stable releases.
16990
16991 2010-03-11  Bruno Haible  <bruno@clisp.org>
16992
16993         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
16994         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
16995         whether the system provides one variant or multiple variants of the
16996         function.
16997         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
16998         C++ compilers.
16999         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
17000         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
17001         Reported by Jim Meyering.
17002
17003 2010-03-09  Simon Josefsson  <simon@josefsson.org>
17004
17005         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
17006
17007 2010-03-08  Bruno Haible  <bruno@clisp.org>
17008
17009         gnulib-tool: Add support for --libtool in --create-testdir.
17010         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
17011         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
17012
17013 2010-03-08  Eric Blake  <eblake@redhat.com>
17014
17015         gnulib-tool.texi: mention possibility of git submodule
17016         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
17017         submodules.
17018         * doc/.gitignore: Ignore another generated file.
17019
17020 2010-03-08  Karl Berry  <karl@gnu.org>
17021
17022         * doc/gnulib-tool.texi (VCS Issues): Mention third option
17023         of committing gnulib files while skipping others.
17024
17025 2010-03-07  Bruno Haible  <bruno@clisp.org>
17026
17027         Tests of module 'wctype' in C++ mode.
17028         * tests/test-wctype-c++.cc: New file.
17029         * modules/wctype-tests (Files): Add it and tests/signature.h.
17030         (Depends-on): Add ansi-c++-opt.
17031         (Makefile.am): Arrange to compile and run test-wctype-c++.
17032
17033         Tests of module 'wchar' in C++ mode.
17034         * tests/test-wchar-c++.cc: New file.
17035         * modules/wchar-tests (Files): Add it and tests/signature.h.
17036         (Depends-on): Add ansi-c++-opt.
17037         (Makefile.am): Arrange to compile and run test-wchar-c++.
17038         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
17039         gl_MODULE_INDICATOR.
17040
17041         Tests of module 'unistd' in C++ mode.
17042         * tests/test-unistd-c++.cc: New file.
17043         * modules/unistd-tests (Files): Add it and tests/signature.h.
17044         (Depends-on): Add ansi-c++-opt.
17045         (Makefile.am): Arrange to compile and run test-unistd-c++.
17046         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
17047         gl_MODULE_INDICATOR.
17048
17049         Tests of module 'time' in C++ mode.
17050         * tests/test-time-c++.cc: New file.
17051         * modules/time-tests (Files): Add it and tests/signature.h.
17052         (Depends-on): Add ansi-c++-opt.
17053         (Makefile.am): Arrange to compile and run test-time-c++.
17054         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17055
17056         Tests of module 'sys_time' in C++ mode.
17057         * tests/test-sys_time-c++.cc: New file.
17058         * modules/sys_time-tests (Files): Add it and tests/signature.h.
17059         (Depends-on): Add ansi-c++-opt.
17060         (Makefile.am): Arrange to compile and run test-sys_time-c++.
17061         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
17062         gl_MODULE_INDICATOR.
17063
17064         Tests of module 'sys_stat' in C++ mode.
17065         * tests/test-sys_stat-c++.cc: New file.
17066         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
17067         (Depends-on): Add ansi-c++-opt.
17068         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
17069         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
17070         gl_MODULE_INDICATOR.
17071
17072         Tests of module 'sys_socket' in C++ mode.
17073         * tests/test-sys_socket-c++.cc: New file.
17074         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
17075         (Depends-on): Add ansi-c++-opt.
17076         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
17077         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
17078         gl_MODULE_INDICATOR.
17079
17080         Tests of module 'sys_select' in C++ mode.
17081         * tests/test-sys_select-c++.cc: New file.
17082         * modules/sys_select-tests (Files): Add it and tests/signature.h.
17083         (Depends-on): Add ansi-c++-opt.
17084         (Makefile.am): Arrange to compile and run test-sys_select-c++.
17085         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
17086         gl_MODULE_INDICATOR.
17087
17088         Tests of module 'sys_ioctl' in C++ mode.
17089         * tests/test-sys_ioctl-c++.cc: New file.
17090         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
17091         (Depends-on): Add ansi-c++-opt.
17092         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
17093         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
17094         gl_MODULE_INDICATOR.
17095
17096         Tests of module 'string' in C++ mode.
17097         * tests/test-string-c++.cc: New file.
17098         * modules/string-tests (Files): Add it and tests/signature.h.
17099         (Depends-on): Add ansi-c++-opt.
17100         (Makefile.am): Arrange to compile and run test-string-c++.
17101         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
17102         gl_MODULE_INDICATOR.
17103
17104         Tests of module 'stdlib' in C++ mode.
17105         * tests/test-stdlib-c++.cc: New file.
17106         * modules/stdlib-tests (Files): Add it and tests/signature.h.
17107         (Depends-on): Add ansi-c++-opt.
17108         (Makefile.am): Arrange to compile and run test-stdlib-c++.
17109         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
17110         gl_MODULE_INDICATOR.
17111
17112         Tests of module 'stdio' in C++ mode.
17113         * tests/test-stdio-c++.cc: New file.
17114         * modules/stdio-tests (Files): Add it and tests/signature.h.
17115         (Depends-on): Add ansi-c++-opt.
17116         (Makefile.am): Arrange to compile and run test-stdio-c++.
17117         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
17118         gl_MODULE_INDICATOR.
17119
17120         Tests of module 'spawn' in C++ mode.
17121         * tests/test-spawn-c++.cc: New file.
17122         * modules/spawn-tests (Files): Add it and tests/signature.h.
17123         (Depends-on): Add ansi-c++-opt.
17124         (Makefile.am): Arrange to compile and run test-spawn-c++.
17125         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
17126         gl_MODULE_INDICATOR.
17127
17128         Tests of module 'signal' in C++ mode.
17129         * tests/test-signal-c++.cc: New file.
17130         * modules/signal-tests (Files): Add it and tests/signature.h.
17131         (Depends-on): Add ansi-c++-opt.
17132         (Makefile.am): Arrange to compile and run test-signal-c++.
17133         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
17134         gl_MODULE_INDICATOR.
17135
17136         Tests of module 'search' in C++ mode.
17137         * tests/test-search-c++.cc: New file.
17138         * modules/search-tests (Files): Add it and tests/signature.h.
17139         (Depends-on): Add ansi-c++-opt.
17140         (Makefile.am): Arrange to compile and run test-search-c++.
17141         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
17142         gl_MODULE_INDICATOR.
17143
17144         Tests of module 'math' in C++ mode.
17145         * tests/test-math-c++.cc: New file.
17146         * modules/math-tests (Files): Add it and tests/signature.h.
17147         (Depends-on): Add ansi-c++-opt.
17148         (Makefile.am): Arrange to compile and run test-math-c++.
17149         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17150
17151         Tests of module 'locale' in C++ mode.
17152         * tests/test-locale-c++.cc: New file.
17153         * modules/locale-tests (Files): Add it and tests/signature.h.
17154         (Depends-on): Add ansi-c++-opt.
17155         (Makefile.am): Arrange to compile and run test-locale-c++.
17156         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
17157         gl_MODULE_INDICATOR.
17158
17159         Tests of module 'langinfo' in C++ mode.
17160         * tests/test-langinfo-c++.cc: New file.
17161         * modules/langinfo-tests (Files): Add it and tests/signature.h.
17162         (Depends-on): Add ansi-c++-opt.
17163         (Makefile.am): Arrange to compile and run test-langinfo-c++.
17164         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
17165         gl_MODULE_INDICATOR.
17166
17167         Tests of module 'iconv-h' in C++ mode.
17168         * tests/test-iconv-h-c++.cc: New file.
17169         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
17170         (Depends-on): Add ansi-c++-opt.
17171         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
17172
17173         Tests of module 'glob' in C++ mode.
17174         * tests/test-glob-c++.cc: New file.
17175         * modules/glob-tests (Files): Add it.
17176         (Depends-on): Add ansi-c++-opt.
17177         (Makefile.am): Arrange to compile and run test-glob-c++.
17178
17179         Tests of module 'fcntl-h' in C++ mode.
17180         * tests/test-fcntl-h-c++.cc: New file.
17181         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
17182         (Depends-on): Add ansi-c++-opt.
17183         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
17184         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
17185         gl_MODULE_INDICATOR.
17186
17187         Tests of module 'dirent' in C++ mode.
17188         * tests/test-dirent-c++.cc: New file.
17189         * modules/dirent-tests (Files): Add it and tests/signature.h.
17190         (Depends-on): Add ansi-c++-opt.
17191         (Makefile.am): Arrange to compile and run test-dirent-c++.
17192         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17193         gl_MODULE_INDICATOR.
17194
17195         New module 'ansi-c++-opt'.
17196         * modules/ansi-c++-opt: New file.
17197         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
17198
17199         Document C++ namespace mode.
17200         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
17201
17202         wctype: Avoid #define replacements in C++ mode.
17203         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
17204         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
17205         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
17206         In C++, define a namespaced alias symbol.
17207         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
17208         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
17209         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
17210         rule.
17211
17212         wchar: Avoid #define replacements in C++ mode.
17213         * lib/wchar.in.h: Include c++defs.h.
17214         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
17215         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
17216         symbol.
17217         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
17218         * modules/wchar (Depends-on): Add c++defs.
17219         (Makefile.am): Update wchar.h rule.
17220
17221         unistd: Avoid #define replacements in C++ mode.
17222         * lib/unistd.in.h: Include c++defs.h.
17223         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
17224         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
17225         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
17226         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
17227         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
17228         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
17229         symbol.
17230         (environ): Update.
17231         * modules/unistd (Depends-on): Add c++defs.
17232         (Makefile.am): Update unistd.h rule.
17233
17234         time: Avoid #define replacements in C++ mode.
17235         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
17236         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
17237         define a namespaced alias symbol.
17238         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
17239         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
17240         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
17241         * modules/time (Depends-on): Add c++defs, warn-on-use.
17242         (Makefile.am): Update time.h rule.
17243         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17244         * modules/nanosleep (configure.ac): Likewise.
17245         * modules/strptime (configure.ac): Likewise.
17246         * modules/timegm (configure.ac): Likewise.
17247
17248         sys_time: Avoid #define replacements in C++ mode.
17249         * lib/sys_time.in.h: Include c++defs.h.
17250         (gettimeofday): In C++, define a namespaced alias symbol.
17251         * modules/sys_time (Depends-on): Add c++defs.
17252         (Makefile.am): Update sys/time.h rule.
17253
17254         sys_stat: Avoid #define replacements in C++ mode.
17255         * lib/sys_stat.in.h: Include c++defs.h.
17256         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
17257         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
17258         namespaced alias symbol.
17259         In C++, define a namespaced alias symbol.
17260         * modules/sys_stat (Depends-on): Add c++defs.
17261         (Makefile.am): Update sys/stat.h rule.
17262
17263         sys_socket: Avoid #define replacements in C++ mode.
17264         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
17265         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
17266         definitions also when the system has a <sys/socket.h>.
17267         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17268         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
17269         In C++, define a namespaced alias symbol.
17270         * modules/sys_socket (Depends-on): Add c++defs.
17271         (Makefile.am): Update sys/socket.h rule.
17272
17273         sys_select: Avoid #define replacements in C++ mode.
17274         * lib/sys_select.in.h: Include c++defs.h. Enable the function
17275         definitions also when the system has a <sys/select.h>.
17276         (select): In C++, define a namespaced alias symbol.
17277         * modules/sys_select (Depends-on): Add c++defs.
17278         (Makefile.am): Update sys/select.h rule.
17279
17280         sys_ioctl: Avoid #define replacements in C++ mode.
17281         * lib/sys_ioctl.in.h: Include c++defs.h.
17282         (ioctl): In C++, define a namespaced alias symbol.
17283         * modules/sys_ioctl (Depends-on): Add c++defs.
17284         (Makefile.am): Update sys/ioctl.h rule.
17285
17286         string: Avoid #define replacements in C++ mode.
17287         * lib/string.in.h: Include c++defs.h.
17288         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
17289         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17290         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17291         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
17292         strsignal, strverscmp): In C++, define a namespaced alias symbol.
17293         * modules/string (Depends-on): Add c++defs.
17294         (Makefile.am): Update string.h rule.
17295
17296         stdlib: Avoid #define replacements in C++ mode.
17297         * lib/stdlib.in.h: Include c++defs.h.
17298         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
17299         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
17300         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
17301         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
17302         symbol.
17303         * modules/stdlib (Depends-on): Add c++defs.
17304         (Makefile.am): Update stdlib.h rule.
17305
17306         stdio: Avoid #define replacements in C++ mode.
17307         * lib/stdio.in.h: Include c++defs.h.
17308         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
17309         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
17310         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
17311         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
17312         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
17313         namespaced alias symbol.
17314         * modules/stdio (Depends-on): Add c++defs.
17315         (Makefile.am): Update stdio.h rule.
17316
17317         spawn: Avoid #define replacements in C++ mode.
17318         * lib/spawn.in.h: Include c++defs.h.
17319         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17320         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17321         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17322         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17323         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17324         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17325         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17326         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17327         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17328         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17329         In C++, define a namespaced alias symbol.
17330         * modules/spawn (Depends-on): Add c++defs.
17331         (Makefile.am): Update spawn.h rule.
17332
17333         signal: Avoid #define replacements in C++ mode.
17334         * lib/signal.in.h: Include c++defs.h.
17335         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17336         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
17337         namespaced alias symbol.
17338         * modules/signal (Depends-on): Add c++defs.
17339         (Makefile.am): Update signal.h rule.
17340
17341         search: Avoid #define replacements in C++ mode.
17342         * lib/search.in.h: Include c++defs.h.
17343         (_gl_search_compar_fn, _gl_search_action_fn): New types.
17344         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
17345         symbol.
17346         * modules/search (Depends-on): Add c++defs.
17347         (Makefile.am): Update search.h rule.
17348
17349         math: Avoid #define replacements in C++ mode.
17350         * lib/math.in.h: Include c++defs.h.
17351         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
17352         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
17353         trunc, truncl): In C++, define a namespaced alias symbol.
17354         * modules/math (Depends-on): Add c++defs.
17355         (Makefile.am): Update math.h rule.
17356
17357         locale: Avoid #define replacements in C++ mode.
17358         * lib/locale.in.h: Include c++defs.h.
17359         (duplocale): In C++, define a namespaced alias symbol.
17360         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
17361         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
17362         * modules/locale (Depends-on): Add c++defs.
17363         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
17364
17365         langinfo: Avoid #define replacements in C++ mode.
17366         * lib/langinfo.in.h: Include c++defs.h.
17367         (nl_langinfo): In C++, define a namespaced alias symbol.
17368         * modules/langinfo (Depends-on): Add c++defs.
17369         (Makefile.am): Update langinfo.h rule.
17370
17371         iconv-h: Avoid #define replacements in C++ mode.
17372         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
17373         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
17374         symbol.
17375         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17376         whenever iconv is present.
17377         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
17378         (Makefile.am): Update iconv.h rule.
17379
17380         glob: Avoid #define replacements in C++ mode.
17381         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
17382         (_gl_glob_errfunc_fn): New type.
17383         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
17384         symbol.
17385         * modules/glob (Depends-on): Add c++defs, warn-on-use.
17386         (Makefile.am): Update glob.h rule.
17387
17388         fcntl-h: Avoid #define replacements in C++ mode.
17389         * lib/fcntl.in.h: Include c++defs.h.
17390         (fcntl, open, openat): In C++, define a namespaced alias symbol.
17391         * modules/fcntl-h (Depends-on): Add c++defs.
17392         (Makefile.am): Update fcntl.h rule.
17393
17394         dirent: Avoid #define replacements in C++ mode.
17395         * lib/dirent.in.h: Include c++defs.h.
17396         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
17397         namespaced alias symbol.
17398         (dirfd): Update declaration.
17399         * modules/dirent (Depends-on): Add c++defs.
17400         (Makefile.am): Update dirent.h rule.
17401
17402         ctype: Make it usable in C++ code.
17403         * lib/ctype.in.h: Include c++defs.h.
17404         (isblank): Declare as extern "C".
17405         * modules/ctype (Depends-on): Add c++defs.
17406         (Makefile.am): Update ctype.h rule.
17407
17408         New module 'c++defs'.
17409         * modules/c++defs: New file.
17410         * build-aux/c++defs.h: New file.
17411         Reported by John W. Eaton <jwe@gnu.org>.
17412
17413 2010-03-07  Bruno Haible  <bruno@clisp.org>
17414
17415         logb: Provide missing declaration for Cygwin.
17416         * lib/math.in.h (logb): New declaration.
17417         * m4/logb.m4: New file.
17418         * modules/logb (Files): Add m4/logb.m4.
17419         (Depends-on): Add math.
17420         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
17421         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
17422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
17423         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
17424         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
17425
17426 2010-03-07  Bruno Haible  <bruno@clisp.org>
17427
17428         Fix test-cond link error.
17429         * tests/test-cond.c: Include <stdio.h>.
17430
17431 2010-03-07  Bruno Haible  <bruno@clisp.org>
17432
17433         Fix test-dirent-safer link error.
17434         * modules/dirent-safer-tests (Makefile.am): Define
17435         test_dirent_safer_LDADD.
17436
17437 2010-03-07  Bruno Haible  <bruno@clisp.org>
17438
17439         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
17440         among default module list.
17441
17442 2010-03-07  Bruno Haible  <bruno@clisp.org>
17443
17444         Fix link error on platforms with GNU libiconv.
17445         * modules/unistr/u8-strcoll-tests (Makefile): Define
17446         test_u8_strcoll_LDADD.
17447         * modules/unistr/u16-strcoll-tests (Makefile): Define
17448         test_u16_strcoll_LDADD.
17449         * modules/unistr/u32-strcoll-tests (Makefile): Define
17450         test_u32_strcoll_LDADD.
17451
17452 2010-03-07  Bruno Haible  <bruno@clisp.org>
17453
17454         Use POSIX declarations for socket functions.
17455         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
17456         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
17457         rpl_sendto): Change declaration to match POSIX.
17458         * lib/connect.c (rpl_connect): Likewise.
17459         * lib/accept.c (rpl_accept): Likewise.
17460         * lib/bind.c (rpl_bind): Likewise.
17461         * lib/getpeername.c (rpl_getpeername): Likewise.
17462         * lib/getsockname.c (rpl_getsockname): Likewise.
17463         * lib/recv.c (rpl_recv): Likewise.
17464         * lib/send.c (rpl_send): Likewise.
17465         * lib/recvfrom.c (rpl_recvfrom): Likewise.
17466         * lib/sendto.c (rpl_sendto): Likewise.
17467
17468 2010-03-06  Bruno Haible  <bruno@clisp.org>
17469
17470         Clarify access, euidaccess, faccessat.
17471         * doc/posix-functions/faccessat.texi: Mention security problem under
17472         "Other problems", not "Portability problems".
17473         * doc/posix-functions/access.texi: Likewise. Mention a related security
17474         problem.
17475         * doc/glibc-functions/euidaccess.texi: Mention security problems.
17476         * lib/euidaccess.c: Add comments about platforms.
17477         * lib/unistd.in.h (access, euidaccess): Add warnings.
17478
17479 2010-03-07  Bruno Haible  <bruno@clisp.org>
17480
17481         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
17482         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
17483         (POSIX_SPAWN_SETSCHEDULER): Likewise.
17484         (POSIX_SPAWN_USEVFORK): Define in a way that works when
17485         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17486         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
17487         declare when POSIX_SPAWN_SETSCHEDULER is zero.
17488         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
17489         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
17490         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
17491         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
17492         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
17493         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
17494         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
17495         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
17496         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
17497         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
17498         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
17499         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
17500         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
17501         Likewise.
17502         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
17503         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
17504         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
17505         Likewise.
17506         * tests/test-spawn.c (main): Make it work when
17507         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17508
17509 2010-03-07  Bruno Haible  <bruno@clisp.org>
17510
17511         Fix incorrect Makefile.am generation in German locale.
17512         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17513         Execute sed command with character range in C locale.
17514
17515 2010-03-06  Bruno Haible  <bruno@clisp.org>
17516
17517         Tests for module 'iconv-h'.
17518         * modules/iconv-h-tests: New file.
17519         * tests/test-iconv-h.c: New file.
17520
17521         New module 'iconv-h'.
17522         * modules/iconv-h: New file.
17523         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
17524         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
17525         (configure.ac): Remove gl_ICONV_H.
17526         (Makefile.am): Remove rule for iconv.h.
17527
17528 2010-03-06  Bruno Haible  <bruno@clisp.org>
17529
17530         More consistent naming of *.m4 files.
17531         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
17532         * modules/wctype (Files): Update.
17533
17534         More consistent naming of *.m4 files.
17535         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
17536         * modules/wchar (Files): Update.
17537
17538 2010-03-06  Jim Meyering  <meyering@redhat.com>
17539
17540         euidaccess: relax license to LGPLv2+
17541         * modules/euidaccess (License): Relax to LGPLv2+.
17542
17543 2010-03-06  Bruno Haible  <bruno@clisp.org>
17544
17545         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
17546         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
17547         (Makefile.am): Augment lib_SOURCES instead.
17548
17549 2010-03-04  Jim Meyering  <meyering@redhat.com>
17550
17551         utime: remove obsolete module
17552         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
17553         unnecessary for years, and has been marked as obsolete for 10 months.
17554         * modules/utime: Remove file.
17555         * lib/utime.c: Remove file.
17556         * m4/utime.m4: Remove file.
17557         * m4/utimes-null.m4: Remove file.
17558         * doc/posix-functions/utime.texi (utime): Remove reference to
17559         the module.  Move the sole "fixed by gnulib" item into the
17560         "problems not fixed by Gnulib" list.
17561         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
17562
17563 2010-03-05  Simon Josefsson  <simon@josefsson.org>
17564
17565         * modules/exit (License): Relax license to LGPLv2+.
17566         (Status): Mark as obsolete.
17567         * NEWS: Mention deprecated 'exit' module.
17568         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
17569         of now obsolete 'exit'.
17570
17571 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17572
17573         fts-lgpl: remove unused module
17574         * modules/fts-lgpl: Remove.
17575         * MODULES.html.sh (func_all_modules): Adjust.
17576         * check-module (find_included_lib_files): Adjust.
17577         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
17578
17579 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
17580
17581         copy-acl: enhance Solaris ACL error handling
17582         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
17583         * lib/set-mode-acl.c (qset_acl): Likewise.
17584
17585 2010-03-02  Bruno Haible  <bruno@clisp.org>
17586
17587         spawn: Don't override the system defined values on FreeBSD 8.
17588         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
17589         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
17590         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
17591         if HAVE_POSIX_SPAWN is 1.
17592         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
17593
17594 2010-03-01  Bruno Haible  <bruno@clisp.org>
17595
17596         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
17597         regarding Automake.
17598
17599 2010-02-25  Bruno Haible  <bruno@clisp.org>
17600
17601         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17602         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17603         setting, not afterwards.
17604         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17605
17606 2010-02-24  Eric Blake  <eblake@redhat.com>
17607
17608         bootstrap, git-version-gen: use timestamp
17609         * build-aux/git-version-gen (scriptversion): Force UTC.
17610         * build-aux/bootstrap (scriptversion): New variable.
17611
17612         bootstrap: allow older git
17613         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17614         older than 1.6.4.  Requested by the libvirt project.
17615
17616 2010-02-23  Eric Blake  <eblake@redhat.com>
17617
17618         warn-on-use: work with old autoconf
17619         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17620         AS_VAR semantics of autoconf 2.60.
17621         Reported by Bruno Haible.
17622
17623         bootstrap: improve some comments
17624         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17625         clarification comments.
17626
17627         gettimeofday: provide correct function
17628         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
17629         when replacement is declared, otherwise provide gettimeofday.
17630         Reported by Michael Goffioul.
17631
17632 2010-02-23  Jim Meyering  <meyering@redhat.com>
17633
17634         lib-ignore: relax license to "unlimited", not LGPLv2+
17635         * modules/lib-ignore (License): Relax to "unlimited".
17636
17637 2010-02-23  Jim Meyering  <meyering@redhat.com>
17638
17639         lib-ignore: relax license to LGPLv2+
17640         * modules/lib-ignore (License): Relax to LGPLv2+.
17641
17642 2010-02-22  Eric Blake  <eblake@redhat.com>
17643
17644         lseek: avoid bash 3.2 broken pipe bug
17645         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
17646         warning from bash 3.2.
17647         Reported by Ben Pfaff, with analysis from Bruno Haible.
17648
17649         bootstrap: support non-FSF copyright holder
17650         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
17651         bootstrap.conf override of COPYRIGHT_HOLDER.
17652         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
17653
17654         bootstrap: interoperate with gettext 0.14.1
17655         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
17656
17657         bootstrap: allow for alternate submodule location
17658         * build-aux/bootstrap (gnulib_path): New variable; use instead of
17659         hardcoding submodule location.
17660         (gnulib_mk): Allow direct use of Makefile.am.
17661
17662         bootstrap: use GNULIB_SRCDIR to reduce disk usage
17663         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
17664         rather than reconfiguring where the submodule points.
17665
17666         gettimeofday: restore support for platforms that lack function
17667         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
17668         replacement if function is missing.
17669         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
17670         * modules/sys_time (Makefile.am): Substitute it.
17671         * lib/sys_time.in.h (gettimeofday): Check it.
17672         Reported by Michael Goffioul.
17673
17674 2010-02-21  Bruno Haible  <bruno@clisp.org>
17675
17676         * lib/stdio.in.h (obstack_printf): Fix typo.
17677
17678 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
17679
17680         vc-list-files: use bzr ls's -R option
17681         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
17682         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
17683
17684 2010-02-21  Jim Meyering  <meyering@redhat.com>
17685
17686         init.sh: fix EXEEXT shims to work also for names like test-prog
17687         * tests/init.sh: Re-exec a better shell, when needed.
17688         If the current shell lacks support for posix $(...), an init.sh-using
17689         test will now try to find a shell that supports that.  If EXEEXT is
17690         nonempty, we also require support for hyphen-in-alias-name and shell
17691         substitutions like ${var#glob}.  Failure to find such a shell results
17692         in a skipped test.
17693
17694 2010-02-21  Bruno Haible  <bruno@clisp.org>
17695
17696         Really work around around "broken pipe" error message from bash 3.2.
17697         * gnulib-tool (func_reset_sigpipe): Remove function.
17698         (echo): In bash 3.2, define to a function that uses printf.
17699         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
17700
17701 2010-02-20  Bruno Haible  <bruno@clisp.org>
17702
17703         Restore support for automake 1.9.6 with autoconf 2.61.
17704         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
17705         Reported by James Youngman <jay@gnu.org>.
17706
17707 2010-02-20  Bruno Haible  <bruno@clisp.org>
17708
17709         Improve *printf warning condition.
17710         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
17711         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
17712         and the function is overridden due to SIGPIPE emulation.
17713
17714 2010-02-20  Bruno Haible  <bruno@clisp.org>
17715
17716         * lib/stdio.in.h: Tweak comments.
17717
17718 2010-02-19  Bruno Haible  <bruno@clisp.org>
17719
17720         Make it easier to find modules. New gnulib-tool option '--find'.
17721         * gnulib-tool: New option --find.
17722         (func_usage): Document it.
17723         (func_sanitize_modulelist): New function, extracted from
17724         func_all_modules.
17725         (func_all_modules): Invoke it.
17726         * doc/gnulib-tool.texi (Which modules?): New node.
17727
17728 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
17729
17730         * lib/sys_select.in.h: Provide select replacement even if
17731         sys/select.h exists on a system, for Interix.
17732
17733 2010-02-18  Jim Meyering  <meyering@redhat.com>
17734
17735         init.sh: don't use $(...) just yet
17736         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
17737         to accommodate e.g., Solaris' /bin/sh.
17738
17739 2010-02-17  Bruno Haible  <bruno@clisp.org>
17740
17741         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
17742         Reported by Ludovic Courtès <ludo@gnu.org>.
17743
17744 2010-02-16  Simon Josefsson  <simon@josefsson.org>
17745
17746         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
17747         linking with -lintl.
17748
17749 2010-02-17  Simon Josefsson  <simon@josefsson.org>
17750
17751         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
17752         if not provided by the system's netdb.h.  Reported by
17753         ludo@gnu.org (Ludovic Courtès).
17754
17755 2010-02-15  Jim Meyering  <meyering@redhat.com>
17756
17757         init.sh: improve portability and efficiency
17758         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
17759         "dummy" in a for loop.
17760         Use '!', not '^' to select the complement of a character set used
17761         in a "case" statement.
17762         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
17763         Suggestions from Eric Blake.
17764
17765         init.sh: automatically accommodate programs with the .exe suffix
17766         Automatically arrange for an invocation of "prog" to execute the
17767         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
17768         may use the simpler "prog", yet still work when built on a system
17769         that requires specifying the added suffix.
17770         Do this by constructing a function named "prog" that invokes
17771         "prog.exe" for each .exe file in selected directories.
17772         * tests/init.sh (find_exe_basenames_): New function.
17773         (create_exe_shim_functions_): New function.
17774         (path_prepend_): Use it.
17775
17776         maint.mk: mark syntax-check sc_*.m rules as .PHONY
17777         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
17778         "make -t syntax-check" doesn't create a ton of sc_*.m files.
17779
17780 2010-02-14  Jim Meyering  <meyering@redhat.com>
17781
17782         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
17783         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
17784         (sc_prohibit_hash_pjw_without_use): New rule.
17785
17786         maint.mk: allow the default upload destination dir to be overridden
17787         * top/maint.mk (upload_dest_dir_): Define with a default that
17788         preserves the status quo.
17789         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
17790         Reported by Peter Simons.
17791
17792         maint.mk: prohibit inclusion of "hash.h" without_use
17793         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
17794
17795 2010-02-10  Jim Meyering  <meyering@redhat.com>
17796
17797         maint.mk: prohibit inclusion of "ignore-value.h" without_use
17798         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
17799
17800 2010-02-09  Eric Blake  <ebb9@byu.net>
17801         and Bruno Haible  <bruno@clisp.org>
17802
17803         obstack-printf-posix: ensure declaration
17804         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
17805         extracted from gl_FUNC_OBSTACK_PRINTF.
17806         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
17807         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17808         Likewise.
17809         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
17810         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
17811         0.
17812
17813 2010-02-08  Bruno Haible  <bruno@clisp.org>
17814
17815         gnulib-tool: Fix typo in 2010-02-07 commit.
17816         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
17817         Reported by Eric Blake.
17818
17819 2010-02-07  Bruno Haible  <bruno@clisp.org>
17820
17821         gnulib-tool: Fix up caching patches.
17822         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
17823         option --no-cache. Use associative arrays when supported by the shell.
17824         (sed_comments): New variable.
17825         (modcache): Renamed from do_cache.
17826         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
17827         abbreviate unnecessarily.
17828         (have_associative): New variable.
17829         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
17830         way also for ksh and zsh.
17831         (func_init_sed_convert_to_cache_statements): New function, extracted
17832         from func_cache_lookup_module. Add support for associative arrays.
17833         Don't set the c_MODULE_cached variable here. Ignore all lines before
17834         the first field header. Remove only the final newline, not all trailing
17835         newlines. Support empty fields correctly. Limit the use of 'eval' to
17836         assignments.
17837         (func_get_description, func_get_status, func_get_notice,
17838         func_get_applicability, func_get_filelist, func_get_dependencies,
17839         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
17840         func_get_automake_snippet, func_get_include_directive,
17841         func_get_link_directive, func_get_license, func_get_maintainer):
17842         Update documentation. List the unoptimized code first. Add support for
17843         associative arrays. Limit the use of 'eval' to assignments.
17844         (func_get_applicability): Undo stylistic pessimisations.
17845         (func_get_automake_snippet, func_get_include_directive): Reduce code
17846         duplication.
17847         (func_modules_transitive_closure, func_modules_add_dummy,
17848         func_modules_notice, func_modules_to_filelist, func_add_file,
17849         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
17850         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
17851         func_create_testdir, func_create_megatestdir): Update documentation.
17852
17853 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17854
17855         * gnulib-tool (func_cache_lookup_module): Store the module name
17856         belonging to the cache variable; error out if two different
17857         module names map to the same cache variable name.
17858
17859 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17860
17861         gnulib-tool: Make caching optional.
17862         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
17863         Update matching short versions of --no-changelog.
17864         (func_usage): Update.
17865         (sed_extract_cache_prog): Renamed from ...
17866         (sed_extract_prog): ... this; revert to old extraction script.
17867         (func_get_description, func_get_status)
17868         (func_get_notice, func_get_applicability, func_get_filelist)
17869         (func_get_dependencies, func_get_autoconf_early_snippet)
17870         (func_get_autoconf_snippet, func_get_automake_snippet)
17871         (func_get_include_directive, func_get_link_directive)
17872         (func_get_license, func_get_maintainer): If $do_cache is false,
17873         use old, non-caching extraction scripts.
17874         Suggestion by Bruno Haible.
17875
17876 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17877
17878         gnulib-tool: cache module metainformation.
17879         * gnulib-tool (sed_extract_prog): Match newline before each
17880         header, and rewrite header to a shell variable suffix.
17881         (func_cache_var, func_cache_lookup_module): New functions,
17882         to turn a module name into a cache variable prefix, and to
17883         look up and cache module metainformation.
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): Use
17890         func_cache_lookup_module.
17891
17892 2010-02-07  Bruno Haible  <bruno@clisp.org>
17893
17894         fnctl: Fix missing dependency.
17895         * modules/fcntl (Depends-on): Add getdtablesize.
17896         Reported by John W. Eaton <jwe@gnu.org>.
17897
17898 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17899
17900         Argp: fix recognition of short alias options.
17901
17902         * lib/argp-parse.c (convert_options): Fix improper use of
17903         `|' between character values.
17904         * tests/test-argp.c (group1_option): New alias option
17905         --read (-r).
17906         (group1_parser): Special handling for 'r'.
17907         (test15): New test case.
17908         (test_fun): Add test15.
17909         * tests/test-argp-2.sh: Update expected --help and --usage
17910         outputs.
17911
17912 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17913
17914         * tests/test-argp.c: Fix indentation.
17915
17916 2010-02-04  Eric Blake  <ebb9@byu.net>
17917
17918         gettimeofday: expose type of second argument
17919         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
17920         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
17921         * tests/test-gettimeofday.c: Use it to silence warning.
17922         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
17923         the issue.
17924
17925 2010-02-03  Jim Meyering  <meyering@redhat.com>
17926
17927         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
17928         * lib/regcomp.c (TYPE_SIGNED): Define.
17929         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
17930
17931         regcomp.c: avoid a new -Wshadow warning
17932         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
17933
17934 2010-02-01  Jim Meyering  <meyering@redhat.com>
17935
17936         removing useless parentheses in cpp #define directives
17937         For motivation, see commit c0221df4, "define STREQ(a,b)
17938         consistently, removing useless parentheses"
17939         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
17940         * lib/mountlist.c (MNT_IGNORE): Likewise.
17941         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
17942
17943 2010-02-01  Eric Blake  <ebb9@byu.net>
17944
17945         sys_time: use link-warning
17946         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
17947         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
17948         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
17949         * modules/sys_time (Depends-on): Add warn-on-use.
17950         (Makefile.am): Always build replacement.
17951         (configure.ac): Update substitutions.
17952         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
17953         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
17954         bother with SYS_TIME_H.
17955         * modules/gettimeofday (configure.ac): Declare indicator.
17956         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
17957         in use.
17958
17959         closein-tests: silence compiler warning
17960         * tests/test-closein.c (main): Ignore fread result.
17961         * modules/closein-tests (Depends-on): Add ignore-value.
17962
17963         tests: silence warning about system return
17964         * tests/test-areadlink-with-size.c (main): Ignore system result.
17965         * tests/test-areadlink.c (main): Likewise.
17966         * tests/test-areadlinkat-with-size.c (main): Likewise.
17967         * tests/test-areadlinkat.c (main): Likewise.
17968         * tests/test-canonicalize-lgpl.c (main): Likewise.
17969         * tests/test-canonicalize.c (main): Likewise.
17970         * tests/test-chown.c (main): Likewise.
17971         * tests/test-fchownat.c (main): Likewise.
17972         * tests/test-fdutimensat.c (main): Likewise.
17973         * tests/test-fstatat.c (main): Likewise.
17974         * tests/test-futimens.c (main): Likewise.
17975         * tests/test-lchown.c (main): Likewise.
17976         * tests/test-link.c (main): Likewise.
17977         * tests/test-linkat.c (main): Likewise.
17978         * tests/test-lstat.c (main): Likewise.
17979         * tests/test-mkdir.c (main): Likewise.
17980         * tests/test-mkdirat.c (main): Likewise.
17981         * tests/test-mkfifo.c (main): Likewise.
17982         * tests/test-mkfifoat.c (main): Likewise.
17983         * tests/test-mknod.c (main): Likewise.
17984         * tests/test-readlink.c (main): Likewise.
17985         * tests/test-remove.c (main): Likewise.
17986         * tests/test-rename.c (main): Likewise.
17987         * tests/test-renameat.c (main): Likewise.
17988         * tests/test-rmdir.c (main): Likewise.
17989         * tests/test-symlink.c (main): Likewise.
17990         * tests/test-symlinkat.c (main): Likewise.
17991         * tests/test-unlink.c (main): Likewise.
17992         * tests/test-unlinkat.c (main): Likewise.
17993         * tests/test-utimens.c (main): Likewise.
17994         * tests/test-utimensat.c (main): Likewise.
17995         * modules/areadlink-tests (Depends-on): Add ignore-value.
17996         * modules/areadlink-with-size-tests (Depends-on): Likewise.
17997         * modules/areadlinkat-tests (Depends-on): Likewise.
17998         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
17999         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18000         * modules/canonicalize-tests (Depends-on): Likewise.
18001         * modules/chown-tests (Depends-on): Likewise.
18002         * modules/fdutimensat-tests (Depends-on): Likewise.
18003         * modules/futimens-tests (Depends-on): Likewise.
18004         * modules/lchown-tests (Depends-on): Likewise.
18005         * modules/link-tests (Depends-on): Likewise.
18006         * modules/linkat-tests (Depends-on): Likewise.
18007         * modules/lstat-tests (Depends-on): Likewise.
18008         * modules/mkdir-tests (Depends-on): Likewise.
18009         * modules/mkfifo-tests (Depends-on): Likewise.
18010         * modules/mkfifoat-tests (Depends-on): Likewise.
18011         * modules/mknod-tests (Depends-on): Likewise.
18012         * modules/openat-tests (Depends-on): Likewise.
18013         * modules/readlink-tests (Depends-on): Likewise.
18014         * modules/remove-tests (Depends-on): Likewise.
18015         * modules/rename-tests (Depends-on): Likewise.
18016         * modules/renameat-tests (Depends-on): Likewise.
18017         * modules/rmdir-tests (Depends-on): Likewise.
18018         * modules/symlink-tests (Depends-on): Likewise.
18019         * modules/symlinkat-tests (Depends-on): Likewise.
18020         * modules/unlink-tests (Depends-on): Likewise.
18021         * modules/utimens-tests (Depends-on): Likewise.
18022         * modules/utimensat-tests (Depends-on): Likewise.
18023
18024 2010-01-31  Bruno Haible  <bruno@clisp.org>
18025
18026         Perform the same test for many <math.h> functions.
18027         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
18028         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
18029         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
18030         of gl_MATHFUNC.
18031         * modules/acos (configure.ac): Likewise.
18032         * modules/asin (configure.ac): Likewise.
18033         * modules/atan (configure.ac): Likewise.
18034         * modules/atan2 (configure.ac): Likewise.
18035         * modules/cbrt (configure.ac): Likewise.
18036         * modules/copysign (configure.ac): Likewise.
18037         * modules/cos (configure.ac): Likewise.
18038         * modules/cosh (configure.ac): Likewise.
18039         * modules/erf (configure.ac): Likewise.
18040         * modules/erfc (configure.ac): Likewise.
18041         * modules/exp (configure.ac): Likewise.
18042         * modules/fmod (configure.ac): Likewise.
18043         * modules/hypot (configure.ac): Likewise.
18044         * modules/j0 (configure.ac): Likewise.
18045         * modules/j1 (configure.ac): Likewise.
18046         * modules/jn (configure.ac): Likewise.
18047         * modules/lgamma (configure.ac): Likewise.
18048         * modules/log (configure.ac): Likewise.
18049         * modules/log10 (configure.ac): Likewise.
18050         * modules/log1p (configure.ac): Likewise.
18051         * modules/pow (configure.ac): Likewise.
18052         * modules/remainder (configure.ac): Likewise.
18053         * modules/sin (configure.ac): Likewise.
18054         * modules/sinh (configure.ac): Likewise.
18055         * modules/tan (configure.ac): Likewise.
18056         * modules/tanh (configure.ac): Likewise.
18057         * modules/y0 (configure.ac): Likewise.
18058         * modules/y1 (configure.ac): Likewise.
18059         * modules/yn (configure.ac): Likewise.
18060         Suggested by Paolo Bonzini.
18061
18062 2010-01-31  Bruno Haible  <bruno@clisp.org>
18063
18064         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
18065
18066 2010-01-31  Bruno Haible  <bruno@clisp.org>
18067
18068         Work around getdelim() bug on FreeBSD 8.0.
18069         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
18070         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
18071         not work.
18072         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
18073         is 1.
18074         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
18075         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
18076         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
18077         a non-zero size.
18078         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
18079
18080 2010-01-31  Bruno Haible  <bruno@clisp.org>
18081
18082         Work around getline() bug on FreeBSD 8.0.
18083         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
18084         and a non-zero size.
18085         * tests/test-getline.c (main): Likewise.
18086         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
18087         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
18088
18089 2010-01-28  Eric Blake  <ebb9@byu.net>
18090
18091         regex: fix build failure
18092         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
18093         platforms.
18094
18095 2010-01-28  Jim Meyering  <meyering@redhat.com>
18096
18097         regex: do not ignore memory allocation failure
18098         * lib/regex_internal.c (create_cd_newstate): Detect
18099         re_node_set_init_copy failure.   Extracted from glibc commit
18100         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18101
18102         regex: sync more white-space changes from libc
18103         * lib/regex_internal.c: White-space only changes.
18104         * lib/regexec.c: Likewise.
18105
18106         regex: add many uses of __attribute_warn_unused_result__
18107         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
18108         * lib/regexec.c: Likewise.
18109         Extracted from a messy glibc commit.
18110
18111         regcomp.c: spelling and merge-artifact from glibc
18112         * lib/regcomp.c: Merge remainder of glibc's
18113         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18114
18115         regcomp.c: sync white-space changes from glibc
18116         * lib/regcomp.c: Merge to accommodate white space
18117         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18118
18119         regcomp.c: do not ignore internal return values
18120         * lib/regcomp.c: Do not ignore internal return values.
18121         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
18122         but without its white-space changes and spelling fixes.
18123
18124         regex_internal.h: define __attribute_warn_unused_result__
18125         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
18126
18127         maint: add a syntax-check rule to check for vulnerable Makefile.in
18128         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
18129
18130 2010-01-27  Jim Meyering  <meyering@redhat.com>
18131
18132         ncftpput-ftp: clean up spaces
18133         * build-aux/ncftpput-ftp: Make Copyright line consistent.
18134         Remove trailing blanks.
18135
18136 2010-01-27  Simon Josefsson  <simon@josefsson.org>
18137
18138         * build-aux/git-version-gen: Fix copyright statement.
18139         * build-aux/gnupload: Likewise.
18140         * tests/test-arcfour.c: Likewise.
18141         * tests/test-arctwo.c: Likewise.
18142         * tests/test-count-one-bits.c: Likewise.
18143         * tests/test-crc.c: Likewise.
18144         * tests/test-des.c: Likewise.
18145         * tests/test-gc-arcfour.c: Likewise.
18146         * tests/test-gc-arctwo.c: Likewise.
18147         * tests/test-gc-des.c: Likewise.
18148         * tests/test-gc-hmac-md5.c: Likewise.
18149         * tests/test-gc-hmac-sha1.c: Likewise.
18150         * tests/test-gc-md2.c: Likewise.
18151         * tests/test-gc-md4.c: Likewise.
18152         * tests/test-gc-md5.c: Likewise.
18153         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18154         * tests/test-gc-rijndael.c: Likewise.
18155         * tests/test-gc-sha1.c: Likewise.
18156         * tests/test-gc.c: Likewise.
18157         * tests/test-gethostname.c: Likewise.
18158         * tests/test-gettimeofday.c: Likewise.
18159         * tests/test-hash.c: Likewise.
18160         * tests/test-hmac-md5.c: Likewise.
18161         * tests/test-hmac-sha1.c: Likewise.
18162         * tests/test-md2.c: Likewise.
18163         * tests/test-md4.c: Likewise.
18164         * tests/test-md5.c: Likewise.
18165         * tests/test-memchr.c: Likewise.
18166         * tests/test-memchr2.c: Likewise.
18167         * tests/test-memcmp.c: Likewise.
18168         * tests/test-memmem.c: Likewise.
18169         * tests/test-memrchr.c: Likewise.
18170         * tests/test-rawmemchr.c: Likewise.
18171         * tests/test-read-file.c: Likewise.
18172         * tests/test-rijndael.c: Likewise.
18173         * tests/test-sockets.c: Likewise.
18174         * tests/test-strchrnul.c: Likewise.
18175         * tests/test-strstr.c: Likewise.
18176         * tests/test-strtod.c: Likewise.
18177         * build-aux/ncftpput-ftp: Likewise.
18178
18179 2010-01-26  Eric Blake  <ebb9@byu.net>
18180
18181         ignore-value: update recommended header name
18182         * modules/ignore-value (Include): Only use <> for headers that
18183         exist in glibc.
18184
18185 2010-01-26  Jim Meyering  <meyering@redhat.com>
18186
18187         test-userspec.c: avoid compiler warnings
18188         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
18189         and "initialization discards qualifiers..." warnings.
18190         Put the first "uid" in its own scope, and make char* members "const".
18191
18192 2010-01-25  Bruno Haible  <bruno@clisp.org>
18193
18194         gnulib-tool: Make warning diagnostics consistent.
18195         * gnulib-tool (func_warning): New function.
18196         Use it everywhere where gnulib-tool produces output to stderr and it is
18197         not a fatal error.
18198
18199 2010-01-25  Bruno Haible  <bruno@clisp.org>
18200
18201         Fix test dependencies.
18202         * modules/xstrtol-tests (Depends-on): Add inttypes.
18203         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
18204
18205 2010-01-25 Pádraig Brady <P@draigBrady.com>
18206
18207         syntax-check: detect incorrect boolean macro values in config.h
18208         * modules/maintainer-makefile (configure.ac): Parameterize the location
18209         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
18210         The logic is from Eric Blake and the location indicated by Jim Meyering.
18211         Note the more natural CONFIG_HEADER name is prohibited by automake
18212         for backwards compatibility reasons.
18213         * top/maint.mk (sc_Wundef_boolean): New rule.
18214
18215 2010-01-25  Jim Meyering  <meyering@redhat.com>
18216
18217         bootstrap: detect MacOS 10.6's shasum, too
18218         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
18219         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
18220
18221 2010-01-23  Jim Meyering  <meyering@redhat.com>
18222
18223         xstrtoll: new module
18224         * modules/xstrtoll: New file.
18225         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
18226         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
18227         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
18228         ./configure fails if you use this module and lack "long long".
18229         * modules/xstrtoll-tests: New module.
18230         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
18231         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
18232         new init.sh-based test framework.
18233
18234 2010-01-24  Bruno Haible  <bruno@clisp.org>
18235
18236         Tests for module 'yn'.
18237         * modules/yn-tests: New file.
18238         * tests/test-yn.c: New file.
18239
18240         Tests for module 'y1'.
18241         * modules/y1-tests: New file.
18242         * tests/test-y1.c: New file.
18243
18244         Tests for module 'y0'.
18245         * modules/y0-tests: New file.
18246         * tests/test-y0.c: New file.
18247
18248         Tests for module 'tanh'.
18249         * modules/tanh-tests: New file.
18250         * tests/test-tanh.c: New file.
18251
18252         Tests for module 'tan'.
18253         * modules/tan-tests: New file.
18254         * tests/test-tan.c: New file.
18255
18256         Tests for module 'sqrt'.
18257         * modules/sqrt-tests: New file.
18258         * tests/test-sqrt.c: New file.
18259
18260         Tests for module 'sinh'.
18261         * modules/sinh-tests: New file.
18262         * tests/test-sinh.c: New file.
18263
18264         Tests for module 'sin'.
18265         * modules/sin-tests: New file.
18266         * tests/test-sin.c: New file.
18267
18268         Tests for module 'rint'.
18269         * modules/rint-tests: New file.
18270         * tests/test-rint.c: New file.
18271
18272         Tests for module 'remainder'.
18273         * modules/remainder-tests: New file.
18274         * tests/test-remainder.c: New file.
18275
18276         Tests for module 'pow'.
18277         * modules/pow-tests: New file.
18278         * tests/test-pow.c: New file.
18279
18280         Tests for module 'nextafter'.
18281         * modules/nextafter-tests: New file.
18282         * tests/test-nextafter.c: New file.
18283
18284         Tests for module 'modf'.
18285         * modules/modf-tests: New file.
18286         * tests/test-modf.c: New file.
18287
18288         Tests for module 'logb'.
18289         * modules/logb-tests: New file.
18290         * tests/test-logb.c: New file.
18291
18292         Tests for module 'log1p'.
18293         * modules/log1p-tests: New file.
18294         * tests/test-log1p.c: New file.
18295
18296         Tests for module 'log10'.
18297         * modules/log10-tests: New file.
18298         * tests/test-log10.c: New file.
18299
18300         Tests for module 'log'.
18301         * modules/log-tests: New file.
18302         * tests/test-log.c: New file.
18303
18304         Tests for module 'lgamma'.
18305         * modules/lgamma-tests: New file.
18306         * tests/test-lgamma.c: New file.
18307
18308         Tests for module 'ldexp'.
18309         * modules/ldexp-tests: New file.
18310         * tests/test-ldexp.c: New file.
18311
18312         Tests for module 'jn'.
18313         * modules/jn-tests: New file.
18314         * tests/test-jn.c: New file.
18315
18316         Tests for module 'j1'.
18317         * modules/j1-tests: New file.
18318         * tests/test-j1.c: New file.
18319
18320         Tests for module 'j0'.
18321         * modules/j0-tests: New file.
18322         * tests/test-j0.c: New file.
18323
18324         Tests for module 'hypot'.
18325         * modules/hypot-tests: New file.
18326         * tests/test-hypot.c: New file.
18327
18328         Tests for module 'fmod'.
18329         * modules/fmod-tests: New file.
18330         * tests/test-fmod.c: New file.
18331
18332         Tests for module 'fabs'.
18333         * modules/fabs-tests: New file.
18334         * tests/test-fabs.c: New file.
18335
18336         Tests for module 'exp'.
18337         * modules/exp-tests: New file.
18338         * tests/test-exp.c: New file.
18339
18340         Tests for module 'erfc'.
18341         * modules/erfc-tests: New file.
18342         * tests/test-erfc.c: New file.
18343
18344         Tests for module 'erf'.
18345         * modules/erf-tests: New file.
18346         * tests/test-erf.c: New file.
18347
18348         Tests for module 'cosh'.
18349         * modules/cosh-tests: New file.
18350         * tests/test-cosh.c: New file.
18351
18352         Tests for module 'cos'.
18353         * modules/cos-tests: New file.
18354         * tests/test-cos.c: New file.
18355
18356         Tests for module 'copysign'.
18357         * modules/copysign-tests: New file.
18358         * tests/test-copysign.c: New file.
18359
18360         Tests for module 'cbrt'.
18361         * modules/cbrt-tests: New file.
18362         * tests/test-cbrt.c: New file.
18363
18364         Tests for module 'atan2'.
18365         * modules/atan2-tests: New file.
18366         * tests/test-atan2.c: New file.
18367
18368         Tests for module 'atan'.
18369         * modules/atan-tests: New file.
18370         * tests/test-atan.c: New file.
18371
18372         Tests for module 'asin'.
18373         * modules/asin-tests: New file.
18374         * tests/test-asin.c: New file.
18375
18376         Tests for module 'acos'.
18377         * modules/acos-tests: New file.
18378         * tests/test-acos.c: New file.
18379
18380 2010-01-24  Bruno Haible  <bruno@clisp.org>
18381
18382         Fix tests for common <math.h> functions.
18383         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
18384         code snippet that references the function pointer, rather than merely
18385         calling the function. Substitute the FUNC_LIBM variable.
18386         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
18387         * modules/acos (configure.ac): Likewise.
18388         * modules/asin (configure.ac): Likewise.
18389         * modules/atan (configure.ac): Likewise.
18390         * modules/atan2 (configure.ac): Likewise.
18391         * modules/cbrt (configure.ac): Likewise.
18392         * modules/copysign (configure.ac): Likewise.
18393         * modules/cos (configure.ac): Likewise.
18394         * modules/cosh (configure.ac): Likewise.
18395         * modules/erf (configure.ac): Likewise.
18396         * modules/erfc (configure.ac): Likewise.
18397         * modules/exp (configure.ac): Likewise.
18398         * modules/fabs (configure.ac): Likewise.
18399         * modules/fmod (configure.ac): Likewise.
18400         * modules/hypot (configure.ac): Likewise.
18401         * modules/j0 (configure.ac): Likewise.
18402         * modules/j1 (configure.ac): Likewise.
18403         * modules/jn (configure.ac): Likewise.
18404         * modules/ldexp (configure.ac): Likewise.
18405         * modules/lgamma (configure.ac): Likewise.
18406         * modules/log (configure.ac): Likewise.
18407         * modules/log10 (configure.ac): Likewise.
18408         * modules/log1p (configure.ac): Likewise.
18409         * modules/logb (configure.ac): Likewise.
18410         * modules/modf (configure.ac): Likewise.
18411         * modules/nextafter (configure.ac): Likewise.
18412         * modules/pow (configure.ac): Likewise.
18413         * modules/remainder (configure.ac): Likewise.
18414         * modules/rint (configure.ac): Likewise.
18415         * modules/sin (configure.ac): Likewise.
18416         * modules/sinh (configure.ac): Likewise.
18417         * modules/tan (configure.ac): Likewise.
18418         * modules/tanh (configure.ac): Likewise.
18419         * modules/y0 (configure.ac): Likewise.
18420         * modules/y1 (configure.ac): Likewise.
18421         * modules/yn (configure.ac): Likewise.
18422
18423 2010-01-24  Bruno Haible  <bruno@clisp.org>
18424
18425         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
18426         * tests/test-acosl.c (x): New variable.
18427         (main): Store argument in x and fetch it from x.
18428         * tests/test-asinl.c (x): New variable.
18429         (main): Store argument in x and fetch it from x.
18430         * tests/test-atanl.c (x): New variable.
18431         (main): Store argument in x and fetch it from x.
18432         * tests/test-cosl.c (x): New variable.
18433         (main): Store argument in x and fetch it from x.
18434         * tests/test-expl.c (x): New variable.
18435         (main): Store argument in x and fetch it from x.
18436         * tests/test-logl.c (x): New variable.
18437         (main): Store argument in x and fetch it from x.
18438         * tests/test-sinl.c (x): New variable.
18439         (main): Store argument in x and fetch it from x.
18440         * tests/test-sqrtl.c (x): New variable.
18441         (main): Store argument in x and fetch it from x.
18442         * tests/test-tanl.c (x): New variable.
18443         (main): Store argument in x and fetch it from x.
18444
18445 2010-01-24  Bruno Haible  <bruno@clisp.org>
18446
18447         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
18448         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
18449         assignments to the initial TESTS_ENVIRONMENT.
18450         * doc/gnulib.texi (Unit test modules): Document it.
18451         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
18452         TESTS_ENVIRONMENT.
18453         * modules/btowc-tests (Makefile.am): Likewise.
18454         * modules/c-stack-tests (Makefile.am): Likewise.
18455         * modules/c-strcase-tests (Makefile.am): Likewise.
18456         * modules/copy-file-tests (Makefile.am): Likewise.
18457         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
18458         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
18459         * modules/mbrtowc-tests (Makefile.am): Likewise.
18460         * modules/mbscasecmp-tests (Makefile.am): Likewise.
18461         * modules/mbscasestr-tests (Makefile.am): Likewise.
18462         * modules/mbschr-tests (Makefile.am): Likewise.
18463         * modules/mbscspn-tests (Makefile.am): Likewise.
18464         * modules/mbsinit-tests (Makefile.am): Likewise.
18465         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
18466         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
18467         * modules/mbspbrk-tests (Makefile.am): Likewise.
18468         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
18469         * modules/mbsrchr-tests (Makefile.am): Likewise.
18470         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
18471         * modules/mbsspn-tests (Makefile.am): Likewise.
18472         * modules/mbsstr-tests (Makefile.am): Likewise.
18473         * modules/nl_langinfo-tests (Makefile.am): Likewise.
18474         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
18475         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
18476         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
18477         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
18478         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
18479         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
18480         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
18481         * modules/wcrtomb-tests (Makefile.am): Likewise.
18482         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
18483         * modules/wcsrtombs-tests (Makefile.am): Likewise.
18484         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
18485         assignments from TESTS_ENVIRONMENT.
18486         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
18487         augmentation.
18488         * modules/argp-version-etc-tests (Makefile.am): Likewise.
18489         * modules/atexit-tests (Makefile.am): Likewise.
18490         * modules/binary-io-tests (Makefile.am): Likewise.
18491         * modules/closein-tests (Makefile.am): Likewise.
18492         * modules/dprintf-posix-tests (Makefile.am): Likewise.
18493         * modules/exclude-tests (Makefile.am): Likewise.
18494         * modules/fflush-tests (Makefile.am): Likewise.
18495         * modules/fpending-tests (Makefile.am): Likewise.
18496         * modules/fprintf-posix-tests (Makefile.am): Likewise.
18497         * modules/freadahead-tests (Makefile.am): Likewise.
18498         * modules/freadptr-tests (Makefile.am): Likewise.
18499         * modules/freadseek-tests (Makefile.am): Likewise.
18500         * modules/fseek-tests (Makefile.am): Likewise.
18501         * modules/fseeko-tests (Makefile.am): Likewise.
18502         * modules/ftell-tests (Makefile.am): Likewise.
18503         * modules/ftello-tests (Makefile.am): Likewise.
18504         * modules/idpriv-drop-tests (Makefile.am): Likewise.
18505         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
18506         * modules/lseek-tests (Makefile.am): Likewise.
18507         * modules/parse-duration-tests (Makefile.am): Likewise.
18508         * modules/perror-tests (Makefile.am): Likewise.
18509         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
18510         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
18511         * modules/pipe-tests (Makefile.am): Likewise.
18512         * modules/pread-tests (Makefile.am): Likewise.
18513         * modules/printf-posix-tests (Makefile.am): Likewise.
18514         * modules/select-tests (Makefile.am): Likewise.
18515         * modules/sigpipe-tests (Makefile.am): Likewise.
18516         * modules/tsearch-tests (Makefile.am): Likewise.
18517         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
18518         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
18519         * modules/uniname/uniname-tests (Makefile.am): Likewise.
18520         * modules/uniwidth/width-tests (Makefile.am): Likewise.
18521         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
18522         * modules/version-etc-tests (Makefile.am): Likewise.
18523         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
18524         * modules/vprintf-posix-tests (Makefile.am): Likewise.
18525         * modules/xalloc-die-tests (Makefile.am): Likewise.
18526         * modules/xprintf-posix-tests (Makefile.am): Likewise.
18527         * modules/xstrtoimax-tests (Makefile.am): Likewise.
18528         * modules/xstrtol-tests (Makefile.am): Likewise.
18529         * modules/xstrtoumax-tests (Makefile.am): Likewise.
18530         * modules/yesno-tests (Makefile.am): Likewise.
18531         Suggested by Jim Meyering.
18532
18533 2010-01-24  Bruno Haible  <bruno@clisp.org>
18534
18535         More documentation.
18536         * doc/gnulib.texi (Writing modules): New chapter.
18537         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
18538         the new chapter.
18539
18540 2010-01-24  Jim Meyering  <meyering@redhat.com>
18541
18542         maint.mk: do not prepend "./" after filtering
18543         * top/maint.mk (_prepend_srcdir_prefix): New variable
18544         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
18545         "./" when $(srcdir) is ".".
18546
18547         define STREQ(a,b) consistently, removing useless parentheses
18548         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
18549         since the only risk is that "a" or "b" contains an unparenthesized
18550         comma, but if either did that, STREQ would have 3 or more arguments.
18551         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
18552         * lib/fts.c (STREQ): Remove unnecessary parentheses.
18553         * lib/hash-triple.c (STREQ): Likewise.
18554         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
18555         * lib/getugroups.c (STREQ): Likewise.
18556
18557 2010-01-23  Jim Meyering  <meyering@redhat.com>
18558
18559         maint.mk: fix syntax-check in a non-srcdir build directory
18560         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
18561         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
18562
18563 2010-01-22  Jim Meyering  <meyering@redhat.com>
18564
18565         userspec: add unit tests
18566         * tests/test-userspec.c: New file.
18567         * modules/userspec-tests: Likewise.
18568
18569 2010-01-21  Jim Meyering  <meyering@redhat.com>
18570
18571         maint.mk: handle source file names containing "." robustly
18572         * top/maint.mk (_dot_escaped_srcdir): Define.
18573         (VC_LIST): Use it in LHS of sed substitution.
18574
18575 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
18576
18577         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
18578         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
18579         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
18580         from a non-srcdir build.
18581
18582 2010-01-20  Eric Blake  <ebb9@byu.net>
18583
18584         warn-on-use: use instead of link-warning
18585         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
18586         * modules/unistd (Depends-on, Makefile.am): Likewise.
18587         * modules/arpa_inet (Depends-on): Replace link-warning with
18588         warn-on-use.
18589         (Makefile.am): Update rules accordingly.
18590         * modules/ctype (Depends-on, Makefile.am): Likewise.
18591         * modules/dirent (Depends-on, Makefile.am): Likewise.
18592         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
18593         * modules/inttypes (Depends-on, Makefile.am): Likewise.
18594         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18595         * modules/locale (Depends-on, Makefile.am): Likewise.
18596         * modules/math (Depends-on, Makefile.am): Likewise.
18597         * modules/search (Depends-on, Makefile.am): Likewise.
18598         * modules/signal (Depends-on, Makefile.am): Likewise.
18599         * modules/spawn (Depends-on, Makefile.am): Likewise.
18600         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18601         * modules/string (Depends-on, Makefile.am): Likewise.
18602         * modules/strings (Depends-on, Makefile.am): Likewise.
18603         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18604         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18605         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18606         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18607         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18608         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18609         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18610         * modules/wchar (Depends-on, Makefile.am): Likewise.
18611         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18612         should be poisoned.
18613         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18614         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18615         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18616         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18617         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18618         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18619         * m4/math_h.m4 (gl_MATH_H): Likewise.
18620         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18621         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18622         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18623         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18624         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18625         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18626         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18627         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18628         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18629         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18630         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18631         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
18632         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18633         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18634         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18635         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18636         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
18637         GL_LINK_WARNING.
18638         * lib/ctype.in.h: Likewise.
18639         * lib/dirent.in.h: Likewise.
18640         * lib/fcntl.in.h: Likewise.
18641         * lib/inttypes.in.h: Likewise.
18642         * lib/langinfo.in.h: Likewise.
18643         * lib/locale.in.h: Likewise.
18644         * lib/math.in.h: Likewise.
18645         * lib/search.in.h: Likewise.
18646         * lib/signal.in.h: Likewise.
18647         * lib/spawn.in.h: Likewise.
18648         * lib/stdio.in.h: Likewise.
18649         * lib/stdlib.in.h: Likewise.
18650         * lib/string.in.h: Likewise.
18651         * lib/strings.in.h: Likewise.
18652         * lib/sys_file.in.h: Likewise.
18653         * lib/sys_ioctl.in.h: Likewise.
18654         * lib/sys_select.in.h: Likewise.
18655         * lib/sys_socket.in.h: Likewise.
18656         * lib/sys_stat.in.h: Likewise.
18657         * lib/sys_times.in.h: Likewise.
18658         * lib/sys_utsname.in.h: Likewise.
18659         * lib/unistd.in.h: Likewise.
18660         * lib/wchar.in.h: Likewise.
18661
18662 2010-01-20  Bruno Haible  <bruno@clisp.org>
18663
18664         Avoid duplicate -lm.
18665         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
18666         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
18667         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
18668         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
18669         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
18670         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
18671         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
18672         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
18673         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
18674         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
18675         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
18676         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18677         Reported by Paolo Bonzini.
18678
18679 2010-01-19  Bruno Haible  <bruno@clisp.org>
18680
18681         langinfo, nl_langinfo: Relicense under LGPLv2+.
18682         * modules/langinfo (License): Change to LGPLv2+.
18683         * modules/nl_langinfo (License): Likewise.
18684         Patch by David Lutterkort <lutter@redhat.com>.
18685
18686 2010-01-19  Bruno Haible  <bruno@clisp.org>
18687
18688         Avoid compilation error with cc on OSF/1 5.1.
18689         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
18690         statement, not before.
18691         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18692
18693 2010-01-18  Bruno Haible  <bruno@clisp.org>
18694
18695         Avoid a link error due to the __printf__ symbol.
18696         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
18697         and 2.6.x.
18698         (__format__, __printf__): Remove definitions.
18699         * lib/argp-fmtstream.h: Likewise.
18700         * lib/argp.h: Likewise.
18701         * lib/error.h: Likewise.
18702         * lib/vasnprintf.h: Likewise.
18703         * lib/xprintf.h: Likewise.
18704         * lib/xvasprintf.h: Likewise.
18705         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18706
18707 2010-01-18  Bruno Haible  <bruno@clisp.org>
18708
18709         Tests for module 'tanl'.
18710         * modules/tanl-tests: New file.
18711         * tests/test-tanl.c: New file.
18712
18713         Tests for module 'sqrtl'.
18714         * modules/sqrtl-tests: New file.
18715         * tests/test-sqrtl.c: New file.
18716
18717         Tests for module 'sinl'.
18718         * modules/sinl-tests: New file.
18719         * tests/test-sinl.c: New file.
18720
18721         Tests for module 'logl'.
18722         * modules/logl-tests: New file.
18723         * tests/test-logl.c: New file.
18724
18725         Tests for module 'expl'.
18726         * modules/expl-tests: New file.
18727         * tests/test-expl.c: New file.
18728
18729         Tests for module 'cosl'.
18730         * modules/cosl-tests: New file.
18731         * tests/test-cosl.c: New file.
18732
18733         Tests for module 'atanl'.
18734         * modules/atanl-tests: New file.
18735         * tests/test-atanl.c: New file.
18736
18737         Tests for module 'asinl'.
18738         * modules/asinl-tests: New file.
18739         * tests/test-asinl.c: New file.
18740
18741         Tests for module 'acosl'.
18742         * modules/acosl-tests: New file.
18743         * tests/test-acosl.c: New file.
18744
18745         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18746         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
18747         tanl): Use the standard gnulib idiom.
18748         * lib/cosl.c: Don't include trigl.c and sincosl.c.
18749         * lib/sinl.c: Likewise.
18750         * lib/tanl.c: Don't include trigl.c.
18751         (kernel_tanl): Make static.
18752         * lib/sincosl.c: Include trigl.h first.
18753         * lib/trigl.c: Likewise.
18754         * m4/acosl.m4: New file.
18755         * m4/asinl.m4: New file.
18756         * m4/atanl.m4: New file.
18757         * m4/cosl.m4: New file.
18758         * m4/expl.m4: New file.
18759         * m4/logl.m4: New file.
18760         * m4/sinl.m4: New file.
18761         * m4/sqrtl.m4: New file.
18762         * m4/tanl.m4: New file.
18763         * m4/mathl.m4: Remove file.
18764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
18765         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18766         Don't initialize GNULIB_MATHL.
18767         * modules/acosl: New file.
18768         * modules/asinl: New file.
18769         * modules/atanl: New file.
18770         * modules/cosl: New file.
18771         * modules/expl: New file.
18772         * modules/logl: New file.
18773         * modules/sinl: New file.
18774         * modules/sqrtl: New file.
18775         * modules/tanl: New file.
18776         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
18777         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
18778         substitute GNULIB_MATHL.
18779         * modules/mathl: Rewritten.
18780         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
18781         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
18782         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
18783         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
18784         * doc/posix-functions/expl.texi: Mention the 'expl' module.
18785         * doc/posix-functions/logl.texi: Mention the 'logl' module.
18786         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
18787         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
18788         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
18789
18790 2010-01-18  Bruno Haible  <bruno@clisp.org>
18791
18792         sqrt: Make gl_FUNC_SQRT requirable.
18793         * m4/sqrt.m4: New file.
18794         * modules/sqrt (Files): Add it.
18795         (configure.ac): Invoke gl_FUNC_SQRT.
18796
18797 2010-01-18  Bruno Haible  <bruno@clisp.org>
18798
18799         New modules for common <math.h> functions.
18800         * m4/mathfunc.m4: New file.
18801         * modules/acos: New file.
18802         * modules/asin: New file.
18803         * modules/atan: New file.
18804         * modules/atan2: New file.
18805         * modules/cbrt: New file.
18806         * modules/copysign: New file.
18807         * modules/cos: New file.
18808         * modules/cosh: New file.
18809         * modules/erf: New file.
18810         * modules/erfc: New file.
18811         * modules/exp: New file.
18812         * modules/fabs: New file.
18813         * modules/fmod: New file.
18814         * modules/hypot: New file.
18815         * modules/j0: New file.
18816         * modules/j1: New file.
18817         * modules/jn: New file.
18818         * modules/ldexp: New file.
18819         * modules/lgamma: New file.
18820         * modules/log: New file.
18821         * modules/log10: New file.
18822         * modules/log1p: New file.
18823         * modules/logb: New file.
18824         * modules/modf: New file.
18825         * modules/nextafter: New file.
18826         * modules/pow: New file.
18827         * modules/remainder: New file.
18828         * modules/rint: New file.
18829         * modules/sin: New file.
18830         * modules/sinh: New file.
18831         * modules/sqrt: New file.
18832         * modules/tan: New file.
18833         * modules/tanh: New file.
18834         * modules/y0: New file.
18835         * modules/y1: New file.
18836         * modules/yn: New file.
18837         * doc/posix-functions/acos.texi: Mention the 'acos' module.
18838         * doc/posix-functions/asin.texi: Mention the 'asin' module.
18839         * doc/posix-functions/atan.texi: Mention the 'atan' module.
18840         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
18841         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
18842         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
18843         * doc/posix-functions/cos.texi: Mention the 'cos' module.
18844         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
18845         * doc/posix-functions/erf.texi: Mention the 'erf' module.
18846         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
18847         * doc/posix-functions/exp.texi: Mention the 'exp' module.
18848         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
18849         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
18850         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
18851         * doc/posix-functions/j0.texi: Mention the 'j0' module.
18852         * doc/posix-functions/j1.texi: Mention the 'j1' module.
18853         * doc/posix-functions/jn.texi: Mention the 'jn' module.
18854         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
18855         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
18856         * doc/posix-functions/log.texi: Mention the 'log' module.
18857         * doc/posix-functions/log10.texi: Mention the 'log10' module.
18858         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
18859         * doc/posix-functions/logb.texi: Mention the 'logb' module.
18860         * doc/posix-functions/modf.texi: Mention the 'modf' module.
18861         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
18862         * doc/posix-functions/pow.texi: Mention the 'pow' module.
18863         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
18864         * doc/posix-functions/rint.texi: Mention the 'rint' module.
18865         * doc/posix-functions/sin.texi: Mention the 'sin' module.
18866         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
18867         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
18868         * doc/posix-functions/tan.texi: Mention the 'tan' module.
18869         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
18870         * doc/posix-functions/y0.texi: Mention the 'y0' module.
18871         * doc/posix-functions/y1.texi: Mention the 'y1' module.
18872         * doc/posix-functions/yn.texi: Mention the 'yn' module.
18873
18874 2010-01-18  Jim Meyering  <meyering@redhat.com>
18875
18876         ignore-value: relax license to LGPLv2+
18877         * modules/ignore-value (License): Relax to LGPLv2+.
18878
18879         getdate: don't leak when TZ contains two or more '"'s
18880         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
18881         double quote in TZ after the first one.
18882
18883         readtokens: do not leak internal token_lengths buffer
18884         * lib/readtokens.c (readtokens): Free the local, lengths,
18885         when the supplied "token_lengths" parameter is NULL.
18886
18887 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18888
18889         Fix a couple of missing LIBTHREAD link failures on AIX.
18890         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
18891         $(LIBTHREAD).
18892         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
18893
18894         Link test-poll against INET_PTON_LIB.
18895         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
18896         for inet_pton on Solaris 10.
18897
18898 2010-01-17  Bruno Haible  <bruno@clisp.org>
18899
18900         unistdio/*-sprintf: Fix typo in module description.
18901         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
18902         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
18903         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
18904         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
18905         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
18906         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
18907         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
18908         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18909
18910 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18911
18912         gnulib-tool: fix filelist for AIX, HP-UX ksh.
18913         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
18914         variables in shell case patterns, for AIX and HP-UX ksh.
18915
18916         Split large sed scripts, for HP-UX sed.
18917         * modules/stdio: Split sed scripts around 50 sed commands,
18918         to avoid HP-UX limit of 99 commands, in the near future.
18919         * modules/string: Likewise.
18920         * modules/unistd: Likewise.
18921
18922         gnulib-tool: avoid writing in the current directory.
18923         * gnulib-tool (func_emit_lib_Makefile_am)
18924         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
18925         not in the current directory, so concurrent gnulib-tool
18926         instances do not interfere.
18927
18928 2010-01-16  Jim Meyering  <meyering@redhat.com>
18929
18930         doc: update users.txt
18931         * users.txt: Add grep.
18932         (diffutils, gzip): Update URLs.
18933
18934 2010-01-12  Bruno Haible  <bruno@clisp.org>
18935
18936         posix_spawn: Avoid test failure on Cygwin.
18937         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
18938         characters.
18939         Reported by Simon Josefsson.
18940
18941 2010-01-12  Bruno Haible  <bruno@clisp.org>
18942
18943         * tests/test-cond.c (main): When skipping the test, show the reason.
18944
18945 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18946
18947         * lib/striconv.c (str_cd_iconv): Avoid if before free.
18948
18949 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18950
18951         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
18952         VC_LIST_ALWAYS_EXCLUDE_REGEX.
18953
18954 2010-01-12  Eric Blake  <ebb9@byu.net>
18955
18956         build: guarantee AS_VAR_IF
18957         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
18958         (gl_AS_VAR_IF): Move...
18959         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
18960         Reported by Simon Josefsson.
18961
18962 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18963
18964         * lib/stdio.in.h: Fix typo.
18965
18966 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18967
18968         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
18969         libgpg-error.
18970
18971 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18972
18973         * tests/test-xalloc-die.sh: Use $EXEEXT.
18974
18975 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18976             Bruno Haible  <bruno@clisp.org>
18977
18978         getlogin, getlogin_r: Avoid test failure.
18979         * tests/test-getlogin.c: Include <stdio.h>.
18980         (main): Skip the test when the function fails because stdin is not a
18981         tty.
18982         * tests/test-getlogin_r.c: Include <stdio.h>.
18983         (main): Skip the test when the function fails because stdin is not a
18984         tty.
18985
18986 2010-01-11  Eric Blake  <ebb9@byu.net>
18987
18988         tests: avoid more large file warnings
18989         * tests/test-fflush.c: Avoid warning about ftell use.
18990         * tests/test-fseek.c: Avoid warning about fseek use.
18991
18992 2010-01-10  Bruno Haible  <bruno@clisp.org>
18993
18994         nproc: Work better on Linux when /proc and /sys are not mounted.
18995         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
18996         as lower bound when, on glibc/Linux systems,
18997         sysconf (_SC_NPROCESSORS_CONF) returns 1.
18998         Suggested by Pádraig Brady <P@draigbrady.com>.
18999         Reported by Dmitry V. Levin <ldv@altlinux.org>.
19000
19001         nproc: Refactor.
19002         * lib/nproc.c (num_processors_via_affinity_mask): New function,
19003         extracted from num_processors.
19004         (num_processors): Call it.
19005
19006 2010-01-11  Jim Meyering  <meyering@redhat.com>
19007
19008         utimecmp: avoid new warning from upcoming gcc-4.5.0
19009         * lib/utimecmp.c (BILLION): Define using #define rather than an
19010         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
19011
19012 2010-01-11  Eric Blake  <ebb9@byu.net>
19013
19014         math: add portability warnings for classification macros
19015         * modules/math (Depends-on): Add warn-on-use.
19016         (Makefile.am): Provide new substitutions.
19017         * m4/math_h.m4 (gl_MATH_H): Require inline.
19018         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
19019         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
19020         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
19021         implement warnings.
19022
19023         unistd: warn on use of environ without module
19024         * modules/unistd (Depends-on): Add warn-on-use.
19025         (Makefile.am): Provide new substitutions.
19026         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
19027         * lib/unistd.in.h (environ): Wrap with a warning helper function.
19028
19029         stdio: warn on suspicious uses
19030         * modules/stdio (Depends-on): Add warn-on-use.
19031         (Makefile.am): Provide new substitutions.
19032         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
19033         fseeko.
19034         * lib/stdio.in.h (gets): Always warn on use.
19035         (fseek, ftell): Adjust when warnings are issued, and honor
19036         _GL_NO_LARGE_FILES as a way to silence the warning.
19037         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
19038         any warning about large file offsets.
19039         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
19040         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
19041         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
19042         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
19043         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
19044         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
19045         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
19046         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
19047
19048         warn-on-use: new module
19049         * modules/warn-on-use: New file.
19050         * build-aux/warn-on-use.h: Likewise.
19051         * m4/warn-on-use.m4: Likewise.
19052         * MODULES.html.sh (Support for building): Mention it.
19053
19054 2010-01-10  Bruno Haible  <bruno@clisp.org>
19055
19056         Tests for module 'unistr/u32-strdup'.
19057         * modules/unistr/u32-strdup-tests: New file.
19058         * tests/unistr/test-u32-strdup.c: New file.
19059
19060         Tests for module 'unistr/u16-strdup'.
19061         * modules/unistr/u16-strdup-tests: New file.
19062         * tests/unistr/test-u16-strdup.c: New file.
19063
19064         Tests for module 'unistr/u8-strdup'.
19065         * modules/unistr/u8-strdup-tests: New file.
19066         * tests/unistr/test-u8-strdup.c: New file.
19067         * tests/unistr/test-strdup.h: New file.
19068
19069         Tests for module 'unistr/u32-strncmp'.
19070         * modules/unistr/u32-strncmp-tests: New file.
19071         * tests/unistr/test-u32-strncmp.c: New file.
19072
19073         Tests for module 'unistr/u16-strncmp'.
19074         * modules/unistr/u16-strncmp-tests: New file.
19075         * tests/unistr/test-u16-strncmp.c: New file.
19076
19077         Tests for module 'unistr/u8-strncmp'.
19078         * modules/unistr/u8-strncmp-tests: New file.
19079         * tests/unistr/test-u8-strncmp.c: New file.
19080         * tests/unistr/test-strncmp.h: New file.
19081
19082         Tests for module 'unistr/u32-strcoll'.
19083         * modules/unistr/u32-strcoll-tests: New file.
19084         * tests/unistr/test-u32-strcoll.c: New file.
19085
19086         Tests for module 'unistr/u16-strcoll'.
19087         * modules/unistr/u16-strcoll-tests: New file.
19088         * tests/unistr/test-u16-strcoll.c: New file.
19089
19090         Tests for module 'unistr/u8-strcoll'.
19091         * modules/unistr/u8-strcoll-tests: New file.
19092         * tests/unistr/test-u8-strcoll.c: New file.
19093
19094         Tests for module 'unistr/u32-strcmp'.
19095         * modules/unistr/u32-strcmp-tests: New file.
19096         * tests/unistr/test-u32-strcmp.c: New file.
19097         * tests/unistr/test-u32-strcmp.h: New file.
19098
19099         Tests for module 'unistr/u16-strcmp'.
19100         * modules/unistr/u16-strcmp-tests: New file.
19101         * tests/unistr/test-u16-strcmp.c: New file.
19102         * tests/unistr/test-u16-strcmp.h: New file.
19103
19104         Tests for module 'unistr/u8-strcmp'.
19105         * modules/unistr/u8-strcmp-tests: New file.
19106         * tests/unistr/test-u8-strcmp.c: New file.
19107         * tests/unistr/test-u8-strcmp.h: New file.
19108         * tests/unistr/test-strcmp.h: New file.
19109
19110         Tests for module 'unistr/u32-strncat'.
19111         * modules/unistr/u32-strncat-tests: New file.
19112         * tests/unistr/test-u32-strncat.c: New file.
19113
19114         Tests for module 'unistr/u16-strncat'.
19115         * modules/unistr/u16-strncat-tests: New file.
19116         * tests/unistr/test-u16-strncat.c: New file.
19117
19118         Tests for module 'unistr/u8-strncat'.
19119         * modules/unistr/u8-strncat-tests: New file.
19120         * tests/unistr/test-u8-strncat.c: New file.
19121         * tests/unistr/test-strncat.h: New file.
19122
19123         Tests for module 'unistr/u32-strcat'.
19124         * modules/unistr/u32-strcat-tests: New file.
19125         * tests/unistr/test-u32-strcat.c: New file.
19126
19127         Tests for module 'unistr/u16-strcat'.
19128         * modules/unistr/u16-strcat-tests: New file.
19129         * tests/unistr/test-u16-strcat.c: New file.
19130
19131         Tests for module 'unistr/u8-strcat'.
19132         * modules/unistr/u8-strcat-tests: New file.
19133         * tests/unistr/test-u8-strcat.c: New file.
19134         * tests/unistr/test-strcat.h: New file.
19135
19136         Tests for module 'unistr/u32-stpncpy'.
19137         * modules/unistr/u32-stpncpy-tests: New file.
19138         * tests/unistr/test-u32-stpncpy.c: New file.
19139
19140         Tests for module 'unistr/u16-stpncpy'.
19141         * modules/unistr/u16-stpncpy-tests: New file.
19142         * tests/unistr/test-u16-stpncpy.c: New file.
19143
19144         Tests for module 'unistr/u8-stpncpy'.
19145         * modules/unistr/u8-stpncpy-tests: New file.
19146         * tests/unistr/test-u8-stpncpy.c: New file.
19147         * tests/unistr/test-stpncpy.h: New file.
19148
19149         Tests for module 'unistr/u32-strncpy'.
19150         * modules/unistr/u32-strncpy-tests: New file.
19151         * tests/unistr/test-u32-strncpy.c: New file.
19152
19153         Tests for module 'unistr/u16-strncpy'.
19154         * modules/unistr/u16-strncpy-tests: New file.
19155         * tests/unistr/test-u16-strncpy.c: New file.
19156
19157         Tests for module 'unistr/u8-strncpy'.
19158         * modules/unistr/u8-strncpy-tests: New file.
19159         * tests/unistr/test-u8-strncpy.c: New file.
19160         * tests/unistr/test-strncpy.h: New file.
19161
19162         Tests for module 'unistr/u32-stpcpy'.
19163         * modules/unistr/u32-stpcpy-tests: New file.
19164         * tests/unistr/test-u32-stpcpy.c: New file.
19165
19166         Tests for module 'unistr/u16-stpcpy'.
19167         * modules/unistr/u16-stpcpy-tests: New file.
19168         * tests/unistr/test-u16-stpcpy.c: New file.
19169
19170         Tests for module 'unistr/u8-stpcpy'.
19171         * modules/unistr/u8-stpcpy-tests: New file.
19172         * tests/unistr/test-u8-stpcpy.c: New file.
19173         * tests/unistr/test-stpcpy.h: New file.
19174
19175         Tests for module 'unistr/u32-strcpy'.
19176         * modules/unistr/u32-strcpy-tests: New file.
19177         * tests/unistr/test-u32-strcpy.c: New file.
19178
19179         Tests for module 'unistr/u16-strcpy'.
19180         * modules/unistr/u16-strcpy-tests: New file.
19181         * tests/unistr/test-u16-strcpy.c: New file.
19182
19183         Tests for module 'unistr/u8-strcpy'.
19184         * modules/unistr/u8-strcpy-tests: New file.
19185         * tests/unistr/test-u8-strcpy.c: New file.
19186         * tests/unistr/test-strcpy.h: New file.
19187
19188         Tests for module 'unistr/u32-strnlen'.
19189         * modules/unistr/u32-strnlen-tests: New file.
19190         * tests/unistr/test-u32-strnlen.c: New file.
19191
19192         Tests for module 'unistr/u16-strnlen'.
19193         * modules/unistr/u16-strnlen-tests: New file.
19194         * tests/unistr/test-u16-strnlen.c: New file.
19195
19196         Tests for module 'unistr/u8-strnlen'.
19197         * modules/unistr/u8-strnlen-tests: New file.
19198         * tests/unistr/test-u8-strnlen.c: New file.
19199         * tests/unistr/test-strnlen.h: New file.
19200
19201         Tests for module 'unistr/u32-strlen'.
19202         * modules/unistr/u32-strlen-tests: New file.
19203         * tests/unistr/test-u32-strlen.c: New file.
19204
19205         Tests for module 'unistr/u16-strlen'.
19206         * modules/unistr/u16-strlen-tests: New file.
19207         * tests/unistr/test-u16-strlen.c: New file.
19208
19209         Tests for module 'unistr/u8-strlen'.
19210         * modules/unistr/u8-strlen-tests: New file.
19211         * tests/unistr/test-u8-strlen.c: New file.
19212
19213         Tests for module 'unistr/u32-prev'.
19214         * modules/unistr/u32-prev-tests: New file.
19215         * tests/unistr/test-u32-prev.c: New file.
19216
19217         Tests for module 'unistr/u16-prev'.
19218         * modules/unistr/u16-prev-tests: New file.
19219         * tests/unistr/test-u16-prev.c: New file.
19220
19221         Tests for module 'unistr/u8-prev'.
19222         * modules/unistr/u8-prev-tests: New file.
19223         * tests/unistr/test-u8-prev.c: New file.
19224
19225         Tests for module 'unistr/u32-next'.
19226         * modules/unistr/u32-next-tests: New file.
19227         * tests/unistr/test-u32-next.c: New file.
19228
19229         Tests for module 'unistr/u16-next'.
19230         * modules/unistr/u16-next-tests: New file.
19231         * tests/unistr/test-u16-next.c: New file.
19232
19233         Tests for module 'unistr/u8-next'.
19234         * modules/unistr/u8-next-tests: New file.
19235         * tests/unistr/test-u8-next.c: New file.
19236
19237         Tests for module 'unistr/u32-strmbtouc'.
19238         * modules/unistr/u32-strmbtouc-tests: New file.
19239         * tests/unistr/test-u32-strmbtouc.c: New file.
19240
19241         Tests for module 'unistr/u16-strmbtouc'.
19242         * modules/unistr/u16-strmbtouc-tests: New file.
19243         * tests/unistr/test-u16-strmbtouc.c: New file.
19244
19245         Tests for module 'unistr/u8-strmbtouc'.
19246         * modules/unistr/u8-strmbtouc-tests: New file.
19247         * tests/unistr/test-u8-strmbtouc.c: New file.
19248
19249         Tests for module 'unistr/u32-strmblen'.
19250         * modules/unistr/u32-strmblen-tests: New file.
19251         * tests/unistr/test-u32-strmblen.c: New file.
19252
19253         Tests for module 'unistr/u16-strmblen'.
19254         * modules/unistr/u16-strmblen-tests: New file.
19255         * tests/unistr/test-u16-strmblen.c: New file.
19256
19257         Tests for module 'unistr/u8-strmblen'.
19258         * modules/unistr/u8-strmblen-tests: New file.
19259         * tests/unistr/test-u8-strmblen.c: New file.
19260
19261         Tests for module 'unistr/u32-cpy-alloc'.
19262         * modules/unistr/u32-cpy-alloc-tests: New file.
19263         * tests/unistr/test-u32-cpy-alloc.c: New file.
19264
19265         Tests for module 'unistr/u16-cpy-alloc'.
19266         * modules/unistr/u16-cpy-alloc-tests: New file.
19267         * tests/unistr/test-u16-cpy-alloc.c: New file.
19268
19269         Tests for module 'unistr/u8-cpy-alloc'.
19270         * modules/unistr/u8-cpy-alloc-tests: New file.
19271         * tests/unistr/test-u8-cpy-alloc.c: New file.
19272         * tests/unistr/test-cpy-alloc.h: New file.
19273
19274         Tests for module 'unistr/u32-mbsnlen'.
19275         * modules/unistr/u32-mbsnlen-tests: New file.
19276         * tests/unistr/test-u32-mbsnlen.c: New file.
19277
19278         Tests for module 'unistr/u16-mbsnlen'.
19279         * modules/unistr/u16-mbsnlen-tests: New file.
19280         * tests/unistr/test-u16-mbsnlen.c: New file.
19281
19282         Tests for module 'unistr/u8-mbsnlen'.
19283         * modules/unistr/u8-mbsnlen-tests: New file.
19284         * tests/unistr/test-u8-mbsnlen.c: New file.
19285
19286         Tests for module 'unistr/u32-chr'.
19287         * modules/unistr/u32-chr-tests: New file.
19288         * tests/unistr/test-u32-chr.c: New file.
19289
19290         Tests for module 'unistr/u16-chr'.
19291         * modules/unistr/u16-chr-tests: New file.
19292         * tests/unistr/test-u16-chr.c: New file.
19293
19294         Tests for module 'unistr/u8-chr'.
19295         * modules/unistr/u8-chr-tests: New file.
19296         * tests/unistr/test-u8-chr.c: New file.
19297         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
19298
19299         Tests for module 'unistr/u32-cmp2'.
19300         * modules/unistr/u32-cmp2-tests: New file.
19301         * tests/unistr/test-u32-cmp2.c: New file.
19302
19303         Tests for module 'unistr/u16-cmp2'.
19304         * modules/unistr/u16-cmp2-tests: New file.
19305         * tests/unistr/test-u16-cmp2.c: New file.
19306
19307         Tests for module 'unistr/u8-cmp2'.
19308         * modules/unistr/u8-cmp2-tests: New file.
19309         * tests/unistr/test-u8-cmp2.c: New file.
19310         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
19311
19312         Tests for module 'unistr/u32-cmp'.
19313         * modules/unistr/u32-cmp-tests: New file.
19314         * tests/unistr/test-u32-cmp.c: New file.
19315
19316         Tests for module 'unistr/u16-cmp'.
19317         * modules/unistr/u16-cmp-tests: New file.
19318         * tests/unistr/test-u16-cmp.c: New file.
19319
19320         Tests for module 'unistr/u8-cmp'.
19321         * modules/unistr/u8-cmp-tests: New file.
19322         * tests/unistr/test-u8-cmp.c: New file.
19323         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
19324
19325         Tests for module 'unistr/u32-set'.
19326         * modules/unistr/u32-set-tests: New file.
19327         * tests/unistr/test-u32-set.c: New file.
19328
19329         Tests for module 'unistr/u16-set'.
19330         * modules/unistr/u16-set-tests: New file.
19331         * tests/unistr/test-u16-set.c: New file.
19332
19333         Tests for module 'unistr/u8-set'.
19334         * modules/unistr/u8-set-tests: New file.
19335         * tests/unistr/test-u8-set.c: New file.
19336         * tests/unistr/test-set.h: New file.
19337
19338         Tests for module 'unistr/u32-move'.
19339         * modules/unistr/u32-move-tests: New file.
19340         * tests/unistr/test-u32-move.c: New file.
19341
19342         Tests for module 'unistr/u16-move'.
19343         * modules/unistr/u16-move-tests: New file.
19344         * tests/unistr/test-u16-move.c: New file.
19345
19346         Tests for module 'unistr/u8-move'.
19347         * modules/unistr/u8-move-tests: New file.
19348         * tests/unistr/test-u8-move.c: New file.
19349         * tests/unistr/test-move.h: New file.
19350
19351         Tests for module 'unistr/u32-cpy'.
19352         * modules/unistr/u32-cpy-tests: New file.
19353         * tests/unistr/test-u32-cpy.c: New file.
19354
19355         Tests for module 'unistr/u16-cpy'.
19356         * modules/unistr/u16-cpy-tests: New file.
19357         * tests/unistr/test-u16-cpy.c: New file.
19358
19359         Tests for module 'unistr/u8-cpy'.
19360         * modules/unistr/u8-cpy-tests: New file.
19361         * tests/unistr/test-u8-cpy.c: New file.
19362         * tests/unistr/test-cpy.h: New file.
19363
19364 2010-01-09  Bruno Haible  <bruno@clisp.org>
19365
19366         Tests for module 'unistr/u32-uctomb'.
19367         * modules/unistr/u32-uctomb-tests: New file.
19368         * tests/unistr/test-u32-uctomb.c: New file.
19369
19370         Tests for module 'unistr/u16-uctomb'.
19371         * modules/unistr/u16-uctomb-tests: New file.
19372         * tests/unistr/test-u16-uctomb.c: New file.
19373
19374         Tests for module 'unistr/u8-uctomb'.
19375         * modules/unistr/u8-uctomb-tests: New file.
19376         * tests/unistr/test-u8-uctomb.c: New file.
19377
19378         Tests for module 'unistr/u32-mbtoucr'.
19379         * modules/unistr/u32-mbtoucr-tests: New file.
19380         * tests/unistr/test-u32-mbtoucr.c: New file.
19381
19382         Tests for module 'unistr/u16-mbtoucr'.
19383         * modules/unistr/u16-mbtoucr-tests: New file.
19384         * tests/unistr/test-u16-mbtoucr.c: New file.
19385
19386         Tests for module 'unistr/u8-mbtoucr'.
19387         * modules/unistr/u8-mbtoucr-tests: New file.
19388         * tests/unistr/test-u8-mbtoucr.c: New file.
19389
19390         Tests for module 'unistr/u32-mbtouc'.
19391         * modules/unistr/u32-mbtouc-tests: New file.
19392         * tests/unistr/test-u32-mbtouc.c: New file.
19393
19394         Tests for module 'unistr/u16-mbtouc'.
19395         * modules/unistr/u16-mbtouc-tests: New file.
19396         * tests/unistr/test-u16-mbtouc.c: New file.
19397
19398         Tests for module 'unistr/u8-mbtouc'.
19399         * modules/unistr/u8-mbtouc-tests: New file.
19400         * tests/unistr/test-u8-mbtouc.c: New file.
19401
19402         Tests for module 'unistr/u32-mbtouc-unsafe'.
19403         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
19404         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
19405         * tests/unistr/test-u32-mbtouc.h: New file.
19406
19407         Tests for module 'unistr/u16-mbtouc-unsafe'.
19408         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
19409         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
19410         * tests/unistr/test-u16-mbtouc.h: New file.
19411
19412         Tests for module 'unistr/u8-mbtouc-unsafe'.
19413         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
19414         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
19415         * tests/unistr/test-u8-mbtouc.h: New file.
19416
19417         Tests for module 'unistr/u32-mblen'.
19418         * modules/unistr/u32-mblen-tests: New file.
19419         * tests/unistr/test-u32-mblen.c: New file.
19420
19421         Tests for module 'unistr/u16-mblen'.
19422         * modules/unistr/u16-mblen-tests: New file.
19423         * tests/unistr/test-u16-mblen.c: New file.
19424
19425         Tests for module 'unistr/u8-mblen'.
19426         * modules/unistr/u8-mblen-tests: New file.
19427         * tests/unistr/test-u8-mblen.c: New file.
19428
19429         Tests for module 'unistr/u32-to-u16'.
19430         * modules/unistr/u32-to-u16-tests: New file.
19431         * tests/unistr/test-u32-to-u16.c: New file.
19432
19433         Tests for module 'unistr/u32-to-u8'.
19434         * modules/unistr/u32-to-u8-tests: New file.
19435         * tests/unistr/test-u32-to-u8.c: New file.
19436
19437         Tests for module 'unistr/u16-to-u32'.
19438         * modules/unistr/u16-to-u32-tests: New file.
19439         * tests/unistr/test-u16-to-u32.c: New file.
19440
19441         Tests for module 'unistr/u16-to-u8'.
19442         * modules/unistr/u16-to-u8-tests: New file.
19443         * tests/unistr/test-u16-to-u8.c: New file.
19444
19445         Tests for module 'unistr/u8-to-u32'.
19446         * modules/unistr/u8-to-u32-tests: New file.
19447         * tests/unistr/test-u8-to-u32.c: New file.
19448
19449         Tests for module 'unistr/u8-to-u16'.
19450         * modules/unistr/u8-to-u16-tests: New file.
19451         * tests/unistr/test-u8-to-u16.c: New file.
19452
19453         Tests for module 'unistr/u32-check'.
19454         * modules/unistr/u32-check-tests: New file.
19455         * tests/unistr/test-u32-check.c: New file.
19456
19457         Tests for module 'unistr/u16-check'.
19458         * modules/unistr/u16-check-tests: New file.
19459         * tests/unistr/test-u16-check.c: New file.
19460
19461         Tests for module 'unistr/u8-check'.
19462         * modules/unistr/u8-check-tests: New file.
19463         * tests/unistr/test-u8-check.c: New file.
19464
19465         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
19466         (category_equals): New function.
19467         (main): Add more tests.
19468         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
19469
19470         * tests/unictype/test-bidi_byname.c (main): Add more tests.
19471
19472 2010-01-10  Bruno Haible  <bruno@clisp.org>
19473
19474         unistr/u*-strcoll: Try harder to distinguish different strings.
19475         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
19476         compare s1 and s2 to see if they are different.
19477
19478 2010-01-10  Bruno Haible  <bruno@clisp.org>
19479
19480         unistr/u*-stpncpy: Fix the return value.
19481         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
19482         description of the return value consistent with stpncpy in glibc.
19483         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
19484         written non-NUL unit.
19485
19486 2010-01-10  Bruno Haible  <bruno@clisp.org>
19487
19488         unistr/u*-next: Add missing dependencies.
19489         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
19490         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
19491         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
19492
19493 2010-01-10  Bruno Haible  <bruno@clisp.org>
19494
19495         unistr/u8-mbsnlen: Fix return value for incomplete character.
19496         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
19497         u8_mblen.
19498         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
19499         Remove unistr/u8-mblen.
19500         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
19501         u16_mblen.
19502         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
19503         Remove unistr/u16-mblen.
19504
19505 2010-01-10  Bruno Haible  <bruno@clisp.org>
19506
19507         wchar: Fix compilation error when <wchar.h> is used from coreutils.
19508         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
19509         Reported by Brian Gough <bjg@gnu.org> and
19510         Chris Clayton <chris2553@googlemail.com> via
19511         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
19512
19513 2010-01-09  Bruno Haible  <bruno@clisp.org>
19514
19515         unistr/u16-to-u32: Reject invalid input.
19516         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
19517         u16_mbtouc.
19518         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
19519         Remove unistr/u16-mbtouc.
19520
19521         unistr/u16-to-u8: Reject invalid input.
19522         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
19523         u16_mbtouc.
19524         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
19525         Remove unistr/u16-mbtouc.
19526
19527         unistr/u8-to-u32: Reject invalid input.
19528         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
19529         u8_mbtouc.
19530         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
19531         Remove unistr/u8-mbtouc.
19532
19533         unistr/u8-to-u16: Reject invalid input.
19534         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
19535         u8_mbtouc.
19536         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
19537         Remove unistr/u8-mbtouc.
19538
19539 2010-01-09  Bruno Haible  <bruno@clisp.org>
19540
19541         Tests for module 'getlogin'.
19542         * modules/getlogin-tests: New file.
19543         * tests/test-getlogin.c: New file.
19544
19545         New module 'getlogin'.
19546         * lib/unistd.in.h (getlogin): New declaration.
19547         * lib/getlogin.c: New file.
19548         * m4/getlogin.m4: New file.
19549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
19550         HAVE_GETLOGIN.
19551         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
19552         HAVE_GETLOGIN.
19553         * modules/getlogin: New file.
19554         * doc/posix-functions/getlogin.texi: Mention the new module.
19555         Reported by John W. Eaton <jwe@gnu.org>.
19556
19557 2010-01-09  Bruno Haible  <bruno@clisp.org>
19558
19559         getlogin_r: Support for native Windows.
19560         * lib/getlogin_r.c: Include <windows.h>
19561         (getlogin_r): Implement for native Windows.
19562         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
19563         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
19564         via John W. Eaton <jwe@gnu.org>.
19565
19566 2010-01-09  Bruno Haible  <bruno@clisp.org>
19567
19568         getlogin_r: Small fixes.
19569         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
19570         succeeds.
19571         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
19572         before testing whether getlogin_r is declared. No need to set
19573         HAVE_DECL_GETLOGIN_R to 1.
19574         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
19575
19576 2010-01-09  Bruno Haible  <bruno@clisp.org>
19577
19578         * lib/unistd.in.h (getlogin_r): Add comment.
19579
19580 2010-01-09  Bruno Haible  <bruno@clisp.org>
19581
19582         Tests for module 'getlogin_r'.
19583         * modules/getlogin_r-tests: New file.
19584         * tests/test-getlogin_r.c: New file.
19585
19586 2010-01-09  Jim Meyering  <meyering@redhat.com>
19587
19588         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
19589         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
19590         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
19591
19592 2010-01-08  Simon Josefsson  <simon@josefsson.org>
19593
19594         * lib/dup2.c (rpl_dup2): Improve comment.
19595
19596 2010-01-08  Eric Blake  <ebb9@byu.net>
19597
19598         maint.mk: allow packages to add makefile @@ exceptions
19599         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19600         (sc_makefile_check): Rename...
19601         (sc_makefile_at_at_check): ...to this, and use hook.
19602
19603         dup2: work around mingw bug
19604         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19605         Reported by Simon Josefsson.
19606
19607 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19608
19609         glob: Fix C++ compilation.
19610         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19611         C++.
19612
19613 2010-01-07  Bruno Haible  <bruno@clisp.org>
19614
19615         Fix indentation of wctype.in.h, broken since 2007-01-06.
19616         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19617
19618 2010-01-07  Bruno Haible  <bruno@clisp.org>
19619
19620         mbslen: Avoid collision with system function.
19621         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19622         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19623         * m4/mbslen.m4: New file.
19624         * modules/mbslen (Files): Add it.
19625         (configure.ac): Invoke gl_MBSLEN.
19626         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19627         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19628         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
19629         via Ian Beckwith <ianb@erislabs.net>.
19630
19631 2010-01-07  Bruno Haible  <bruno@clisp.org>
19632
19633         dirent: Document the last fix.
19634         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
19635
19636 2010-01-07  Bruno Haible  <bruno@clisp.org>
19637
19638         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
19639         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
19640         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
19641         va_list are defined.
19642         * doc/posix-headers/stdio.texi: Document the bug of missing types.
19643         Reported by Eric Blake.
19644
19645 2010-01-07  Bruno Haible  <bruno@clisp.org>
19646
19647         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
19648         * modules/xlist (Depends-on): Add 'list',
19649         * modules/xoset (Depends-on): Add 'oset'.
19650         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19651
19652 2010-01-07  Bruno Haible  <bruno@clisp.org>
19653
19654         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
19655         * doc/posix-functions/strncasecmp.texi: Likewise.
19656
19657 2010-01-07  Bruno Haible  <bruno@clisp.org>
19658
19659         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
19660
19661 2010-01-07  John W. Eaton  <jwe@octave.org>
19662
19663         wctype: allow C++ use
19664         * lib/wctype.in.h: Add extern "C" block for C++.
19665
19666 2010-01-06  Eric Blake  <ebb9@byu.net>
19667
19668         maint.mk: detect incorrect GFDL usage
19669         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
19670
19671 2010-01-06  Jim Meyering  <meyering@redhat.com>
19672         and Eric Blake  <ebb9@byu.net>
19673
19674         maint.mk: ignore multi-line copyright in NEWS
19675         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
19676
19677 2010-01-06  Eric Blake  <ebb9@byu.net>
19678
19679         select: add missing dependency
19680         * modules/select-tests (Depends-on): Move sockets dependency...
19681         * modules/select (Depends-on): ...here.
19682         Reported by Ian Beckwith.
19683
19684         doc: regenerate INSTALL
19685         * doc/INSTALL: Reflect recent autoconf update.
19686         * doc/INSTALL.ISO: Likewise.
19687         * doc/INSTALL.UTF-8: Likewise.
19688
19689         pread: fix compilation on glibc
19690         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
19691         Reported by Ralf Wildenhues.
19692
19693         dirent: fix test failure
19694         * lib/dirent.in.h (includes): Guarantee ino_t.
19695         Reported by Ralf Wildenhues.
19696
19697 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
19698
19699         linkat, renameat: avoid bad free
19700         * lib/at-func2.c (at_func2): Fix typo.
19701         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
19702
19703 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19704
19705         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
19706         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
19707         to avoid failure of symlink test later.
19708
19709 2010-01-06  Eric Blake  <ebb9@byu.net>
19710
19711         stdio, unistd: guarantee ssize_t
19712         * lib/unistd.in.h (includes): Ensure that types required by POSIX
19713         2008 are exposed when needed.
19714         * lib/stdio.in.h (includes): Likewise.
19715         Reported by Ralf Wildenhues.
19716
19717 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
19718
19719         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
19720         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
19721         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
19722
19723 2010-01-06  Jim Meyering  <meyering@redhat.com>
19724
19725         readtokens: this module *does* require xalloc.h
19726         It uses only functions that were omitted by the old syntax-check rule.
19727         * lib/readtokens.c: Include "xalloc.h" once again.
19728         * modules/readtokens (Depends-on): Add xalloc.
19729         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
19730
19731 2010-01-05  Eric Blake  <ebb9@byu.net>
19732
19733         maint: support 'make announcement' from a VPATH build
19734         * top/maint.mk (announcement): Look for correct NEWS file.
19735
19736 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
19737
19738         utimens (fdutimens): ignore a negative FD, per contract
19739         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
19740         when we have a valid file descriptor.  Otherwise, using a brand
19741         new glibc (with just-patched futimens that now fails with EBADF)
19742         would cause this function to fail with ENOSYS.
19743         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
19744         See also http://bugzilla.redhat.com/552320.
19745
19746 2010-01-05  Eric Blake  <ebb9@byu.net>
19747
19748         strcase: document what it provides
19749         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
19750         gnulib module.
19751         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
19752         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
19753
19754 2010-01-05  Jim Meyering  <meyering@redhat.com>
19755
19756         maint: remove useless inclusions of "xalloc.h"
19757         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
19758         * lib/readtokens.c: Likewise.
19759         * lib/same.c: Likewise.
19760         * modules/getloadavg (Depends-on): Remove xalloc.
19761         * modules/readtokens: Likewise.
19762         * modules/same: Likewise.
19763
19764         maint.mk: include 4 more function names in alloca.h-checking regexp
19765         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
19766         regexp.  Before, we would give a false-positive (saying alloca.h
19767         is included unnecessarily) when the only uses involved omitted symbols.
19768
19769         xalloc.h: use consistent formatting
19770         * lib/xalloc.h: Move declarations to start in the first column.
19771
19772 2010-01-05  Eric Blake  <ebb9@byu.net>
19773
19774         mkdir: avoid xalloc
19775         * lib/mkdir.c (includes): Drop unused header.
19776         Reported by John W. Eaton.
19777
19778 2010-01-04  Jim Meyering  <meyering@redhat.com>
19779
19780         nl_langinfo: avoid configure-time syntax error
19781         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
19782         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
19783         the empty string.  Don't let that provoke a shell syntax error.
19784
19785         regcomp, regexec, fnmatch: avoid array bounds read error
19786         * lib/regcomp.c (build_equiv_class): From glibc:
19787         Use only the low 24 bits of a findidx return value as an index
19788         into the weights array.  Patch by Ulrich Drepper:
19789         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
19790         * lib/regexec.c (check_node_accept_bytes): Likewise.
19791         * lib/fnmatch_loop.c (FCT): Likewise.
19792
19793         regcomp: skip collseq lookup when there are no rules
19794         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
19795         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
19796
19797         regcomp: recognize ill-formed { } expressions
19798         * lib/regcomp.c (parse_dup_op): From glibc:
19799         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
19800
19801         regcomp: fix typo in comment
19802         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
19803         s/satisfy/satisfies/.
19804
19805         regcomp: sync from glibc: remove dead store
19806         * lib/regcomp.c (duplicate_node_closure): Remove useless
19807         search_duplicated_node call and dead store.
19808
19809         regcomp: sync from glibc; always use nl_langinfo
19810         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
19811         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
19812         * modules/regex (Depends-on): Add nl_langinfo.
19813
19814 2010-01-04  Eric Blake  <ebb9@byu.net>
19815
19816         fdopendir: fix configure test
19817         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
19818
19819 2010-01-01  Bruno Haible  <bruno@clisp.org>
19820
19821         wchar: Remove unused configure check.
19822         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
19823
19824 2010-01-01  Eric Blake  <ebb9@byu.net>
19825
19826         headers: make check of system header explicit
19827         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
19828         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
19829         ourselves.
19830         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19831         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19832         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19833         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
19834         internals.
19835         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
19836         missing.
19837         Suggested by Bruno Haible.
19838
19839 2010-01-01  Jim Meyering  <meyering@redhat.com>
19840
19841         ChangeLog: tweak to eliminate unnecessary copyright line
19842         * ChangeLog: Remove a copyright line that was mistakenly updated
19843         by today's update-copyright run.  Reported by Eric Blake.
19844
19845         test-update-copyright: don't let envvar setting cause test failure
19846         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19847
19848 2010-01-01  Bruno Haible  <bruno@clisp.org>
19849
19850         localename: Avoid gcc warning.
19851         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
19852         function if it is not used.
19853
19854 2010-01-01  Jim Meyering  <meyering@redhat.com>
19855
19856         update nearly all FSF copyright year lists to include 2010
19857         Use the same procedure as for 2009, outlined in
19858         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
19859
19860         version-etc: set COPYRIGHT_YEAR to 2010
19861         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
19862
19863 2009-12-31  Eric Blake  <ebb9@byu.net>
19864
19865         doc: correct availability of cygwin 1.5.x getopt
19866         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
19867         variables.
19868         * doc/posix-functions/opterr.texi (opterr): Likewise.
19869         * doc/posix-functions/optind.texi (optind): Likewise.
19870         * doc/posix-functions/optopt.texi (optopt): Likewise.
19871         * doc/posix-functions/tzname.texi (tzname): Likewise.
19872
19873         openat: update maintainer
19874         * modules/openat (Maintainer): Add myself.
19875
19876         utimens: avoid shadowing warning
19877         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
19878         buffers into one, to avoid shadowing, as well as avoiding a
19879         redundant stat.
19880         Reported by Jim Meyering.
19881
19882         test-dup2: avoid compiler warning
19883         * tests/test-dup2.c (is_inheritable): Only define if used.
19884
19885 2010-01-01  Bruno Haible  <bruno@clisp.org>
19886
19887         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
19888         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
19889         defined, use wctomb instead of wcrtomb.
19890
19891 2010-01-01  Bruno Haible  <bruno@clisp.org>
19892
19893         iconv: Reject native Solaris iconv.
19894         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
19895         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
19896
19897 2009-12-31  Bruno Haible  <bruno@clisp.org>
19898
19899         * tests/test-signal.c (main): Remove test of 'SIG'.
19900
19901 2009-12-31  Bruno Haible  <bruno@clisp.org>
19902
19903         spawn: Fix incomplete fix.
19904         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19905         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19906         warnings for GNULIB_POSIXCHECK again.
19907         Reported by Eric Blake.
19908
19909 2009-12-31  Bruno Haible  <bruno@clisp.org>
19910
19911         Avoid namespace pollution on glibc systems.
19912         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
19913         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
19914         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
19915         glibc systems.
19916
19917 2009-12-31  Bruno Haible  <bruno@clisp.org>
19918
19919         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
19920         (gl_REPLACE_WCHAR_H): Turn into a no-op.
19921         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
19922         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19923         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19924         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19925         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19926
19927 2009-12-31  Bruno Haible  <bruno@clisp.org>
19928
19929         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19930         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
19931         afterwards.
19932
19933 2009-12-31  Bruno Haible  <bruno@clisp.org>
19934
19935         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
19936         SYS_UTSNAME_H.
19937
19938 2009-12-31  Bruno Haible  <bruno@clisp.org>
19939
19940         spawn: Fix misapplied patch.
19941         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19942         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19943         warnings for GNULIB_POSIXCHECK.
19944
19945 2009-12-31  Bruno Haible  <bruno@clisp.org>
19946
19947         times: Update after sys_times changed.
19948         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
19949         * modules/times (Files): Add it.
19950         (configure.ac): Invoke gl_FUNC_TIMES.
19951
19952 2009-12-31  Bruno Haible  <bruno@clisp.org>
19953
19954         Use AC_C_INLINE where necessary.
19955         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
19956         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19957         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
19958         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19959         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19960         * m4/mbiter.m4 (gl_MBITER): Likewise.
19961         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19962         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19963         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
19964         * modules/u64 (configure.ac): Likewise.
19965
19966 2009-12-31  Bruno Haible  <bruno@clisp.org>
19967
19968         Use AC_C_INLINE instead of module 'inline' where possible.
19969         * modules/inline (Description): Clarify purpose.
19970         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
19971         * modules/count-one-bits (Depends-on): Remove inline.
19972         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
19973         * modules/openat (Depends-on): Remove inline.
19974         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
19975         instead of depending on module 'inline'.
19976         * modules/filevercmp (Depends-on, configure.ac): Likewise.
19977         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
19978         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
19979         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
19980         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
19981         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
19982         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
19983         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
19984         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
19985         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
19986         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
19987         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
19988         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
19989         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
19990         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
19991         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
19992         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
19993         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
19994         Likewise.
19995         * modules/unictype/property-ascii-hex-digit (Depends-on,
19996         configure.ac): Likewise.
19997         * modules/unictype/property-bidi-arabic-digit (Depends-on,
19998         configure.ac): Likewise.
19999         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
20000         configure.ac): Likewise.
20001         * modules/unictype/property-bidi-block-separator (Depends-on,
20002         configure.ac): Likewise.
20003         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
20004         configure.ac): Likewise.
20005         * modules/unictype/property-bidi-common-separator (Depends-on,
20006         configure.ac): Likewise.
20007         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
20008         Likewise.
20009         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
20010         configure.ac): Likewise.
20011         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
20012         configure.ac): Likewise.
20013         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
20014         configure.ac): Likewise.
20015         * modules/unictype/property-bidi-european-digit (Depends-on,
20016         configure.ac): Likewise.
20017         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
20018         configure.ac): Likewise.
20019         * modules/unictype/property-bidi-left-to-right (Depends-on,
20020         configure.ac): Likewise.
20021         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
20022         configure.ac): Likewise.
20023         * modules/unictype/property-bidi-other-neutral (Depends-on,
20024         configure.ac): Likewise.
20025         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
20026         Likewise.
20027         * modules/unictype/property-bidi-segment-separator (Depends-on,
20028         configure.ac): Likewise.
20029         * modules/unictype/property-bidi-whitespace (Depends-on,
20030         configure.ac): Likewise.
20031         * modules/unictype/property-combining (Depends-on, configure.ac):
20032         Likewise.
20033         * modules/unictype/property-composite (Depends-on, configure.ac):
20034         Likewise.
20035         * modules/unictype/property-currency-symbol (Depends-on,
20036         configure.ac): Likewise.
20037         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
20038         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
20039         Likewise.
20040         * modules/unictype/property-default-ignorable-code-point (Depends-on,
20041         configure.ac): Likewise.
20042         * modules/unictype/property-deprecated (Depends-on, configure.ac):
20043         Likewise.
20044         * modules/unictype/property-diacritic (Depends-on, configure.ac):
20045         Likewise.
20046         * modules/unictype/property-extender (Depends-on, configure.ac):
20047         Likewise.
20048         * modules/unictype/property-format-control (Depends-on, configure.ac):
20049         Likewise.
20050         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
20051         Likewise.
20052         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
20053         Likewise.
20054         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
20055         Likewise.
20056         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
20057         Likewise.
20058         * modules/unictype/property-hyphen (Depends-on, configure.ac):
20059         Likewise.
20060         * modules/unictype/property-id-continue (Depends-on, configure.ac):
20061         Likewise.
20062         * modules/unictype/property-id-start (Depends-on, configure.ac):
20063         Likewise.
20064         * modules/unictype/property-ideographic (Depends-on, configure.ac):
20065         Likewise.
20066         * modules/unictype/property-ids-binary-operator (Depends-on,
20067         configure.ac): Likewise.
20068         * modules/unictype/property-ids-trinary-operator (Depends-on,
20069         configure.ac): Likewise.
20070         * modules/unictype/property-ignorable-control (Depends-on,
20071         configure.ac): Likewise.
20072         * modules/unictype/property-iso-control (Depends-on, configure.ac):
20073         Likewise.
20074         * modules/unictype/property-join-control (Depends-on, configure.ac):
20075         Likewise.
20076         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
20077         Likewise.
20078         * modules/unictype/property-line-separator (Depends-on, configure.ac):
20079         Likewise.
20080         * modules/unictype/property-logical-order-exception (Depends-on,
20081         configure.ac): Likewise.
20082         * modules/unictype/property-lowercase (Depends-on, configure.ac):
20083         Likewise.
20084         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
20085         * modules/unictype/property-non-break (Depends-on, configure.ac):
20086         Likewise.
20087         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
20088         Likewise.
20089         * modules/unictype/property-numeric (Depends-on, configure.ac):
20090         Likewise.
20091         * modules/unictype/property-other-alphabetic (Depends-on,
20092         configure.ac): Likewise.
20093         * modules/unictype/property-other-default-ignorable-code-point
20094         (Depends-on, configure.ac): Likewise.
20095         * modules/unictype/property-other-grapheme-extend (Depends-on,
20096         configure.ac): Likewise.
20097         * modules/unictype/property-other-id-continue (Depends-on,
20098         configure.ac): Likewise.
20099         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
20100         Likewise.
20101         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
20102         Likewise.
20103         * modules/unictype/property-other-math (Depends-on, configure.ac):
20104         Likewise.
20105         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
20106         Likewise.
20107         * modules/unictype/property-paired-punctuation (Depends-on,
20108         configure.ac): Likewise.
20109         * modules/unictype/property-paragraph-separator (Depends-on,
20110         configure.ac): Likewise.
20111         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
20112         Likewise.
20113         * modules/unictype/property-pattern-white-space (Depends-on,
20114         configure.ac): Likewise.
20115         * modules/unictype/property-private-use (Depends-on, configure.ac):
20116         Likewise.
20117         * modules/unictype/property-punctuation (Depends-on, configure.ac):
20118         Likewise.
20119         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
20120         Likewise.
20121         * modules/unictype/property-radical (Depends-on, configure.ac):
20122         Likewise.
20123         * modules/unictype/property-sentence-terminal (Depends-on,
20124         configure.ac): Likewise.
20125         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
20126         Likewise.
20127         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
20128         * modules/unictype/property-terminal-punctuation (Depends-on,
20129         configure.ac): Likewise.
20130         * modules/unictype/property-titlecase (Depends-on, configure.ac):
20131         Likewise.
20132         * modules/unictype/property-unassigned-code-value (Depends-on,
20133         configure.ac): Likewise.
20134         * modules/unictype/property-unified-ideograph (Depends-on,
20135         configure.ac): Likewise.
20136         * modules/unictype/property-uppercase (Depends-on, configure.ac):
20137         Likewise.
20138         * modules/unictype/property-variation-selector (Depends-on,
20139         configure.ac): Likewise.
20140         * modules/unictype/property-white-space (Depends-on, configure.ac):
20141         Likewise.
20142         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
20143         Likewise.
20144         * modules/unictype/property-xid-start (Depends-on, configure.ac):
20145         Likewise.
20146         * modules/unictype/property-zero-width (Depends-on, configure.ac):
20147         Likewise.
20148         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
20149         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
20150         Likewise.
20151
20152 2009-12-31  Bruno Haible  <bruno@clisp.org>
20153
20154         Remove unnecessary AC_C_INLINE invocation.
20155         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
20156         since 2009-08-21.
20157
20158 2009-12-31  Jim Meyering  <meyering@redhat.com>
20159
20160         maint.mk: don't require explicit gpg_key_ID in cfg.mk
20161         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
20162         With this change, we can all remove the gpg_key_ID = ... definition
20163         from our respective cfg.mk files.
20164
20165         maint.mk: create announcement template in ~/, not in /tmp
20166         * top/maint.mk (emit_upload_commands): Adjust.
20167         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
20168         Remove temporary file, .ci-msg.
20169
20170 2009-12-31  Eric Blake  <ebb9@byu.net>
20171
20172         link-warning: always build headers with link warnings
20173         * modules/arpa_inet (Makefile.am): Always build replacement
20174         header.
20175         * modules/ctype (Makefile.am): Likewise.
20176         * modules/dirent (Makefile.am): Likewise.
20177         * modules/inttypes (Makefile.am): Likewise.
20178         * modules/langinfo (Makefile.am): Likewise.
20179         * modules/locale (Makefile.am): Likewise.
20180         * modules/spawn (Makefile.am): Likewise.
20181         * modules/sys_file (Makefile.am): Likewise.
20182         * modules/sys_ioctl (Makefile.am): Likewise.
20183         * modules/sys_select (Makefile.am): Likewise.
20184         * modules/sys_socket (Makefile.am): Likewise.
20185         * modules/sys_times (Makefile.am): Likewise.
20186         * modules/sys_utsname (Makefile.am): Likewise.
20187         * modules/sys_wait (Makefile.am): Likewise.
20188         * modules/wchar (Makefile.am): Likewise.
20189         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
20190         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
20191         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
20192         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
20193         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
20194         Likewise.
20195         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20196         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20197         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
20198         Likewise.
20199         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
20200         Likewise.
20201         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20202         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
20203         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
20204         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20205         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20206         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20207         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20208         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
20209         (gl_WCHAR_H_DEFAULTS): Likewise.
20210
20211 2009-12-31  Eric Blake  <ebb9@byu.net>
20212
20213         signal, spawn: use link warnings
20214         * lib/signal.in.h (sigset_t): Make unconditional.
20215         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
20216         (sigpending, sigprocmask, sigaction): Add link warnings.
20217         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
20218         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
20219         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
20220         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
20221         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
20222         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
20223         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
20224         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
20225         (posix_spawn_file_actions_destroy)
20226         (posix_spawn_file_actions_addopen)
20227         (posix_spawn_file_actions_addclose)
20228         (posix_spawn_file_actions_adddup2): Likewise.
20229         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
20230         * tests/test-signal.c (main): Enhance test.
20231
20232         spawn: improve wrapper support
20233         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
20234         (gl_SPAWN_H_DEFAULTS): New defaults.
20235         * modules/spawn (Makefile.am): Substitute them.
20236         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
20237         Only declare if missing or broken.
20238
20239         sys_times, sys_utsname: use include_next
20240         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
20241         header.
20242         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
20243         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20244         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20245         * modules/sys_times (Depends-on): Add include_next.
20246         (Makefile.am): Substitute additional values.
20247         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20248         * lib/sys_times.in.h (includes): Include native header, if
20249         available.
20250         * lib/sys_utsname.in.h (includes): Likewise.
20251         * tests/test-sys_times.c (main): Enhance test.
20252
20253         fdutimensat: revert prior patch
20254         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
20255         utimens.h.
20256         Reported by Bruno Haible.
20257
20258 2009-12-30  Eric Blake  <ebb9@byu.net>
20259
20260         sys_wait: drop link-warning dependency
20261         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
20262         link-warning efforts.
20263         * lib/sys_wait.in.h: Likewise.
20264
20265         fdutimensat: remove bogus dependency
20266         * modules/fdutimensat (Depends-on): Drop inline.
20267
20268         unistd: fix typo
20269         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
20270
20271 2009-12-30  Bruno Haible  <bruno@clisp.org>
20272
20273         Fix compilation error with Solaris cc.
20274         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
20275         * lib/unicase/u16-is-invariant.c: Likewise.
20276         * lib/unicase/u32-is-invariant.c: Likewise.
20277         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20278
20279 2009-12-30  Bruno Haible  <bruno@clisp.org>
20280
20281         Fix test crash.
20282         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
20283         locales.
20284         Reported by Simon Josefsson <simon@josefsson.org>.
20285
20286 2009-12-30  Bruno Haible  <bruno@clisp.org>
20287
20288         Fix compilation error on most platforms.
20289         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
20290         Reported by Simon Josefsson <simon@josefsson.org>
20291         and Nelson H. F. Beebe <beebe@math.utah.edu>.
20292
20293 2009-12-30  Eric Blake  <ebb9@byu.net>
20294
20295         futimens, utimensat: work around ntfs-3g bug
20296         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
20297         a ctime bug is present, and expand workaround to cover ntfs-3g.
20298         * lib/utimens.c (fdutimens, lutimens): Likewise.
20299         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
20300         (validate_timespec): Adjust return value.
20301         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
20302         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20303         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
20304
20305 2009-12-29  Eric Blake  <ebb9@byu.net>
20306
20307         link-warning: make usage consistent
20308         * modules/ctype (Depends-on): Add link-warning.
20309         (Makefile.am): Update rules accordingly.
20310         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20311         * modules/locale (Depends-on, Makefile.am): Likewise.
20312         * modules/sys_file (Makefile.am): Likewise.
20313         * modules/getopt-posix (Makefile.am): Delete unused link warning
20314         efforts.
20315         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
20316         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
20317         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
20318         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
20319
20320         stdio: remove unused variables
20321         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
20322         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
20323         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20324
20325         tests: test more substitute headers
20326         * modules/ctype-tests: New file.
20327         * modules/dirent-tests: Likewise.
20328         * modules/spawn-tests: Likewise.
20329         * modules/sys_file-tests: Likewise.
20330         * modules/sys_ioctl-tests: Likewise.
20331         * modules/sys_wait-tests: Likewise.
20332         * tests/test-ctype.c: Likewise.
20333         * tests/test-dirent.c: Likewise.
20334         * tests/test-spawn.c: Likewise.
20335         * tests/test-sys_file.c: Likewise.
20336         * tests/test-sys_ioctl.c: Likewise.
20337         * tests/test-sys_wait.c: Likewise.
20338         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
20339         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
20340         whether or not flock is in use.
20341
20342         tests: remove License section from module
20343         * modules/arpa_inet-tests: Remove unneeded section.
20344         * modules/byteswap-tests: Likewise.
20345         * modules/ceilf-tests: Likewise.
20346         * modules/ceill-tests: Likewise.
20347         * modules/crypto/des-tests: Likewise.
20348         * modules/crypto/gc-arcfour-tests: Likewise.
20349         * modules/crypto/gc-arctwo-tests: Likewise.
20350         * modules/crypto/gc-des-tests: Likewise.
20351         * modules/crypto/gc-hmac-md5-tests: Likewise.
20352         * modules/crypto/gc-hmac-sha1-tests: Likewise.
20353         * modules/crypto/gc-md2-tests: Likewise.
20354         * modules/crypto/gc-md4-tests: Likewise.
20355         * modules/crypto/gc-md5-tests: Likewise.
20356         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
20357         * modules/crypto/gc-rijndael-tests: Likewise.
20358         * modules/crypto/gc-sha1-tests: Likewise.
20359         * modules/crypto/gc-tests: Likewise.
20360         * modules/crypto/md2-tests: Likewise.
20361         * modules/crypto/md4-tests: Likewise.
20362         * modules/fcntl-h-tests: Likewise.
20363         * modules/floorf-tests: Likewise.
20364         * modules/floorl-tests: Likewise.
20365         * modules/frexp-nolibm-tests: Likewise.
20366         * modules/frexp-tests: Likewise.
20367         * modules/frexpl-nolibm-tests: Likewise.
20368         * modules/frexpl-tests: Likewise.
20369         * modules/getaddrinfo-tests: Likewise.
20370         * modules/inttypes-tests: Likewise.
20371         * modules/isfinite-tests: Likewise.
20372         * modules/isinf-tests: Likewise.
20373         * modules/ldexpl-tests: Likewise.
20374         * modules/locale-tests: Likewise.
20375         * modules/math-tests: Likewise.
20376         * modules/netdb-tests: Likewise.
20377         * modules/netinet_in-tests: Likewise.
20378         * modules/printf-frexp-tests: Likewise.
20379         * modules/printf-frexpl-tests: Likewise.
20380         * modules/priv-set-tests: Likewise.
20381         * modules/random_r-tests: Likewise.
20382         * modules/round-tests: Likewise.
20383         * modules/roundf-tests: Likewise.
20384         * modules/roundl-tests: Likewise.
20385         * modules/search-tests: Likewise.
20386         * modules/select-tests: Likewise.
20387         * modules/signal-tests: Likewise.
20388         * modules/stdbool-tests: Likewise.
20389         * modules/stddef-tests: Likewise.
20390         * modules/stdint-tests: Likewise.
20391         * modules/stdio-tests: Likewise.
20392         * modules/stdlib-tests: Likewise.
20393         * modules/string-tests: Likewise.
20394         * modules/strings-tests: Likewise.
20395         * modules/sys_select-tests: Likewise.
20396         * modules/sys_socket-tests: Likewise.
20397         * modules/sys_stat-tests: Likewise.
20398         * modules/sys_time-tests: Likewise.
20399         * modules/sys_utsname-tests: Likewise.
20400         * modules/sysexits-tests: Likewise.
20401         * modules/time-tests: Likewise.
20402         * modules/trunc-tests: Likewise.
20403         * modules/truncf-tests: Likewise.
20404         * modules/truncl-tests: Likewise.
20405         * modules/tsearch-tests: Likewise.
20406         * modules/unistd-tests: Likewise.
20407         * modules/wchar-tests: Likewise.
20408         * modules/wctype-tests: Likewise.
20409
20410         tests: fix license on several tests
20411         * tests/test-des.c: Update to GPLv3+.
20412         * tests/test-flock.c: Likewise.
20413         * tests/test-fsync.c: Likewise.
20414         * tests/test-futimens.h: Likewise.
20415         * tests/test-gc-arcfour.c: Likewise.
20416         * tests/test-gc-arctwo.c: Likewise.
20417         * tests/test-gc-des.c: Likewise.
20418         * tests/test-gc-hmac-md5.c: Likewise.
20419         * tests/test-gc-hmac-sha1.c: Likewise.
20420         * tests/test-gc-md2.c: Likewise.
20421         * tests/test-gc-md4.c: Likewise.
20422         * tests/test-gc-md5.c: Likewise.
20423         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20424         * tests/test-gc-rijndael.c: Likewise.
20425         * tests/test-gc-sha1.c: Likewise.
20426         * tests/test-gc.c: Likewise.
20427         * tests/test-getcwd.c: Likewise.
20428         * tests/test-link.c: Likewise.
20429         * tests/test-link.h: Likewise.
20430         * tests/test-lutimens.h: Likewise.
20431         * tests/test-md2.c: Likewise.
20432         * tests/test-md4.c: Likewise.
20433         * tests/test-mkdir.h: Likewise.
20434         * tests/test-rename.c: Likewise.
20435         * tests/test-rename.h: Likewise.
20436         * tests/test-safe-alloc.c: Likewise.
20437         * tests/test-utimens-common.h: Likewise.
20438         * tests/test-utimens.h: Likewise.
20439
20440         maint: sync license texts
20441         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
20442         * doc/gpl-3.0.texi: Revert copyright year update.
20443         * doc/lgpl-3.0.texi: Likewise.
20444
20445 2009-12-29  Jim Meyering  <meyering@redhat.com>
20446
20447         update nearly all FSF copyright year lists to include 2009
20448         The files named by the following are exempted:
20449             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
20450               test -f "$dst" && { echo "$dst"; continue; }
20451               test -d "$dst" || continue
20452               echo "$dst"/$(basename "$src")
20453             done > exempt
20454             git ls-files tests/unictype >> exempt
20455         In the remaining files, convert to all-interval notation if
20456         - there is already at least one year interval like 2000-2003
20457         - the file is maintained by me
20458         - the file is in lib/uni*/, where that style already prevails
20459         Otherwise, use update-copyright's default.
20460
20461 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20462         and Eric Blake  <ebb9@byu.net>
20463
20464         tests: don't require debug system() to pass
20465         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
20466         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20467         * tests/test-unlink.h (test_unlink_func): Likewise.
20468         * tests/test-fstatat.c (main): ...into callers.
20469         * tests/test-lstat.c (main): Likewise.
20470         * tests/test-rmdir.c (main): Likewise.
20471         * tests/test-unlink.c (main): Likewise.
20472         * tests/test-unlinkat.c (main): Likewise.
20473         * tests/test-areadlink-with-size.c (main): Don't require a
20474         debug-only system call to pass, aiding cross-testing to mingw.
20475         * tests/test-areadlink.c (main): Likewise.
20476         * tests/test-areadlinkat-with-size.c (main): Likewise.
20477         * tests/test-areadlinkat.c (main): Likewise.
20478         * tests/test-canonicalize-lgpl.c (main): Likewise.
20479         * tests/test-canonicalize.c (main): Likewise.
20480         * tests/test-chown.c (main): Likewise.
20481         * tests/test-fchownat.c (main): Likewise.
20482         * tests/test-lchown.c (main): Likewise.
20483         * tests/test-fdutimensat.c (main): Likewise.
20484         * tests/test-futimens.c (main): Likewise.
20485         * tests/test-link.c (main): Likewise.
20486         * tests/test-linkat.c (main): Likewise.
20487         * tests/test-mkdir.c (main): Likewise.
20488         * tests/test-mkdirat.c (main): Likewise.
20489         * tests/test-mkfifo.c (main): Likewise.
20490         * tests/test-mkfifoat.c (main): Likewise.
20491         * tests/test-mknod.c (main): Likewise.
20492         * tests/test-readlink.c (main): Likewise.
20493         * tests/test-remove.c (main): Likewise.
20494         * tests/test-rename.c (main): Likewise.
20495         * tests/test-renameat.c (main): Likewise.
20496         * tests/test-symlink.c (main): Likewise.
20497         * tests/test-symlinkat.c (main): Likewise.
20498         * tests/test-utimens.c (main): Likewise.
20499         * tests/test-utimensat.c (main): Likewise.
20500
20501 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20502
20503         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
20504         on $(UNUSED_PARAMETER_H) to avoid build failure.
20505
20506 2009-12-28  Jim Meyering  <meyering@redhat.com>
20507
20508         update-copyright: you may specify a max. line length other than 72
20509         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20510
20511         maint: use consistent FSF copyright line syntax
20512         * lib/posixtm.c: Add missing comma in FSF copyright line.
20513         * lib/posixtm.h: Likewise.
20514         * lib/getugroups.c: Add missing ", Inc.".
20515
20516         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
20517         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
20518         FSF copyright line.  Remove trailing blanks.
20519
20520 2009-12-28  Eric Blake  <ebb9@byu.net>
20521
20522         test-dup2: reduce dependencies
20523         * modules/cloexec (Configure.ac): Set witness.
20524         * modules/dup2-tests (Depends-on): Drop cloexec.
20525         * tests/test-dup2.c (main): Skip portion of test if cloexec module
20526         not present.
20527         Suggested by Bruno Haible.
20528
20529 2009-12-26  Bruno Haible  <bruno@clisp.org>
20530
20531         Remove an unneeded dependency.
20532         * modules/fseterr (Depends-on): Remove dup2.
20533
20534 2009-12-26  Eric Blake  <ebb9@byu.net>
20535
20536         tests: use macros.h in more places
20537         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
20538         (ASSERT_STREAM): Provide default of stderr.
20539         * tests/test-dirent-safer.c: Include macros.h, using alternate
20540         stream for assertions.
20541         * tests/test-dup-safer.c: Likewise.
20542         * tests/test-freopen-safer.c: Likewise.
20543         * tests/test-getopt.c: Likewise.
20544         * tests/test-openat-safer.c: Likewise.
20545         * tests/test-pipe.c: Likewise.
20546         * tests/test-popen-safer.c: Likewise.
20547         * modules/dirent-safer-tests (Files): Include macros.h.
20548         * modules/unistd-safer-tests (Files): Likewise.
20549         * modules/freopen-safer-tests (Files): Likewise.
20550         * modules/getopt-posix-tests (Files): Likewise.
20551         * modules/openat-safer-tests (Files): Likewise.
20552         * modules/pipe-tests (Files): Likewise.
20553
20554 2009-12-26  Bruno Haible  <bruno@clisp.org>
20555
20556         javacomp: Portability fix.
20557         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
20558         that it also works on Solaris.
20559
20560 2009-12-26  Bruno Haible  <bruno@clisp.org>
20561
20562         localename: Fix storage allocation of gl_locale_name_thread's result.
20563         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
20564         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
20565         all platforms that have 'uselocale'.
20566         (gl_locale_name_thread_unsafe): New function, extracted from
20567         gl_locale_name_thread.
20568         (gl_locale_name_thread): Call struniq on all platforms that have
20569         'uselocale'.
20570         * tests/test-localename.c (test_locale_name_thread): Check that the
20571         resulting strings are permanently allocated.
20572         * modules/localename-tests (Depends-on): Add strdup.
20573
20574 2009-12-26  Bruno Haible  <bruno@clisp.org>
20575
20576         * tests/test-localename.c (categories): Fill in the strings.
20577
20578 2009-12-26  Jim Meyering  <meyering@redhat.com>
20579
20580         isdir: complete the removal of m4/isdir.m4
20581         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
20582
20583         isdir: clean up, since at least grep still uses it
20584         * lib/isdir.c: Include "isdir.h".
20585         (S_ISDIR): Remove now-unneeded definition.
20586         * modules/isdir (Files): Add lib/isdir.h.
20587         * lib/isdir.h: New file, with declaration.
20588         * m4/isdir.m4: Remove file -- unneeded.
20589
20590 2009-12-25  Bruno Haible  <bruno@clisp.org>
20591
20592         selinux-h: Make generated .h files standalone.
20593         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
20594         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
20595         * lib/se-selinux.in.h: Likewise.
20596         * modules/selinux-h (Depends-on): Add unused-parameter.
20597         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
20598         selinux/selinux.h and selinux/context.h.
20599         Suggested by Eric Blake.
20600
20601 2009-12-25  Bruno Haible  <bruno@clisp.org>
20602
20603         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20604         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20605         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20606         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20607         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20608
20609 2009-12-24  Bruno Haible  <bruno@clisp.org>
20610
20611         openat: Fix warning.
20612         * lib/openat-proc.c: Include <unistd.h>.
20613
20614 2009-12-24  Bruno Haible  <bruno@clisp.org>
20615
20616         New module 'unused-parameter'.
20617         * build-aux/unused-parameter.h: New file, extracted from earlier
20618         gnulib-common.m4.
20619         * modules/unused-parameter: New file.
20620         * lib/unistr.h: Include unused-parameter.h.
20621         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20622         _GL_UNUSED.
20623         * modules/unistr/base (Depends-on): Add unused-parameter.
20624
20625 2009-12-24  Bruno Haible  <bruno@clisp.org>
20626
20627         Add missing dependencies to 'extensions' module.
20628         * m4/extensions.m4: Add comment.
20629         * modules/accept4 (Depends-on): Add extensions.
20630         * modules/dup3 (Depends-on): Likewise.
20631         * modules/fcntl (Depends-on): Likewise.
20632         * modules/futimens (Depends-on): Likewise.
20633         * modules/mknod (Depends-on): Likewise.
20634         * modules/pipe2 (Depends-on): Likewise.
20635         * modules/stat-time (Depends-on): Likewise.
20636         * modules/strcasestr-simple (Depends-on): Likewise.
20637         * modules/strsignal (Depends-on): Likewise.
20638         * modules/utimensat (Depends-on): Likewise.
20639         * modules/localcharset (Depends-on): Likewise. Needed because of
20640         gl_FCNTL_O_FLAGS.
20641         * modules/wcrtomb (Depends-on): Likewise. Needed because of
20642         AC_TYPE_MBSTATE_T.
20643         * modules/wcsnrtombs (Depends-on): Likewise.
20644         * modules/wcsrtombs (Depends-on): Likewise.
20645
20646 2009-12-24  Bruno Haible  <bruno@clisp.org>
20647
20648         binary-io: Avoid gcc warning due to SET_BINARY.
20649         * lib/binary-io.h (SET_BINARY): Cast the result to void.
20650         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
20651
20652 2009-12-24  Bruno Haible  <bruno@clisp.org>
20653
20654         Avoid future namespace pollution on glibc systems.
20655         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
20656         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
20657         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
20658         glibc systems.
20659
20660 2009-12-24  Bruno Haible  <bruno@clisp.org>
20661
20662         Refactor common macros used in tests.
20663         * tests/macros.h: New file.
20664         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
20665         and/or <stdlib.h>, if appropriate.
20666         (ASSERT, SIZEOF): Remove macros.
20667         * tests/test-areadlink-with-size.c: Likewise.
20668         * tests/test-areadlinkat.c: Likewise.
20669         * tests/test-areadlinkat-with-size.c: Likewise.
20670         * tests/test-argmatch.c: Likewise.
20671         * tests/test-argv-iter.c: Likewise.
20672         * tests/test-array-mergesort.c: Likewise.
20673         * tests/test-array_list.c: Likewise.
20674         * tests/test-array_oset.c: Likewise.
20675         * tests/test-avltree_list.c: Likewise.
20676         * tests/test-avltree_oset.c: Likewise.
20677         * tests/test-avltreehash_list.c: Likewise.
20678         * tests/test-base64.c: Likewise.
20679         * tests/test-binary-io.c: Likewise.
20680         * tests/test-bitrotate.c: Likewise.
20681         * tests/test-btowc.c: Likewise.
20682         * tests/test-byteswap.c: Likewise.
20683         * tests/test-c-ctype.c: Likewise.
20684         * tests/test-c-stack.c: Likewise.
20685         * tests/test-c-strcasecmp.c: Likewise.
20686         * tests/test-c-strcasestr.c: Likewise.
20687         * tests/test-c-strncasecmp.c: Likewise.
20688         * tests/test-c-strstr.c: Likewise.
20689         * tests/test-canonicalize-lgpl.c: Likewise.
20690         * tests/test-canonicalize.c: Likewise.
20691         * tests/test-carray_list.c: Likewise.
20692         * tests/test-ceilf1.c: Likewise.
20693         * tests/test-ceilf2.c: Likewise.
20694         * tests/test-ceill.c: Likewise.
20695         * tests/test-chown.c: Likewise.
20696         * tests/test-cloexec.c: Likewise.
20697         * tests/test-copy-acl.c: Likewise.
20698         * tests/test-copy-file.c: Likewise.
20699         * tests/test-count-one-bits.c: Likewise.
20700         * tests/test-dprintf-posix.c: Likewise.
20701         * tests/test-dup2.c: Likewise.
20702         * tests/test-dup3.c: Likewise.
20703         * tests/test-duplocale.c: Likewise.
20704         * tests/test-fbufmode.c: Likewise.
20705         * tests/test-fchdir.c: Likewise.
20706         * tests/test-fchownat.c: Likewise.
20707         * tests/test-fcntl-safer.c: Likewise.
20708         * tests/test-fcntl.c: Likewise.
20709         * tests/test-fdopendir.c: Likewise.
20710         * tests/test-fdutimensat.c: Likewise.
20711         * tests/test-fflush2.c: Likewise.
20712         * tests/test-file-has-acl.c: Likewise.
20713         * tests/test-filevercmp.c: Likewise.
20714         * tests/test-flock.c: Likewise.
20715         * tests/test-floorf1.c: Likewise.
20716         * tests/test-floorf2.c: Likewise.
20717         * tests/test-floorl.c: Likewise.
20718         * tests/test-fnmatch.c: Likewise.
20719         * tests/test-fopen.h: Likewise.
20720         * tests/test-fpending.c: Likewise.
20721         * tests/test-fprintf-posix.c: Likewise.
20722         * tests/test-fpurge.c: Likewise.
20723         * tests/test-freadable.c: Likewise.
20724         * tests/test-freadahead.c: Likewise.
20725         * tests/test-freading.c: Likewise.
20726         * tests/test-freadptr.c: Likewise.
20727         * tests/test-freadptr2.c: Likewise.
20728         * tests/test-freadseek.c: Likewise.
20729         * tests/test-freopen.c: Likewise.
20730         * tests/test-frexp.c: Likewise.
20731         * tests/test-frexpl.c: Likewise.
20732         * tests/test-fseek.c: Likewise.
20733         * tests/test-fseeko.c: Likewise.
20734         * tests/test-fstatat.c: Likewise.
20735         * tests/test-fstrcmp.c: Likewise.
20736         * tests/test-fsync.c: Likewise.
20737         * tests/test-ftell.c: Likewise.
20738         * tests/test-ftello.c: Likewise.
20739         * tests/test-func.c: Likewise.
20740         * tests/test-futimens.c: Likewise.
20741         * tests/test-fwritable.c: Likewise.
20742         * tests/test-fwriting.c: Likewise.
20743         * tests/test-getcwd.c: Likewise.
20744         * tests/test-getdate.c: Likewise.
20745         * tests/test-getdelim.c: Likewise.
20746         * tests/test-getdtablesize.c: Likewise.
20747         * tests/test-getgroups.c: Likewise.
20748         * tests/test-getline.c: Likewise.
20749         * tests/test-getndelim2.c: Likewise.
20750         * tests/test-glob.c: Likewise.
20751         * tests/test-hash.c: Likewise.
20752         * tests/test-i-ring.c: Likewise.
20753         * tests/test-iconv-utf.c: Likewise.
20754         * tests/test-iconv.c: Likewise.
20755         * tests/test-idpriv-drop.c: Likewise.
20756         * tests/test-idpriv-droptemp.c: Likewise.
20757         * tests/test-inet_ntop.c: Likewise.
20758         * tests/test-inet_pton.c: Likewise.
20759         * tests/test-isblank.c: Likewise.
20760         * tests/test-isfinite.c: Likewise.
20761         * tests/test-isinf.c: Likewise.
20762         * tests/test-isnan.c: Likewise.
20763         * tests/test-isnand.h: Likewise.
20764         * tests/test-isnanf.h: Likewise.
20765         * tests/test-isnanl.h: Likewise.
20766         * tests/test-lchown.c: Likewise.
20767         * tests/test-ldexpl.c: Likewise.
20768         * tests/test-link.c: Likewise.
20769         * tests/test-linkat.c: Likewise.
20770         * tests/test-linked_list.c: Likewise.
20771         * tests/test-linkedhash_list.c: Likewise.
20772         * tests/test-localename.c: Likewise.
20773         * tests/test-lseek.c: Likewise.
20774         * tests/test-lstat.c: Likewise.
20775         * tests/test-mbmemcasecmp.c: Likewise.
20776         * tests/test-mbmemcasecoll.c: Likewise.
20777         * tests/test-mbrtowc.c: Likewise.
20778         * tests/test-mbscasecmp.c: Likewise.
20779         * tests/test-mbscasestr1.c: Likewise.
20780         * tests/test-mbscasestr2.c: Likewise.
20781         * tests/test-mbscasestr3.c: Likewise.
20782         * tests/test-mbscasestr4.c: Likewise.
20783         * tests/test-mbschr.c: Likewise.
20784         * tests/test-mbscspn.c: Likewise.
20785         * tests/test-mbsinit.c: Likewise.
20786         * tests/test-mbsncasecmp.c: Likewise.
20787         * tests/test-mbsnrtowcs.c: Likewise.
20788         * tests/test-mbspbrk.c: Likewise.
20789         * tests/test-mbspcasecmp.c: Likewise.
20790         * tests/test-mbsrchr.c: Likewise.
20791         * tests/test-mbsrtowcs.c: Likewise.
20792         * tests/test-mbsspn.c: Likewise.
20793         * tests/test-mbsstr1.c: Likewise.
20794         * tests/test-mbsstr2.c: Likewise.
20795         * tests/test-mbsstr3.c: Likewise.
20796         * tests/test-memchr.c: Likewise.
20797         * tests/test-memchr2.c: Likewise.
20798         * tests/test-memcmp.c: Likewise.
20799         * tests/test-memmem.c: Likewise.
20800         * tests/test-memrchr.c: Likewise.
20801         * tests/test-mkdir.c: Likewise.
20802         * tests/test-mkdirat.c: Likewise.
20803         * tests/test-mkfifo.c: Likewise.
20804         * tests/test-mkfifoat.c: Likewise.
20805         * tests/test-mknod.c: Likewise.
20806         * tests/test-nanosleep.c: Likewise.
20807         * tests/test-nl_langinfo.c: Likewise.
20808         * tests/test-obstack-printf.c: Likewise.
20809         * tests/test-open.c: Likewise.
20810         * tests/test-openat.c: Likewise.
20811         * tests/test-pipe-filter-gi1.c: Likewise.
20812         * tests/test-pipe-filter-gi2-main.c: Likewise.
20813         * tests/test-pipe-filter-ii1.c: Likewise.
20814         * tests/test-pipe-filter-ii2-main.c: Likewise.
20815         * tests/test-pipe2.c: Likewise.
20816         * tests/test-popen.h: Likewise.
20817         * tests/test-posixtm.c: Likewise.
20818         * tests/test-pread.c: Likewise.
20819         * tests/test-printf-frexp.c: Likewise.
20820         * tests/test-printf-frexpl.c: Likewise.
20821         * tests/test-printf-posix.c: Likewise.
20822         * tests/test-priv-set.c: Likewise.
20823         * tests/test-quotearg.c: Likewise.
20824         * tests/test-random_r.c: Likewise.
20825         * tests/test-rawmemchr.c: Likewise.
20826         * tests/test-rbtree_list.c: Likewise.
20827         * tests/test-rbtree_oset.c: Likewise.
20828         * tests/test-rbtreehash_list.c: Likewise.
20829         * tests/test-readlink.c: Likewise.
20830         * tests/test-remove.c: Likewise.
20831         * tests/test-rename.c: Likewise.
20832         * tests/test-renameat.c: Likewise.
20833         * tests/test-rmdir.c: Likewise.
20834         * tests/test-round1.c: Likewise.
20835         * tests/test-roundf1.c: Likewise.
20836         * tests/test-roundl.c: Likewise.
20837         * tests/test-safe-alloc.c: Likewise.
20838         * tests/test-sameacls.c: Likewise.
20839         * tests/test-set-mode-acl.c: Likewise.
20840         * tests/test-setenv.c: Likewise.
20841         * tests/test-sigaction.c: Likewise.
20842         * tests/test-signbit.c: Likewise.
20843         * tests/test-sleep.c: Likewise.
20844         * tests/test-snprintf-posix.c: Likewise.
20845         * tests/test-snprintf.c: Likewise.
20846         * tests/test-sprintf-posix.c: Likewise.
20847         * tests/test-stat-time.c: Likewise.
20848         * tests/test-stat.c: Likewise.
20849         * tests/test-strcasestr.c: Likewise.
20850         * tests/test-strchrnul.c: Likewise.
20851         * tests/test-strerror.c: Likewise.
20852         * tests/test-striconv.c: Likewise.
20853         * tests/test-striconveh.c: Likewise.
20854         * tests/test-striconveha.c: Likewise.
20855         * tests/test-strsignal.c: Likewise.
20856         * tests/test-strstr.c: Likewise.
20857         * tests/test-strtod.c: Likewise.
20858         * tests/test-strverscmp.c: Likewise.
20859         * tests/test-symlink.c: Likewise.
20860         * tests/test-symlinkat.c: Likewise.
20861         * tests/test-trunc1.c: Likewise.
20862         * tests/test-trunc2.c: Likewise.
20863         * tests/test-truncf1.c: Likewise.
20864         * tests/test-truncf2.c: Likewise.
20865         * tests/test-truncl.c: Likewise.
20866         * tests/test-uname.c: Likewise.
20867         * tests/test-unlink.c: Likewise.
20868         * tests/test-unlinkat.c: Likewise.
20869         * tests/test-unsetenv.c: Likewise.
20870         * tests/test-usleep.c: Likewise.
20871         * tests/test-utimens.c: Likewise.
20872         * tests/test-utimensat.c: Likewise.
20873         * tests/test-vasnprintf-posix.c: Likewise.
20874         * tests/test-vasnprintf-posix2.c: Likewise.
20875         * tests/test-vasnprintf.c: Likewise.
20876         * tests/test-vasprintf-posix.c: Likewise.
20877         * tests/test-vasprintf.c: Likewise.
20878         * tests/test-vdprintf-posix.c: Likewise.
20879         * tests/test-vfprintf-posix.c: Likewise.
20880         * tests/test-vprintf-posix.c: Likewise.
20881         * tests/test-vsnprintf-posix.c: Likewise.
20882         * tests/test-vsnprintf.c: Likewise.
20883         * tests/test-vsprintf-posix.c: Likewise.
20884         * tests/test-wcrtomb.c: Likewise.
20885         * tests/test-wcsnrtombs.c: Likewise.
20886         * tests/test-wcsrtombs.c: Likewise.
20887         * tests/test-wctype.c: Likewise.
20888         * tests/test-wcwidth.c: Likewise.
20889         * tests/test-xfprintf-posix.c: Likewise.
20890         * tests/test-xmemdup0.c: Likewise.
20891         * tests/test-xprintf-posix.c: Likewise.
20892         * tests/test-xvasprintf.c: Likewise.
20893         * tests/unicase/test-locale-language.c: Likewise.
20894         * tests/unicase/test-mapping-part1.h: Likewise.
20895         * tests/unicase/test-predicate-part1.h: Likewise.
20896         * tests/unicase/test-u8-casecmp.c: Likewise.
20897         * tests/unicase/test-u8-casecoll.c: Likewise.
20898         * tests/unicase/test-u8-casefold.c: Likewise.
20899         * tests/unicase/test-u8-is-cased.c: Likewise.
20900         * tests/unicase/test-u8-is-casefolded.c: Likewise.
20901         * tests/unicase/test-u8-is-lowercase.c: Likewise.
20902         * tests/unicase/test-u8-is-titlecase.c: Likewise.
20903         * tests/unicase/test-u8-is-uppercase.c: Likewise.
20904         * tests/unicase/test-u8-tolower.c: Likewise.
20905         * tests/unicase/test-u8-totitle.c: Likewise.
20906         * tests/unicase/test-u8-toupper.c: Likewise.
20907         * tests/unicase/test-u16-casecmp.c: Likewise.
20908         * tests/unicase/test-u16-casecoll.c: Likewise.
20909         * tests/unicase/test-u16-casefold.c: Likewise.
20910         * tests/unicase/test-u16-is-cased.c: Likewise.
20911         * tests/unicase/test-u16-is-casefolded.c: Likewise.
20912         * tests/unicase/test-u16-is-lowercase.c: Likewise.
20913         * tests/unicase/test-u16-is-titlecase.c: Likewise.
20914         * tests/unicase/test-u16-is-uppercase.c: Likewise.
20915         * tests/unicase/test-u16-tolower.c: Likewise.
20916         * tests/unicase/test-u16-totitle.c: Likewise.
20917         * tests/unicase/test-u16-toupper.c: Likewise.
20918         * tests/unicase/test-u32-casecmp.c: Likewise.
20919         * tests/unicase/test-u32-casecoll.c: Likewise.
20920         * tests/unicase/test-u32-casefold.c: Likewise.
20921         * tests/unicase/test-u32-is-cased.c: Likewise.
20922         * tests/unicase/test-u32-is-casefolded.c: Likewise.
20923         * tests/unicase/test-u32-is-lowercase.c: Likewise.
20924         * tests/unicase/test-u32-is-titlecase.c: Likewise.
20925         * tests/unicase/test-u32-is-uppercase.c: Likewise.
20926         * tests/unicase/test-u32-tolower.c: Likewise.
20927         * tests/unicase/test-u32-totitle.c: Likewise.
20928         * tests/unicase/test-u32-toupper.c: Likewise.
20929         * tests/unicase/test-ulc-casecmp.c: Likewise.
20930         * tests/unicase/test-ulc-casecoll.c: Likewise.
20931         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20932         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
20933         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20934         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20935         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
20936         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
20937         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20938         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20939         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20940         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
20941         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20942         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20943         * tests/unictype/test-bidi_byname.c: Likewise.
20944         * tests/unictype/test-bidi_name.c: Likewise.
20945         * tests/unictype/test-bidi_of.c: Likewise.
20946         * tests/unictype/test-bidi_test.c: Likewise.
20947         * tests/unictype/test-block_list.c: Likewise.
20948         * tests/unictype/test-block_of.c: Likewise.
20949         * tests/unictype/test-block_test.c: Likewise.
20950         * tests/unictype/test-categ_and.c: Likewise.
20951         * tests/unictype/test-categ_and_not.c: Likewise.
20952         * tests/unictype/test-categ_byname.c: Likewise.
20953         * tests/unictype/test-categ_name.c: Likewise.
20954         * tests/unictype/test-categ_none.c: Likewise.
20955         * tests/unictype/test-categ_of.c: Likewise.
20956         * tests/unictype/test-categ_or.c: Likewise.
20957         * tests/unictype/test-categ_test_withtable.c: Likewise.
20958         * tests/unictype/test-combining.c: Likewise.
20959         * tests/unictype/test-decdigit.c: Likewise.
20960         * tests/unictype/test-digit.c: Likewise.
20961         * tests/unictype/test-mirror.c: Likewise.
20962         * tests/unictype/test-numeric.c: Likewise.
20963         * tests/unictype/test-pr_byname.c: Likewise.
20964         * tests/unictype/test-pr_test.c: Likewise.
20965         * tests/unictype/test-predicate-part1.h: Likewise.
20966         * tests/unictype/test-scripts.c: Likewise.
20967         * tests/unictype/test-sy_c_ident.c: Likewise.
20968         * tests/unictype/test-sy_java_ident.c: Likewise.
20969         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
20970         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
20971         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
20972         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
20973         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
20974         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
20975         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
20976         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
20977         * tests/uninorm/test-canonical-decomposition.c: Likewise.
20978         * tests/uninorm/test-compat-decomposition.c: Likewise.
20979         * tests/uninorm/test-composition.c: Likewise.
20980         * tests/uninorm/test-decomposing-form.c: Likewise.
20981         * tests/uninorm/test-decomposition.c: Likewise.
20982         * tests/uninorm/test-u8-nfc.c: Likewise.
20983         * tests/uninorm/test-u8-nfd.c: Likewise.
20984         * tests/uninorm/test-u8-nfkc.c: Likewise.
20985         * tests/uninorm/test-u8-nfkd.c: Likewise.
20986         * tests/uninorm/test-u8-normcmp.c: Likewise.
20987         * tests/uninorm/test-u8-normcoll.c: Likewise.
20988         * tests/uninorm/test-u16-nfc.c: Likewise.
20989         * tests/uninorm/test-u16-nfd.c: Likewise.
20990         * tests/uninorm/test-u16-nfkc.c: Likewise.
20991         * tests/uninorm/test-u16-nfkd.c: Likewise.
20992         * tests/uninorm/test-u16-normcmp.c: Likewise.
20993         * tests/uninorm/test-u16-normcoll.c: Likewise.
20994         * tests/uninorm/test-u32-nfc.c: Likewise.
20995         * tests/uninorm/test-u32-nfd.c: Likewise.
20996         * tests/uninorm/test-u32-nfkc.c: Likewise.
20997         * tests/uninorm/test-u32-nfkd.c: Likewise.
20998         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20999         * tests/uninorm/test-u32-normcmp.c: Likewise.
21000         * tests/uninorm/test-u32-normcoll.c: Likewise.
21001         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
21002         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21003         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21004         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21005         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21006         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21007         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21008         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21009         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21010         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21011         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21012         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21013         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21014         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21015         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21016         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21017         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21018         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21019         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21020         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21021         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21022         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21023         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21024         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21025         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21026         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21027         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21028         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21029         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21030         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
21031         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
21032         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
21033         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
21034         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21035         * tests/uniwidth/test-u8-width.c: Likewise.
21036         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21037         * tests/uniwidth/test-u16-width.c: Likewise.
21038         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21039         * tests/uniwidth/test-u32-width.c: Likewise.
21040         * tests/uniwidth/test-uc_width.c: Likewise.
21041         * tests/uniwidth/test-uc_width2.c: Likewise.
21042         * modules/acl-tests (Files): Add tests/macros.h.
21043         * modules/areadlink-tests (Files): Likewise.
21044         * modules/areadlink-with-size-tests (Files): Likewise.
21045         * modules/areadlinkat-tests (Files): Likewise.
21046         * modules/areadlinkat-with-size-tests (Files): Likewise.
21047         * modules/argmatch-tests (Files): Likewise.
21048         * modules/argv-iter-tests (Files): Likewise.
21049         * modules/array-list-tests (Files): Likewise.
21050         * modules/array-mergesort-tests (Files): Likewise.
21051         * modules/array-oset-tests (Files): Likewise.
21052         * modules/avltree-list-tests (Files): Likewise.
21053         * modules/avltree-oset-tests (Files): Likewise.
21054         * modules/avltreehash-list-tests (Files): Likewise.
21055         * modules/base64-tests (Files): Likewise.
21056         * modules/binary-io-tests (Files): Likewise.
21057         * modules/bitrotate-tests (Files): Likewise.
21058         * modules/btowc-tests (Files): Likewise.
21059         * modules/byteswap-tests (Files): Likewise.
21060         * modules/c-ctype-tests (Files): Likewise.
21061         * modules/c-stack-tests (Files): Likewise.
21062         * modules/c-strcase-tests (Files): Likewise.
21063         * modules/c-strcasestr-tests (Files): Likewise.
21064         * modules/c-strstr-tests (Files): Likewise.
21065         * modules/canonicalize-lgpl-tests (Files): Likewise.
21066         * modules/canonicalize-tests (Files): Likewise.
21067         * modules/carray-list-tests (Files): Likewise.
21068         * modules/ceilf-tests (Files): Likewise.
21069         * modules/ceill-tests (Files): Likewise.
21070         * modules/chown-tests (Files): Likewise.
21071         * modules/cloexec-tests (Files): Likewise.
21072         * modules/copy-file-tests (Files): Likewise.
21073         * modules/count-one-bits-tests (Files): Likewise.
21074         * modules/dprintf-posix-tests (Files): Likewise.
21075         * modules/dup2-tests (Files): Likewise.
21076         * modules/dup3-tests (Files): Likewise.
21077         * modules/duplocale-tests (Files): Likewise.
21078         * modules/fbufmode-tests (Files): Likewise.
21079         * modules/fchdir-tests (Files): Likewise.
21080         * modules/fcntl-safer-tests (Files): Likewise.
21081         * modules/fcntl-tests (Files): Likewise.
21082         * modules/fdopendir-tests (Files): Likewise.
21083         * modules/fdutimensat-tests (Files): Likewise.
21084         * modules/fflush-tests (Files): Likewise.
21085         * modules/filevercmp-tests (Files): Likewise.
21086         * modules/flock-tests (Files): Likewise.
21087         * modules/floorf-tests (Files): Likewise.
21088         * modules/floorl-tests (Files): Likewise.
21089         * modules/fnmatch-tests (Files): Likewise.
21090         * modules/fopen-safer-tests (Files): Likewise.
21091         * modules/fopen-tests (Files): Likewise.
21092         * modules/fpending-tests (Files): Likewise.
21093         * modules/fprintf-posix-tests (Files): Likewise.
21094         * modules/fpurge-tests (Files): Likewise.
21095         * modules/freadable-tests (Files): Likewise.
21096         * modules/freadahead-tests (Files): Likewise.
21097         * modules/freading-tests (Files): Likewise.
21098         * modules/freadptr-tests (Files): Likewise.
21099         * modules/freadseek-tests (Files): Likewise.
21100         * modules/freopen-tests (Files): Likewise.
21101         * modules/frexp-nolibm-tests (Files): Likewise.
21102         * modules/frexp-tests (Files): Likewise.
21103         * modules/frexpl-nolibm-tests (Files): Likewise.
21104         * modules/frexpl-tests (Files): Likewise.
21105         * modules/fseek-tests (Files): Likewise.
21106         * modules/fseeko-tests (Files): Likewise.
21107         * modules/fstrcmp-tests (Files): Likewise.
21108         * modules/fsync-tests (Files): Likewise.
21109         * modules/ftell-tests (Files): Likewise.
21110         * modules/ftello-tests (Files): Likewise.
21111         * modules/func-tests (Files): Likewise.
21112         * modules/futimens-tests (Files): Likewise.
21113         * modules/fwritable-tests (Files): Likewise.
21114         * modules/fwriting-tests (Files): Likewise.
21115         * modules/getcwd-tests (Files): Likewise.
21116         * modules/getdate-tests (Files): Likewise.
21117         * modules/getdelim-tests (Files): Likewise.
21118         * modules/getdtablesize-tests (Files): Likewise.
21119         * modules/getgroups-tests (Files): Likewise.
21120         * modules/getline-tests (Files): Likewise.
21121         * modules/getndelim2-tests (Files): Likewise.
21122         * modules/glob-tests (Files): Likewise.
21123         * modules/hash-tests (Files): Likewise.
21124         * modules/i-ring-tests (Files): Likewise.
21125         * modules/iconv-tests (Files): Likewise.
21126         * modules/iconv_open-utf-tests (Files): Likewise.
21127         * modules/idpriv-drop-tests (Files): Likewise.
21128         * modules/idpriv-droptemp-tests (Files): Likewise.
21129         * modules/inet_ntop-tests (Files): Likewise.
21130         * modules/inet_pton-tests (Files): Likewise.
21131         * modules/isblank-tests (Files): Likewise.
21132         * modules/isfinite-tests (Files): Likewise.
21133         * modules/isinf-tests (Files): Likewise.
21134         * modules/isnan-tests (Files): Likewise.
21135         * modules/isnand-nolibm-tests (Files): Likewise.
21136         * modules/isnand-tests (Files): Likewise.
21137         * modules/isnanf-nolibm-tests (Files): Likewise.
21138         * modules/isnanf-tests (Files): Likewise.
21139         * modules/isnanl-nolibm-tests (Files): Likewise.
21140         * modules/isnanl-tests (Files): Likewise.
21141         * modules/lchown-tests (Files): Likewise.
21142         * modules/ldexpl-tests (Files): Likewise.
21143         * modules/link-tests (Files): Likewise.
21144         * modules/linkat-tests (Files): Likewise.
21145         * modules/linked-list-tests (Files): Likewise.
21146         * modules/linkedhash-list-tests (Files): Likewise.
21147         * modules/localename-tests (Files): Likewise.
21148         * modules/lseek-tests (Files): Likewise.
21149         * modules/lstat-tests (Files): Likewise.
21150         * modules/mbmemcasecmp-tests (Files): Likewise.
21151         * modules/mbmemcasecoll-tests (Files): Likewise.
21152         * modules/mbrtowc-tests (Files): Likewise.
21153         * modules/mbscasecmp-tests (Files): Likewise.
21154         * modules/mbscasestr-tests (Files): Likewise.
21155         * modules/mbschr-tests (Files): Likewise.
21156         * modules/mbscspn-tests (Files): Likewise.
21157         * modules/mbsinit-tests (Files): Likewise.
21158         * modules/mbsncasecmp-tests (Files): Likewise.
21159         * modules/mbsnrtowcs-tests (Files): Likewise.
21160         * modules/mbspbrk-tests (Files): Likewise.
21161         * modules/mbspcasecmp-tests (Files): Likewise.
21162         * modules/mbsrchr-tests (Files): Likewise.
21163         * modules/mbsrtowcs-tests (Files): Likewise.
21164         * modules/mbsspn-tests (Files): Likewise.
21165         * modules/mbsstr-tests (Files): Likewise.
21166         * modules/memchr-tests (Files): Likewise.
21167         * modules/memchr2-tests (Files): Likewise.
21168         * modules/memcmp-tests (Files): Likewise.
21169         * modules/memmem-tests (Files): Likewise.
21170         * modules/memrchr-tests (Files): Likewise.
21171         * modules/mkdir-tests (Files): Likewise.
21172         * modules/mkfifo-tests (Files): Likewise.
21173         * modules/mkfifoat-tests (Files): Likewise.
21174         * modules/mknod-tests (Files): Likewise.
21175         * modules/nanosleep-tests (Files): Likewise.
21176         * modules/nl_langinfo-tests (Files): Likewise.
21177         * modules/obstack-printf-tests (Files): Likewise.
21178         * modules/open-tests (Files): Likewise.
21179         * modules/openat-tests (Files): Likewise.
21180         * modules/pipe-filter-gi-tests (Files): Likewise.
21181         * modules/pipe-filter-ii-tests (Files): Likewise.
21182         * modules/pipe2-tests (Files): Likewise.
21183         * modules/popen-safer-tests (Files): Likewise.
21184         * modules/popen-tests (Files): Likewise.
21185         * modules/posixtm-tests (Files): Likewise.
21186         * modules/pread-tests (Files): Likewise.
21187         * modules/printf-frexp-tests (Files): Likewise.
21188         * modules/printf-frexpl-tests (Files): Likewise.
21189         * modules/printf-posix-tests (Files): Likewise.
21190         * modules/priv-set-tests (Files): Likewise.
21191         * modules/quotearg-tests (Files): Likewise.
21192         * modules/random_r-tests (Files): Likewise.
21193         * modules/rawmemchr-tests (Files): Likewise.
21194         * modules/rbtree-list-tests (Files): Likewise.
21195         * modules/rbtree-oset-tests (Files): Likewise.
21196         * modules/rbtreehash-list-tests (Files): Likewise.
21197         * modules/readlink-tests (Files): Likewise.
21198         * modules/remove-tests (Files): Likewise.
21199         * modules/rename-tests (Files): Likewise.
21200         * modules/renameat-tests (Files): Likewise.
21201         * modules/rmdir-tests (Files): Likewise.
21202         * modules/round-tests (Files): Likewise.
21203         * modules/roundf-tests (Files): Likewise.
21204         * modules/roundl-tests (Files): Likewise.
21205         * modules/safe-alloc-tests (Files): Likewise.
21206         * modules/setenv-tests (Files): Likewise.
21207         * modules/sigaction-tests (Files): Likewise.
21208         * modules/signbit-tests (Files): Likewise.
21209         * modules/sleep-tests (Files): Likewise.
21210         * modules/snprintf-posix-tests (Files): Likewise.
21211         * modules/snprintf-tests (Files): Likewise.
21212         * modules/sprintf-posix-tests (Files): Likewise.
21213         * modules/stat-tests (Files): Likewise.
21214         * modules/stat-time-tests (Files): Likewise.
21215         * modules/strcasestr-tests (Files): Likewise.
21216         * modules/strchrnul-tests (Files): Likewise.
21217         * modules/strerror-tests (Files): Likewise.
21218         * modules/striconv-tests (Files): Likewise.
21219         * modules/striconveh-tests (Files): Likewise.
21220         * modules/striconveha-tests (Files): Likewise.
21221         * modules/strsignal-tests (Files): Likewise.
21222         * modules/strstr-tests (Files): Likewise.
21223         * modules/strtod-tests (Files): Likewise.
21224         * modules/strverscmp-tests (Files): Likewise.
21225         * modules/symlink-tests (Files): Likewise.
21226         * modules/symlinkat-tests (Files): Likewise.
21227         * modules/trunc-tests (Files): Likewise.
21228         * modules/truncf-tests (Files): Likewise.
21229         * modules/truncl-tests (Files): Likewise.
21230         * modules/uname-tests (Files): Likewise.
21231         * modules/unicase/cased-tests (Files): Likewise.
21232         * modules/unicase/ignorable-tests (Files): Likewise.
21233         * modules/unicase/locale-language-tests (Files): Likewise.
21234         * modules/unicase/tolower-tests (Files): Likewise.
21235         * modules/unicase/totitle-tests (Files): Likewise.
21236         * modules/unicase/toupper-tests (Files): Likewise.
21237         * modules/unicase/u8-casecmp-tests (Files): Likewise.
21238         * modules/unicase/u8-casecoll-tests (Files): Likewise.
21239         * modules/unicase/u8-casefold-tests (Files): Likewise.
21240         * modules/unicase/u8-is-cased-tests (Files): Likewise.
21241         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
21242         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
21243         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
21244         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
21245         * modules/unicase/u8-tolower-tests (Files): Likewise.
21246         * modules/unicase/u8-totitle-tests (Files): Likewise.
21247         * modules/unicase/u8-toupper-tests (Files): Likewise.
21248         * modules/unicase/u16-casecmp-tests (Files): Likewise.
21249         * modules/unicase/u16-casecoll-tests (Files): Likewise.
21250         * modules/unicase/u16-casefold-tests (Files): Likewise.
21251         * modules/unicase/u16-is-cased-tests (Files): Likewise.
21252         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
21253         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
21254         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
21255         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
21256         * modules/unicase/u16-tolower-tests (Files): Likewise.
21257         * modules/unicase/u16-totitle-tests (Files): Likewise.
21258         * modules/unicase/u16-toupper-tests (Files): Likewise.
21259         * modules/unicase/u32-casecmp-tests (Files): Likewise.
21260         * modules/unicase/u32-casecoll-tests (Files): Likewise.
21261         * modules/unicase/u32-casefold-tests (Files): Likewise.
21262         * modules/unicase/u32-is-cased-tests (Files): Likewise.
21263         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
21264         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
21265         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
21266         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
21267         * modules/unicase/u32-tolower-tests (Files): Likewise.
21268         * modules/unicase/u32-totitle-tests (Files): Likewise.
21269         * modules/unicase/u32-toupper-tests (Files): Likewise.
21270         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
21271         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
21272         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
21273         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
21274         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
21275         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
21276         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
21277         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
21278         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
21279         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
21280         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
21281         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
21282         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
21283         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
21284         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
21285         * modules/unictype/bidicategory-name-tests (Files): Likewise.
21286         * modules/unictype/bidicategory-of-tests (Files): Likewise.
21287         * modules/unictype/bidicategory-test-tests (Files): Likewise.
21288         * modules/unictype/block-list-tests (Files): Likewise.
21289         * modules/unictype/block-of-tests (Files): Likewise.
21290         * modules/unictype/block-test-tests (Files): Likewise.
21291         * modules/unictype/category-C-tests (Files): Likewise.
21292         * modules/unictype/category-Cc-tests (Files): Likewise.
21293         * modules/unictype/category-Cf-tests (Files): Likewise.
21294         * modules/unictype/category-Cn-tests (Files): Likewise.
21295         * modules/unictype/category-Co-tests (Files): Likewise.
21296         * modules/unictype/category-Cs-tests (Files): Likewise.
21297         * modules/unictype/category-L-tests (Files): Likewise.
21298         * modules/unictype/category-Ll-tests (Files): Likewise.
21299         * modules/unictype/category-Lm-tests (Files): Likewise.
21300         * modules/unictype/category-Lo-tests (Files): Likewise.
21301         * modules/unictype/category-Lt-tests (Files): Likewise.
21302         * modules/unictype/category-Lu-tests (Files): Likewise.
21303         * modules/unictype/category-M-tests (Files): Likewise.
21304         * modules/unictype/category-Mc-tests (Files): Likewise.
21305         * modules/unictype/category-Me-tests (Files): Likewise.
21306         * modules/unictype/category-Mn-tests (Files): Likewise.
21307         * modules/unictype/category-N-tests (Files): Likewise.
21308         * modules/unictype/category-Nd-tests (Files): Likewise.
21309         * modules/unictype/category-Nl-tests (Files): Likewise.
21310         * modules/unictype/category-No-tests (Files): Likewise.
21311         * modules/unictype/category-P-tests (Files): Likewise.
21312         * modules/unictype/category-Pc-tests (Files): Likewise.
21313         * modules/unictype/category-Pd-tests (Files): Likewise.
21314         * modules/unictype/category-Pe-tests (Files): Likewise.
21315         * modules/unictype/category-Pf-tests (Files): Likewise.
21316         * modules/unictype/category-Pi-tests (Files): Likewise.
21317         * modules/unictype/category-Po-tests (Files): Likewise.
21318         * modules/unictype/category-Ps-tests (Files): Likewise.
21319         * modules/unictype/category-S-tests (Files): Likewise.
21320         * modules/unictype/category-Sc-tests (Files): Likewise.
21321         * modules/unictype/category-Sk-tests (Files): Likewise.
21322         * modules/unictype/category-Sm-tests (Files): Likewise.
21323         * modules/unictype/category-So-tests (Files): Likewise.
21324         * modules/unictype/category-Z-tests (Files): Likewise.
21325         * modules/unictype/category-Zl-tests (Files): Likewise.
21326         * modules/unictype/category-Zp-tests (Files): Likewise.
21327         * modules/unictype/category-Zs-tests (Files): Likewise.
21328         * modules/unictype/category-and-not-tests (Files): Likewise.
21329         * modules/unictype/category-and-tests (Files): Likewise.
21330         * modules/unictype/category-byname-tests (Files): Likewise.
21331         * modules/unictype/category-name-tests (Files): Likewise.
21332         * modules/unictype/category-none-tests (Files): Likewise.
21333         * modules/unictype/category-of-tests (Files): Likewise.
21334         * modules/unictype/category-or-tests (Files): Likewise.
21335         * modules/unictype/category-test-withtable-tests (Files): Likewise.
21336         * modules/unictype/combining-class-tests (Files): Likewise.
21337         * modules/unictype/ctype-alnum-tests (Files): Likewise.
21338         * modules/unictype/ctype-alpha-tests (Files): Likewise.
21339         * modules/unictype/ctype-blank-tests (Files): Likewise.
21340         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
21341         * modules/unictype/ctype-digit-tests (Files): Likewise.
21342         * modules/unictype/ctype-graph-tests (Files): Likewise.
21343         * modules/unictype/ctype-lower-tests (Files): Likewise.
21344         * modules/unictype/ctype-print-tests (Files): Likewise.
21345         * modules/unictype/ctype-punct-tests (Files): Likewise.
21346         * modules/unictype/ctype-space-tests (Files): Likewise.
21347         * modules/unictype/ctype-upper-tests (Files): Likewise.
21348         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
21349         * modules/unictype/decimal-digit-tests (Files): Likewise.
21350         * modules/unictype/digit-tests (Files): Likewise.
21351         * modules/unictype/mirror-tests (Files): Likewise.
21352         * modules/unictype/numeric-tests (Files): Likewise.
21353         * modules/unictype/property-alphabetic-tests (Files): Likewise.
21354         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
21355         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
21356         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
21357         Likewise.
21358         * modules/unictype/property-bidi-block-separator-tests (Files):
21359         Likewise.
21360         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
21361         Likewise.
21362         * modules/unictype/property-bidi-common-separator-tests (Files):
21363         Likewise.
21364         * modules/unictype/property-bidi-control-tests (Files): Likewise.
21365         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
21366         Likewise.
21367         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
21368         Likewise.
21369         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
21370         Likewise.
21371         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
21372         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
21373         Likewise.
21374         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
21375         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
21376         Likewise.
21377         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
21378         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
21379         * modules/unictype/property-bidi-segment-separator-tests (Files):
21380         Likewise.
21381         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
21382         * modules/unictype/property-byname-tests (Files): Likewise.
21383         * modules/unictype/property-combining-tests (Files): Likewise.
21384         * modules/unictype/property-composite-tests (Files): Likewise.
21385         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
21386         * modules/unictype/property-dash-tests (Files): Likewise.
21387         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
21388         * modules/unictype/property-default-ignorable-code-point-tests (Files):
21389         Likewise.
21390         * modules/unictype/property-deprecated-tests (Files): Likewise.
21391         * modules/unictype/property-diacritic-tests (Files): Likewise.
21392         * modules/unictype/property-extender-tests (Files): Likewise.
21393         * modules/unictype/property-format-control-tests (Files): Likewise.
21394         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
21395         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
21396         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
21397         * modules/unictype/property-hex-digit-tests (Files): Likewise.
21398         * modules/unictype/property-hyphen-tests (Files): Likewise.
21399         * modules/unictype/property-id-continue-tests (Files): Likewise.
21400         * modules/unictype/property-id-start-tests (Files): Likewise.
21401         * modules/unictype/property-ideographic-tests (Files): Likewise.
21402         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
21403         * modules/unictype/property-ids-trinary-operator-tests (Files):
21404         Likewise.
21405         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
21406         * modules/unictype/property-iso-control-tests (Files): Likewise.
21407         * modules/unictype/property-join-control-tests (Files): Likewise.
21408         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
21409         * modules/unictype/property-line-separator-tests (Files): Likewise.
21410         * modules/unictype/property-logical-order-exception-tests (Files):
21411         Likewise.
21412         * modules/unictype/property-lowercase-tests (Files): Likewise.
21413         * modules/unictype/property-math-tests (Files): Likewise.
21414         * modules/unictype/property-non-break-tests (Files): Likewise.
21415         * modules/unictype/property-not-a-character-tests (Files): Likewise.
21416         * modules/unictype/property-numeric-tests (Files): Likewise.
21417         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
21418         * modules/unictype/property-other-default-ignorable-code-point-tests
21419         (Files): Likewise.
21420         * modules/unictype/property-other-grapheme-extend-tests (Files):
21421         Likewise.
21422         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
21423         * modules/unictype/property-other-id-start-tests (Files): Likewise.
21424         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
21425         * modules/unictype/property-other-math-tests (Files): Likewise.
21426         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
21427         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
21428         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
21429         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
21430         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
21431         * modules/unictype/property-private-use-tests (Files): Likewise.
21432         * modules/unictype/property-punctuation-tests (Files): Likewise.
21433         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
21434         * modules/unictype/property-radical-tests (Files): Likewise.
21435         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
21436         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
21437         * modules/unictype/property-space-tests (Files): Likewise.
21438         * modules/unictype/property-terminal-punctuation-tests (Files):
21439         Likewise.
21440         * modules/unictype/property-test-tests (Files): Likewise.
21441         * modules/unictype/property-titlecase-tests (Files): Likewise.
21442         * modules/unictype/property-unassigned-code-value-tests (Files):
21443         Likewise.
21444         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
21445         * modules/unictype/property-uppercase-tests (Files): Likewise.
21446         * modules/unictype/property-variation-selector-tests (Files): Likewise.
21447         * modules/unictype/property-white-space-tests (Files): Likewise.
21448         * modules/unictype/property-xid-continue-tests (Files): Likewise.
21449         * modules/unictype/property-xid-start-tests (Files): Likewise.
21450         * modules/unictype/property-zero-width-tests (Files): Likewise.
21451         * modules/unictype/scripts-tests (Files): Likewise.
21452         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
21453         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
21454         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
21455         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
21456         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
21457         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
21458         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
21459         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
21460         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
21461         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
21462         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
21463         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
21464         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
21465         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
21466         * modules/uninorm/composition-tests (Files): Likewise.
21467         * modules/uninorm/decomposing-form-tests (Files): Likewise.
21468         * modules/uninorm/decomposition-tests (Files): Likewise.
21469         * modules/uninorm/filter-tests (Files): Likewise.
21470         * modules/uninorm/nfc-tests (Files): Likewise.
21471         * modules/uninorm/nfd-tests (Files): Likewise.
21472         * modules/uninorm/nfkc-tests (Files): Likewise.
21473         * modules/uninorm/nfkd-tests (Files): Likewise.
21474         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
21475         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
21476         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
21477         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
21478         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
21479         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
21480         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
21481         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21482         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
21483         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
21484         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
21485         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
21486         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21487         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
21488         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
21489         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
21490         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
21491         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21492         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
21493         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
21494         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
21495         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
21496         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21497         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
21498         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
21499         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
21500         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
21501         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
21502         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
21503         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
21504         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
21505         * modules/uniwidth/u8-width-tests (Files): Likewise.
21506         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
21507         * modules/uniwidth/u16-width-tests (Files): Likewise.
21508         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
21509         * modules/uniwidth/u32-width-tests (Files): Likewise.
21510         * modules/uniwidth/width-tests (Files): Likewise.
21511         * modules/unlink-tests (Files): Likewise.
21512         * modules/unsetenv-tests (Files): Likewise.
21513         * modules/usleep-tests (Files): Likewise.
21514         * modules/utimens-tests (Files): Likewise.
21515         * modules/utimensat-tests (Files): Likewise.
21516         * modules/vasnprintf-posix-tests (Files): Likewise.
21517         * modules/vasnprintf-tests (Files): Likewise.
21518         * modules/vasprintf-posix-tests (Files): Likewise.
21519         * modules/vasprintf-tests (Files): Likewise.
21520         * modules/vdprintf-posix-tests (Files): Likewise.
21521         * modules/vfprintf-posix-tests (Files): Likewise.
21522         * modules/vprintf-posix-tests (Files): Likewise.
21523         * modules/vsnprintf-posix-tests (Files): Likewise.
21524         * modules/vsnprintf-tests (Files): Likewise.
21525         * modules/vsprintf-posix-tests (Files): Likewise.
21526         * modules/wcrtomb-tests (Files): Likewise.
21527         * modules/wcsnrtombs-tests (Files): Likewise.
21528         * modules/wcsrtombs-tests (Files): Likewise.
21529         * modules/wctype-tests (Files): Likewise.
21530         * modules/wcwidth-tests (Files): Likewise.
21531         * modules/xmemdup0-tests (Files): Likewise.
21532         * modules/xprintf-posix-tests (Files): Likewise.
21533         * modules/xvasprintf-tests (Files): Likewise.
21534
21535 2009-12-24  Eric Blake  <ebb9@byu.net>
21536
21537         test-nanosleep: fix typo
21538         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
21539         patch.
21540         Reported by Bruno Haible.
21541
21542 2009-12-24  Bruno Haible  <bruno@clisp.org>
21543
21544         Reduce namespace pollution on glibc systems.
21545         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
21546         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
21547         systems.
21548         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
21549         <getopt.h> on glibc systems.
21550         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
21551         systems.
21552         * lib/fcntl.c: Include <unistd.h> here instead.
21553
21554 2009-12-24  Bruno Haible  <bruno@clisp.org>
21555
21556         * lib/stdlib.in.h (includes): Fix typo in today's commit.
21557
21558 2009-12-24  Eric Blake  <ebb9@byu.net>
21559
21560         tests: add signature checks
21561         * tests/signature.h (SIGNATURE_CHECK): New file.
21562         * modules/atexit-tests (Files): Use it.
21563         * modules/btowc-tests (Files): Likewise.
21564         * modules/canonicalize-lgpl-tests (Files): Likewise.
21565         * modules/ceilf-tests (Files): Likewise.
21566         * modules/ceill-tests (Files): Likewise.
21567         * modules/chown-tests (Files): Likewise.
21568         * modules/dprintf-posix-tests (Files): Likewise.
21569         * modules/dup2-tests (Files): Likewise.
21570         * modules/dup3-tests (Files): Likewise.
21571         * modules/duplocale-tests (Files): Likewise.
21572         * modules/fchdir-tests (Files): Likewise.
21573         * modules/fcntl-tests (Files): Likewise.
21574         * modules/fdopendir-tests (Files): Likewise.
21575         * modules/fflush-tests (Files): Likewise.
21576         * modules/flock-tests (Files): Likewise.
21577         * modules/floorf-tests (Files): Likewise.
21578         * modules/floorl-tests (Files): Likewise.
21579         * modules/fnmatch-tests (Files): Likewise.
21580         * modules/fopen-tests (Files): Likewise.
21581         * modules/fprintf-posix-tests (Files): Likewise.
21582         * modules/freopen-tests (Files): Likewise.
21583         * modules/frexp-nolibm-tests (Files): Likewise.
21584         * modules/frexp-tests (Files): Likewise.
21585         * modules/frexpl-nolibm-tests (Files): Likewise.
21586         * modules/frexpl-tests (Files): Likewise.
21587         * modules/fseek-tests (Files): Likewise.
21588         * modules/fseeko-tests (Files): Likewise.
21589         * modules/fsync-tests (Files): Likewise.
21590         * modules/ftell-tests (Files): Likewise.
21591         * modules/ftello-tests (Files): Likewise.
21592         * modules/futimens-tests (Files): Likewise.
21593         * modules/getaddrinfo-tests (Files): Likewise.
21594         * modules/getcwd-tests (Files): Likewise.
21595         * modules/getdelim-tests (Files): Likewise.
21596         * modules/getdtablesize-tests (Files): Likewise.
21597         * modules/getgroups-tests (Files): Likewise.
21598         * modules/gethostname-tests (Files): Likewise.
21599         * modules/getline-tests (Files): Likewise.
21600         * modules/getopt-posix-tests (Files): Likewise.
21601         * modules/gettimeofday-tests (Files): Likewise.
21602         * modules/glob-tests (Files): Likewise.
21603         * modules/iconv-tests (Files): Likewise.
21604         * modules/inet_ntop-tests (Files): Likewise.
21605         * modules/inet_pton-tests (Files): Likewise.
21606         * modules/isblank-tests (Files): Likewise.
21607         * modules/lchown-tests (Files): Likewise.
21608         * modules/ldexpl-tests (Files): Likewise.
21609         * modules/link-tests (Files): Likewise.
21610         * modules/linkat-tests (Files): Likewise.
21611         * modules/lseek-tests (Files): Likewise.
21612         * modules/lstat-tests (Files): Likewise.
21613         * modules/mbrtowc-tests (Files): Likewise.
21614         * modules/mbsinit-tests (Files): Likewise.
21615         * modules/mbsnrtowcs-tests (Files): Likewise.
21616         * modules/mbsrtowcs-tests (Files): Likewise.
21617         * modules/memchr-tests (Files): Likewise.
21618         * modules/memcmp-tests (Files): Likewise.
21619         * modules/memmem-tests (Files): Likewise.
21620         * modules/memrchr-tests (Files): Likewise.
21621         * modules/mkdir-tests (Files): Likewise.
21622         * modules/mkfifo-tests (Files): Likewise.
21623         * modules/mkfifoat-tests (Files): Likewise.
21624         * modules/mknod-tests (Files): Likewise.
21625         * modules/nanosleep-tests (Files): Likewise.
21626         * modules/nl_langinfo-tests (Files): Likewise.
21627         * modules/obstack-printf-tests (Files): Likewise.
21628         * modules/open-tests (Files): Likewise.
21629         * modules/openat-tests (Files): Likewise.
21630         * modules/perror-tests (Files): Likewise.
21631         * modules/pipe2-tests (Files): Likewise.
21632         * modules/poll-tests (Files): Likewise.
21633         * modules/popen-tests (Files): Likewise.
21634         * modules/posix_spawn-tests (Files): Likewise.
21635         * modules/posix_spawnp-tests (Files): Likewise.
21636         * modules/pread-tests (Files): Likewise.
21637         * modules/printf-posix-tests (Files): Likewise.
21638         * modules/pty-tests (Files): Likewise.
21639         * modules/random_r-tests (Files): Likewise.
21640         * modules/rawmemchr-tests (Files): Likewise.
21641         * modules/readlink-tests (Files): Likewise.
21642         * modules/remove-tests (Files): Likewise.
21643         * modules/rename-tests (Files): Likewise.
21644         * modules/renameat-tests (Files): Likewise.
21645         * modules/rmdir-tests (Files): Likewise.
21646         * modules/round-tests (Files): Likewise.
21647         * modules/roundf-tests (Files): Likewise.
21648         * modules/roundl-tests (Files): Likewise.
21649         * modules/select-tests (Files): Likewise.
21650         * modules/setenv-tests (Files): Likewise.
21651         * modules/sigaction-tests (Files): Likewise.
21652         * modules/sleep-tests (Files): Likewise.
21653         * modules/snprintf-posix-tests (Files): Likewise.
21654         * modules/snprintf-tests (Files): Likewise.
21655         * modules/sprintf-posix-tests (Files): Likewise.
21656         * modules/stat-tests (Files): Likewise.
21657         * modules/strcasestr-tests (Files): Likewise.
21658         * modules/strchrnul-tests (Files): Likewise.
21659         * modules/strerror-tests (Files): Likewise.
21660         * modules/strsignal-tests (Files): Likewise.
21661         * modules/strstr-tests (Files): Likewise.
21662         * modules/strtod-tests (Files): Likewise.
21663         * modules/strverscmp-tests (Files): Likewise.
21664         * modules/symlink-tests (Files): Likewise.
21665         * modules/symlinkat-tests (Files): Likewise.
21666         * modules/times-tests (Files): Likewise.
21667         * modules/trunc-tests (Files): Likewise.
21668         * modules/truncf-tests (Files): Likewise.
21669         * modules/truncl-tests (Files): Likewise.
21670         * modules/tsearch-tests (Files): Likewise.
21671         * modules/uname-tests (Files): Likewise.
21672         * modules/unlink-tests (Files): Likewise.
21673         * modules/unsetenv-tests (Files): Likewise.
21674         * modules/usleep-tests (Files): Likewise.
21675         * modules/utimensat-tests (Files): Likewise.
21676         * modules/vasprintf-tests (Files): Likewise.
21677         * modules/vdprintf-posix-tests (Files): Likewise.
21678         * modules/vfprintf-posix-tests (Files): Likewise.
21679         * modules/vprintf-posix-tests (Files): Likewise.
21680         * modules/vsnprintf-posix-tests (Files): Likewise.
21681         * modules/vsnprintf-tests (Files): Likewise.
21682         * modules/vsprintf-posix-tests (Files): Likewise.
21683         * modules/wcrtomb-tests (Files): Likewise.
21684         * modules/wcsnrtombs-tests (Files): Likewise.
21685         * modules/wcsrtombs-tests (Files): Likewise.
21686         * modules/wcwidth-tests (Files): Likewise.
21687         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
21688         * tests/test-isinf.c (isinf): Likewise.
21689         * tests/test-isnan.c (isnan): Likewise.
21690         * tests/test-signbit.c (signbit): Likewise.
21691         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
21692         declaration, either as macro or with correct signature.
21693         (select): Ensure function under test is declared with correct
21694         signature in correct header.
21695         * tests/test-atexit.c (atexit): Likewise.
21696         * tests/test-btowc.c (btowc): Likewise.
21697         * tests/test-canonicalize-lgpl.c (realpath)
21698         (canonicalize_file_name): Likewise.
21699         * tests/test-ceilf1.c (ceilf): Likewise.
21700         * tests/test-ceill.c (ceill): Likewise.
21701         * tests/test-chown.c (chown): Likewise.
21702         * tests/test-dprintf-posix.c (dprintf): Likewise.
21703         * tests/test-dup2.c (dup2): Likewise.
21704         * tests/test-dup3.c (dup3): Likewise.
21705         * tests/test-duplocale.c (duplocale): Likewise.
21706         * tests/test-fchdir.c (fchdir): Likewise.
21707         * tests/test-fchownat.c (fchownat): Likewise.
21708         * tests/test-fcntl.c (fcntl): Likewise.
21709         * tests/test-fdopendir.c (fdopendir): Likewise.
21710         * tests/test-fflush.c (fflush): Likewise.
21711         * tests/test-flock.c (flock): Likewise.
21712         * tests/test-floorf1.c (floorf): Likewise.
21713         * tests/test-floorl.c (floorl): Likewise.
21714         * tests/test-fnmatch.c (fnmatch): Likewise.
21715         * tests/test-fopen.c (fopen): Likewise.
21716         * tests/test-fprintf-posix.c (fprintf): Likewise.
21717         * tests/test-freopen.c (freopen): Likewise.
21718         * tests/test-frexp.c (frexp): Likewise.
21719         * tests/test-frexpl.c (frexpl): Likewise.
21720         * tests/test-fseek.c (fseek): Likewise.
21721         * tests/test-fseeko.c (fseeko): Likewise.
21722         * tests/test-fstatat.c (fstatat): Likewise.
21723         * tests/test-fsync.c (fsync): Likewise.
21724         * tests/test-ftell.c (ftell): Likewise.
21725         * tests/test-ftello.c (ftello): Likewise.
21726         * tests/test-futimens.c (futimens): Likewise.
21727         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
21728         (gai_strerror): Likewise.
21729         * tests/test-getcwd.c (getcwd): Likewise.
21730         * tests/test-getdelim.c (getdelim): Likewise.
21731         * tests/test-getdtablesize.c (getdtablesize): Likewise.
21732         * tests/test-getgroups.c (getgroups): Likewise.
21733         * tests/test-gethostname.c (gethostname): Likewise.
21734         * tests/test-getline.c (getline): Likewise.
21735         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
21736         Likewise.
21737         * tests/test-gettimeofday.c (gettimeofday): Likewise.
21738         * tests/test-glob.c (glob, globfree): Likewise.
21739         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
21740         * tests/test-inet_ntop.c (inet_ntop): Likewise.
21741         * tests/test-inet_pton.c (inet_pton): Likewise.
21742         * tests/test-isblank.c (isblank): Likewise.
21743         * tests/test-lchown.c (lchown): Likewise.
21744         * tests/test-ldexpl.c (ldexpl): Likewise.
21745         * tests/test-link.c (link): Likewise.
21746         * tests/test-linkat.c (linkat): Likewise.
21747         * tests/test-lseek.c (lseek): Likewise.
21748         * tests/test-lstat.c (lstat): Likewise.
21749         * tests/test-mbrtowc.c (mbrtowc): Likewise.
21750         * tests/test-mbsinit.c (mbsinit): Likewise.
21751         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
21752         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
21753         * tests/test-memchr.c (memchr): Likewise.
21754         * tests/test-memcmp.c (memcmp): Likewise.
21755         * tests/test-memmem.c (memmem): Likewise.
21756         * tests/test-memrchr.c (memrchr): Likewise.
21757         * tests/test-mkdir.c (mkdir): Likewise.
21758         * tests/test-mkdirat.c (mkdirat): Likewise.
21759         * tests/test-mkfifo.c (mkfifo): Likewise.
21760         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
21761         * tests/test-mknod.c (mknod): Likewise.
21762         * tests/test-nanosleep.c (nanosleep): Likewise.
21763         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
21764         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
21765         Likewise.
21766         * tests/test-open.c (open): Likewise.
21767         * tests/test-openat.c (openat): Likewise.
21768         * tests/test-perror.c (perror): Likewise.
21769         * tests/test-pipe2.c (pipe2): Likewise.
21770         * tests/test-poll.c (poll): Likewise.
21771         * tests/test-popen.c (popen, pclose): Likewise.
21772         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
21773         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
21774         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
21775         (posix_spawn_file_actions_destroy)
21776         (posix_spawn_file_actions_addclose)
21777         (posix_spawn_file_actions_addopen)
21778         (posix_spawn_file_actions_adddup2): Likewise.
21779         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
21780         * tests/test-pread.c (pread): Likewise.
21781         * tests/test-printf-posix.c (printf): Likewise.
21782         * tests/test-pty.c (openpty, forkpty): Likewise.
21783         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
21784         (random_r): Likewise.
21785         * tests/test-rawmemchr.c (rawmemchr): Likewise.
21786         * tests/test-readlink.c (readlink): Likewise.
21787         * tests/test-remove.c (remove): Likewise.
21788         * tests/test-rename.c (rename): Likewise.
21789         * tests/test-renameat.c (renameat): Likewise.
21790         * tests/test-rmdir.c (rmdir): Likewise.
21791         * tests/test-round1.c (round): Likewise.
21792         * tests/test-roundf1.c (roundf): Likewise.
21793         * tests/test-roundl.c (roundl): Likewise.
21794         * tests/test-setenv.c (setenv): Likewise.
21795         * tests/test-sigaction.c (sigaction): Likewise.
21796         * tests/test-sleep.c (sleep): Likewise.
21797         * tests/test-snprintf.c (snprintf): Likewise.
21798         * tests/test-sprintf-posix.c (sprintf): Likewise.
21799         * tests/test-stat.c (stat): Likewise.
21800         * tests/test-stpncpy.c (stpncpy): Likewise.
21801         * tests/test-strcasestr.c (strcasestr): Likewise.
21802         * tests/test-strchrnul.c (strchrnul): Likewise.
21803         * tests/test-strerror.c (strerror): Likewise.
21804         * tests/test-strsignal.c (strsignal): Likewise.
21805         * tests/test-strstr.c (strstr): Likewise.
21806         * tests/test-strtod.c (strtod): Likewise.
21807         * tests/test-strverscmp.c (strverscmp): Likewise.
21808         * tests/test-symlink.c (symlink): Likewise.
21809         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
21810         * tests/test-times.c (times): Likewise.
21811         * tests/test-trunc1.c (trunc): Likewise.
21812         * tests/test-truncf1.c (truncf): Likewise.
21813         * tests/test-truncl.c (truncl): Likewise.
21814         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
21815         Likewise.
21816         * tests/test-uname.c (uname): Likewise.
21817         * tests/test-unlink.c (unlink): Likewise.
21818         * tests/test-unlinkat.c (unlinkat): Likewise.
21819         * tests/test-unsetenv.c (unsetenv): Likewise.
21820         * tests/test-usleep.c (usleep): Likewise.
21821         * tests/test-utimensat.c (utimensat): Likewise.
21822         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
21823         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
21824         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
21825         * tests/test-vprintf-posix.c (vprintf): Likewise.
21826         * tests/test-vsnprintf.c (vsnprintf): Likewise.
21827         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
21828         * tests/test-wcrtomb.c (wcrtomb): Likewise.
21829         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
21830         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
21831         * tests/test-wcwidth.c (wcwidth): Likewise.
21832
21833         build: pull in conditional headers during GNULIB_POSIXCHECK
21834         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
21835         definitions from any conditionally-included headers.
21836         * lib/stdlib.in.h (includes): Likewise.
21837         * lib/unistd.in.h (includes): Likewise.
21838
21839 2009-12-24  Bruno Haible  <bruno@clisp.org>
21840
21841         * tests/test-argv-iter.c: Include header file being tested immediately
21842         after config.h.
21843         * tests/test-base64.c: Likewise.
21844         * tests/test-flock.c: Likewise.
21845         * tests/test-fsync.c: Likewise.
21846         * tests/test-getdate.c: Likewise.
21847         * tests/test-getndelim2.c: Likewise.
21848         * tests/test-isfinite.c: Likewise.
21849         * tests/test-isinf.c: Likewise.
21850         * tests/test-strerror.c: Likewise.
21851         * tests/test-strsignal.c: Likewise.
21852
21853 2009-12-23  Eric Blake  <ebb9@byu.net>
21854
21855         unistd: work around cygwin bug
21856         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
21857         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
21858         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21859
21860 2009-12-23  Bruno Haible  <bruno@clisp.org>
21861
21862         localename: More tests.
21863         * tests/test-localename.c (SIZEOF): New macro.
21864         (categories): New variable.
21865         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
21866         test_locale_name_default): Add test w.r.t. thread locale.
21867         (test_locale_name_thread): New function.
21868         (main): Invoke it.
21869
21870         localename: Make aware of thread locale.
21871         * lib/localename.h (gl_locale_name_thread): New declaration.
21872         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
21873         behaviour with respect to thread locale.
21874         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
21875         <langinfo.h>, glthread/lock.h.
21876         (SIZE_BITS): New macro.
21877         (string_hash): New function.
21878         (struct hash_node): New type.
21879         (HASH_TABLE_SIZE): New macro.
21880         (struniq_hash_table, struniq_lock): New variables.
21881         (struniq): New function.
21882         (gl_locale_name_thread): New function.
21883         (gl_locale_name): Invoke it.
21884         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
21885         * modules/localename (Depends-on): Add lock.
21886         Reported by Mike Gran <spk121@yahoo.com>.
21887
21888 2009-12-23  Eric Blake  <ebb9@byu.net>
21889
21890         va-args: new module
21891         * modules/va-args: New file.
21892         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
21893         * MODULES.html.sh (Core language properties): Mention it.
21894
21895         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
21896         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
21897         named alias for __attribute__((__unused__)).
21898         * lib/chown.c: Update client.
21899         * lib/fchmodat.c: Likewise.
21900         * lib/fts.c: Likewise.
21901         * lib/getdate.y: Likewise.
21902         * lib/getgroups.c: Likewise.
21903         * lib/getopt.c: Likewise.
21904         * lib/getugroups.c: Likewise.
21905         * lib/mkdir.c: Likewise.
21906         * lib/mkfifo.c: Likewise.
21907         * lib/mkfifoat.c: Likewise.
21908         * lib/mknod.c: Likewise.
21909         * lib/mknodat.c: Likewise.
21910         * lib/readlink.c: Likewise.
21911         * lib/se-context.in.h: Likewise.
21912         * lib/se-selinux.in.h: Likewise.
21913         * lib/sockets.c: Likewise.
21914         * lib/symlink.c: Likewise.
21915         * lib/symlinkat.c: Likewise.
21916         * lib/unicodeio.c: Likewise.
21917         * lib/unistr.h: Likewise.
21918         * tests/test-areadlink.c: Likewise.
21919         * tests/test-areadlinkat.c: Likewise.
21920         * tests/test-filenamecat.c: Likewise.
21921         * tests/test-fseeko.c: Likewise.
21922         * tests/test-ftello.c: Likewise.
21923         * tests/test-getdate.c: Likewise.
21924         * tests/test-getgroups.c: Likewise.
21925         * tests/test-gethostname.c: Likewise.
21926         * tests/test-quotearg.c: Likewise.
21927         * tests/test-version-etc.c: Likewise.
21928         * tests/test-xalloc-die.c: Likewise.
21929         * tests/test-xfprintf-posix.c: Likewise.
21930         * tests/test-xprintf-posix.c: Likewise.
21931         * tests/test-xvasprintf.c: Likewise.
21932
21933         tests: avoid compiler warnings
21934         * tests/test-fcntl.c (main): Delete unused parameters.
21935         * tests/test-freopen-safer.c (main): Likewise.
21936         * tests/test-xalloc-die.c (main): Mark unused parameters.
21937         * tests/test-fseeko.c (main): Likewise.
21938         * tests/test-ftello.c (main): Likewise.
21939         * tests/test-nanosleep.c (main): Avoid declaration warning.
21940         * tests/test-sleep.c (main): Likewise.
21941         * tests/test-unsetenv.c (main): Silence warning about string
21942         literal.
21943         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21944
21945 2009-12-23  Bruno Haible  <bruno@clisp.org>
21946
21947         * tests/test-localename.c (test_locale_name): New function, extracted
21948         from main. Also test mixed situations.
21949         (test_locale_name_posix, test_locale_name_environ,
21950         test_locale_name_default): New functions.
21951         (main): Invoke them all.
21952         * modules/localename-tests (configure.ac): Test for newlocale.
21953
21954 2009-12-23  Bruno Haible  <bruno@clisp.org>
21955
21956         unistd: Ensure getcwd gets declared before being overridden.
21957         * lib/unistd.in.h: Conditionally include <io.h>.
21958
21959 2009-12-22  Bruno Haible  <bruno@clisp.org>
21960
21961         wchar: Diagnose broken combination of glibc and gcc versions and flags.
21962         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
21963         (gl_WCHAR_H): Invoke it.
21964         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
21965         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
21966         Reported by Karl Berry <karl@freefriends.org>.
21967
21968 2009-12-22  Eric Blake  <ebb9@byu.net>
21969
21970         math, unistd: avoid redundant includes
21971         * lib/math.in.h (isnan): No need to re-include <math.h>.
21972         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
21973
21974         getsubopt: work around cygwin bug
21975         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
21976         avoid conflicting with system getsubopt.
21977         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
21978         bug.
21979
21980         getopt: synchronize from glibc
21981         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
21982         parameter order.  Adjust all callers.
21983         (_getopt_internal_r, main): Adjust quoting in error messages.
21984         Drop considerations for outdated POSIX 1003.2 error message.
21985         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
21986         callers.
21987         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
21988
21989         test-getopt: test stderr behavior
21990         * modules/getopt-posix-tests (Depends-on): Add dup2.
21991         * tests/test-getopt.c (ASSERT): Avoid stderr.
21992         (main): Move stderr to a temporary file.
21993         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
21994         Instead, add parameter to inform caller if output occurred.
21995         (test_getopt): Adjust all existing tests to expect silence, and
21996         add new tests of leading ":".
21997         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21998         glibc shortcomings with leading "-:" or "+:" in optstring.
21999         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22000         Likewise.
22001         * doc/posix-functions/getopt.texi (getopt): Likewise.
22002
22003         test-getopt: enhance test
22004         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
22005         supports optind=0.
22006         * tests/test-getopt.c (OPTIND_MIN): Move...
22007         * tests/test-getopt.h (OPTIND_MIN): ...here.
22008         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
22009         Require that optind=0 works, since modern BSD supports it in
22010         addition to optreset, and since coreutils expects it.
22011         (test_getopt_long_only): New test.
22012         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22013         glibc shortcomings with 'W;', and enforcement of optind=0.
22014         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22015         Likewise.
22016
22017 2009-12-21  Bruno Haible  <bruno@clisp.org>
22018
22019         localename: Improvements for MacOS X and Cygwin.
22020         * lib/localename.h (gl_locale_name_environ): New declaration.
22021         * lib/localename.c (gl_locale_name_environ): New function, extracted from
22022         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
22023         (gl_locale_name_posix): Invoke it.
22024         (gl_locale_name_default): Add comments. Use Windows native API also on
22025         Cygwin.
22026
22027 2009-12-21  Bruno Haible  <bruno@clisp.org>
22028
22029         Update list of Win32 locale ids.
22030         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
22031         (LANG_SAMI): Renamed from LANG_SAAMI.
22032         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
22033         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
22034         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
22035         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
22036         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
22037         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
22038         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
22039         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
22040         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
22041         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
22042         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
22043         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
22044         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
22045         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
22046         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
22047         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
22048         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
22049         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
22050         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
22051         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
22052         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
22053         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
22054         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
22055         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
22056         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
22057         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
22058         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
22059         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
22060         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
22061         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
22062         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
22063         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
22064         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
22065         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
22066         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
22067         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
22068         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
22069         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
22070         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
22071         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
22072         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
22073         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
22074         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
22075         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
22076         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
22077         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
22078         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
22079         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
22080         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
22081         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
22082         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
22083         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
22084         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
22085         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
22086         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
22087         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
22088         Add more languages and countries for Sami, Sorbian. Add more countries
22089         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
22090         for Pashto. Change country for Syriac, Tswana.
22091
22092 2009-12-21  Eric Blake  <ebb9@byu.net>
22093
22094         test-utimens: avoid spurious failure
22095         * tests/test-chown.h (nap): Factor...
22096         * tests/nap.h: ...into new file.
22097         * tests/test-lchown.h (nap): Avoid duplication.
22098         * tests/test-utimens-common.h (nap): Use shared implementation,
22099         necessary on file systems with 1-second resolution.
22100         * modules/chown-tests (Files): Include new file.
22101         * modules/fdutimensat-tests (Files): Likewise.
22102         * modules/futimens-tests (Files): Likewise.
22103         * modules/lchown-tests (Files): Likewise.
22104         * modules/openat-tests (Files): Likewise.
22105         * modules/utimens-tests (Files): Likewise.
22106         * modules/utimensat-tests (Files): Likewise.
22107
22108 2009-12-19  Eric Blake  <ebb9@byu.net>
22109
22110         futimens, utimensat: work around Linux bug
22111         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
22112         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22113         * lib/utimensat.c (rpl_utimensat): Work around it.
22114         * lib/futimens.c (rpl_futimens): Adjust comment.
22115
22116         utimens: work around Linux ctime bug
22117         * lib/utimens.c (detect_ctime_bug): New helper function.
22118         (update_timespec): Differentiate between workaround needed for
22119         this bug vs. what is needed for systems that lack utimensat.
22120         (fdutimens, lutimens): Work around bug.
22121
22122         utimens: check for ctime update
22123         * tests/test-utimens-common.h (check_ctime): Define.
22124         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
22125         * tests/test-futimens.h (test_futimens): Likewise.
22126         * tests/test-lutimens.h (test_lutimens): Likewise.
22127         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22128         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22129
22130 2009-12-19  Bruno Haible  <bruno@clisp.org>
22131
22132         dprintf-posix: Check against memory leak fixed on 2009-12-15.
22133         * tests/test-dprintf-posix2.sh: New file.
22134         * tests/test-dprintf-posix2.c: New file.
22135         * modules/dprintf-posix-tests (Files): Add them.
22136         (configure.ac): Check for getrlimit and setrlimit.
22137         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22138
22139 2009-12-19  Bruno Haible  <bruno@clisp.org>
22140
22141         fprintf-posix: Check against memory leak fixed on 2009-12-15.
22142         * tests/test-fprintf-posix3.sh: New file.
22143         * tests/test-fprintf-posix3.c: New file.
22144         * modules/fprintf-posix-tests (Files): Add them.
22145         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22146
22147 2009-12-19  Eric Blake  <ebb9@byu.net>
22148
22149         dirfd: fix prototype
22150         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
22151         * lib/dirfd.c (dirfd): Likewise.
22152
22153         canonicalize: reduce memory usage
22154         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
22155         allocation to size.
22156         Reported by Solar Designer <solar@openwall.com>.
22157
22158 2009-12-19  Bruno Haible  <bruno@clisp.org>
22159
22160         New module attribute 'Applicability'.
22161         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
22162         * gnulib-tool: New option --extract-applicability.
22163         (func_usage): Document it.
22164         (sed_extract_prog): Recognize it.
22165         (func_get_applicability): New function.
22166         (func_import): Generalize handling of 'link-warning' module.
22167         * modules/link-warning (Applicability): New section.
22168         * modules/arg-nonnull (Applicability): New section.
22169         Repoted by Simon Josefsson <simon@josefsson.org>.
22170
22171 2009-12-19  Bruno Haible  <bruno@clisp.org>
22172
22173         fflush: tweak
22174         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
22175         * lib/fseeko.c (rpl_fseeko): Likewise.
22176
22177 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
22178
22179         * lib/gl_list.h: Fix typo in comment.
22180
22181 2009-12-16  Eric Blake  <ebb9@byu.net>
22182
22183         fcntl: use to simplify other modules
22184         * modules/cloexec (Depends-on): Add fcntl.
22185         * modules/fchdir (Depends-on): Likewise.
22186         * modules/fd-safer-flag (Depends-on): Likewise.
22187         * modules/unistd-safer (Depends-on): Likewise.
22188         * modules/dup3 (configure.ac): Set module indicator.
22189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
22190         missing.
22191         * lib/fchdir.c (_gl_register_dup): Fix comment.
22192         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
22193         * lib/dup-safer.c (dup_safer): Likewise.
22194         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
22195         * lib/dup3.c (dup3): Likewise.
22196         * tests/test-fchdir.c (main): Enhance test.
22197         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
22198
22199         fcntl: port portions of fcntl to mingw
22200         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
22201         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
22202         replacement for mingw.
22203         * modules/fcntl (Description): Update.
22204         (Depends-on): Add dup2.
22205         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
22206         * modules/fcntl-h (Makefile.am): Substitute it.
22207         * lib/fcntl.in.h (fcntl): Update declaration.
22208         (F_DUPFD, F_GETFD): New macros, when needed.
22209         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22210         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
22211         * tests/test-fcntl.c (check_flags, main): Enhance test for items
22212         we now guarantee.
22213
22214         fcntl: work around cygwin bug in F_DUPFD
22215         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
22216         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
22217         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
22218         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
22219         * doc/posix-functions/fcntl.texi (fcntl): Document it.
22220
22221         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
22222         * modules/fcntl (Files): List new files.
22223         (configure.ac): Run a test.
22224         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
22225         * lib/fcntl.c (rpl_fcntl): Likewise.
22226         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
22227         (gl_FCNTL_H): Always replace fcntl.h.
22228         * modules/fcntl-h (Makefile.am): Substitute witnesses.
22229         * lib/fcntl.in.h (fcntl): Declare replacement.
22230         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
22231         needed, plus a witness.
22232         * doc/posix-functions/fcntl.texi (fcntl): Document this.
22233         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
22234         * tests/test-fcntl.c: New file.
22235         * modules/fcntl-tests: Likewise.
22236
22237         binary-io: avoid potential compilation warning
22238         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
22239         directives.
22240
22241         fflush: avoid compilation error on NetBSD
22242         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
22243         between off_t and fpos_t, since the latter is sometimes a struct.
22244         * lib/fseeko.c (rpl_fseeko): Likewise.
22245         Reported by Alexander Nasonov <alnsn@yandex.ru>.
22246
22247 2009-12-15  Eric Blake  <ebb9@byu.net>
22248
22249         fcntl-h, stdio, sys_ioctl: fix declarations
22250         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
22251         function must not take arguments.
22252         * lib/sys_ioctl.in.h (ioctl): Likewise.
22253         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
22254         (open): Add a link warning.
22255
22256 2009-12-15  Jim Meyering  <meyering@redhat.com>
22257
22258         areadlink, areadlink-with-size: relax license to LGPLv2+
22259         * modules/areadlink (License): Relax to LGPLv2+.
22260         * modules/areadlink-with-size (License): Likewise.
22261
22262 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
22263             Bruno Haible  <bruno@clisp.org>
22264
22265         *printf: Fix memory leak.
22266         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
22267         * lib/vfprintf.c (vfprintf): Likewise.
22268         * lib/dprintf.c (dprintf): Likewise.
22269         * lib/vdprintf.c (vdprintf): Likewise.
22270
22271 2009-12-14  Eric Blake  <ebb9@byu.net>
22272
22273         accept4: adjust module dependencies
22274         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
22275
22276         utimens: one more try at avoiding compiler warning
22277         * lib/utimens.c (lutimens): Lower scope of result.
22278
22279 2009-12-13  Bruno Haible  <bruno@clisp.org>
22280
22281         Move the malloc checking from module 'list' to new module 'xlist'.
22282         * modules/xlist: New file.
22283         * lib/gl_xlist.h: New file.
22284         * lib/gl_xlist.c: New file.
22285         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
22286         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
22287         gl_list_add_last, gl_list_add_before, gl_list_add_after,
22288         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
22289         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
22290         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
22291         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
22292         gl_sortedlist_nx_add): New declarations.
22293         (struct gl_list_implementation): Rename and change methods accordingly.
22294         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
22295         (gl_list_nx_create): Renamed from gl_list_create.
22296         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22297         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22298         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22299         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22300         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22301         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22302         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22303         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22304         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
22305         gl_list_create_empty.
22306         (gl_list_nx_create): Renamed from gl_list_create.
22307         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22308         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22309         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22310         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22311         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22312         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22313         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22314         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22315         * lib/gl_array_list.c: Don't include xalloc.h.
22316         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
22317         NULL upon out-of-memory.
22318         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
22319         out-of-memory.
22320         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
22321         Change return type to 'int'.
22322         (gl_array_nx_set_at): Renamed from gl_array_set_at.
22323         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22324         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
22325         upon out-of-memory.
22326         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
22327         upon out-of-memory.
22328         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
22329         upon out-of-memory.
22330         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
22331         upon out-of-memory.
22332         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
22333         out-of-memory.
22334         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
22335         Update.
22336         (gl_array_list_implementation): Update.
22337         * lib/gl_carray_list.c: Don't include xalloc.h.
22338         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
22339         Return NULL upon out-of-memory.
22340         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
22341         out-of-memory.
22342         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
22343         Change return type to 'int'.
22344         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
22345         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22346         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
22347         upon out-of-memory.
22348         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
22349         upon out-of-memory.
22350         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
22351         out-of-memory.
22352         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
22353         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
22354         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
22355         Update.
22356         (gl_carray_list_implementation): Update.
22357         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
22358         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
22359         gl_linked_create_empty. Return NULL upon out-of-memory.
22360         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
22361         out-of-memory.
22362         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
22363         Change return type to 'int'. Return -1 upon out-of-memory.
22364         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
22365         out-of-memory.
22366         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
22367         upon out-of-memory.
22368         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
22369         upon out-of-memory.
22370         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
22371         NULL upon out-of-memory.
22372         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
22373         upon out-of-memory.
22374         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
22375         out-of-memory.
22376         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
22377         Update.
22378         * lib/gl_linked_list.c: Don't include xalloc.h.
22379         (gl_linked_list_implementation): Update.
22380         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
22381         (add_to_bucket): Change return type to 'int'.
22382         (gl_linkedhash_list_implementation): Update.
22383         * lib/gl_anytree_list1.h (free_subtree): New function.
22384         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
22385         gl_tree_create_empty. Return NULL upon out-of-memory.
22386         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
22387         Change return type to 'int'. Return -1 upon out-of-memory.
22388         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
22389         out-of-memory.
22390         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
22391         (gl_tree_remove_node): New function, moved here from
22392         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
22393         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
22394         Update.
22395         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
22396         malloc, not xmalloc. Return NULL upon out-of-memory.
22397         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22398         out-of-memory.
22399         (gl_tree_remove_node_from_tree): New function, extracted from
22400         gl_tree_remove_node.
22401         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22402         upon out-of-memory.
22403         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22404         out-of-memory.
22405         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22406         upon out-of-memory.
22407         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22408         upon out-of-memory.
22409         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22410         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
22411         not xmalloc. Return NULL upon out-of-memory.
22412         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22413         out-of-memory.
22414         (gl_tree_remove_node_from_tree): New function, extracted from
22415         gl_tree_remove_node.
22416         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22417         upon out-of-memory.
22418         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22419         out-of-memory.
22420         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22421         upon out-of-memory.
22422         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22423         upon out-of-memory.
22424         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22425         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
22426         gl_anytree_list1.h before gl_anyavltree_list2.h.
22427         (gl_avltree_list_implementation): Update.
22428         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
22429         gl_anytree_list1.h before gl_anyavltree_list2.h.
22430         (gl_rbtree_list_implementation): Update.
22431         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
22432         Change return type to 'int'. Return -1 upon out-of-memory. Use
22433         __builtin_expect.
22434         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
22435         (gl_avltreehash_list_implementation): Update.
22436         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
22437         (gl_rbtreehash_list_implementation): Update.
22438         * modules/array-list (Depends-on): Remove xalloc.
22439         * modules/carray-list (Depends-on): Likewise.
22440         * modules/linked-list (Depends-on): Likewise.
22441         * modules/linkedhash-list (Depends-on): Likewise.
22442         * modules/avltree-list (Depends-on): Likewise.
22443         * modules/rbtree-list (Depends-on): Likewise.
22444         * modules/avltreehash-list (Depends-on): Likewise.
22445         * modules/rbtreehash-list (Depends-on): Likewise.
22446
22447         * modules/xsublist: New file.
22448         * lib/gl_xsublist.h: New file.
22449         * lib/gl_xsublist.c: New file.
22450         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
22451         (gl_sublist_nx_create): New declaration.
22452         * lib/gl_sublist.c: Don't include xalloc.h.
22453         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
22454         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
22455         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
22456         Change return type to 'int'. Return -1 upon out-of-memory.
22457         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
22458         upon out-of-memory.
22459         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
22460         NULL upon out-of-memory.
22461         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
22462         upon out-of-memory.
22463         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
22464         NULL upon out-of-memory.
22465         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
22466         NULL upon out-of-memory.
22467         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
22468         upon out-of-memory.
22469         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
22470         (gl_sublist_list_implementation): Update.
22471         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
22472         upon out-of-memory.
22473         * modules/sublist (Depends-on): Remove xalloc.
22474
22475         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
22476         * tests/test-carray_list.c: Likewise.
22477         * tests/test-linked_list.c: Likewise.
22478         * tests/test-linkedhash_list.c: Likewise.
22479         * tests/test-avltree_list.c: Likewise.
22480         * tests/test-rbtree_list.c: Likewise.
22481         * tests/test-avltreehash_list.c: Likewise.
22482         * tests/test-rbtreehash_list.c: Likewise.
22483         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
22484         * modules/carray-list-tests (Makefile.am): Likewise.
22485         * modules/linked-list-tests (Makefile.am): Likewise.
22486         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22487         * modules/avltree-list-tests (Makefile.am): Likewise.
22488         * modules/rbtree-list-tests (Makefile.am): Likewise.
22489         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22490         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22491
22492         * NEWS: Mention the changes.
22493
22494         * lib/clean-temp.c: Include gl_xlist.h.
22495         * modules/clean-temp (Depends-on): Add xlist.
22496
22497         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
22498         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
22499
22500         * tests/test-array_oset.c: Include gl_xlist.h.
22501         * modules/array-oset-tests (Depends-on): Add xlist.
22502
22503         Reported by José E. Marchesi <jemarch@gnu.org>.
22504
22505 2009-12-13  Bruno Haible  <bruno@clisp.org>
22506
22507         Move the malloc checking from module 'oset' to new module 'xoset'.
22508         * modules/xoset: New file.
22509         * lib/gl_xoset.h: New file.
22510         * lib/gl_xoset.c: New file.
22511         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
22512         declarations.
22513         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
22514         (struct gl_oset_implementation): Rename and change methods accordingly.
22515         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
22516         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22517         'int'. Mark as __warn_unused_result__.
22518         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
22519         gl_oset_create_empty.
22520         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22521         'int'.
22522         * lib/gl_array_oset.c: Don't include xalloc.h.
22523         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
22524         malloc, not xmalloc.
22525         (grow): Change return type to 'int'. Don't call xalloc_die.
22526         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
22527         to 'int'.
22528         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
22529         'int'.
22530         (gl_array_oset_implementation): Update.
22531         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
22532         gl_tree_create_empty.
22533         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
22534         'int'.
22535         * lib/gl_avltree_oset.c: Don't include xalloc.h.
22536         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22537         xmalloc.
22538         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22539         not xmalloc.
22540         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22541         xmalloc.
22542         (gl_avltree_oset_implementation): Update.
22543         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
22544         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22545         xmalloc.
22546         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22547         not xmalloc.
22548         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22549         xmalloc.
22550         (gl_rbtree_oset_implementation): Update.
22551         * modules/array-oset (Depends-on): Remove xalloc.
22552         * modules/avltree-oset (Depends-on): Likewise.
22553         * modules/rbtree-oset (Depends-on): Likewise.
22554         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
22555         * tests/test-avltree_oset.c: Likewise.
22556         * tests/test-rbtree_oset.c: Likewise.
22557         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
22558         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
22559         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22560         * NEWS: Mention the change.
22561
22562 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
22563
22564         maint.mk: allow a project to override release-prep commands
22565         * top/maint.mk (alpha, beta, stable): Move release-preparatory
22566         commands into a new rule.
22567         (release-prep): New rule.
22568         (release-prep-hook): New overridable variable.
22569
22570 2009-12-13  Bruno Haible  <bruno@clisp.org>
22571
22572         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
22573
22574 2009-12-13  Jim Meyering  <meyering@redhat.com>
22575
22576         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
22577         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
22578
22579 2009-12-12  Bruno Haible  <bruno@clisp.org>
22580
22581         duplocale: Tweak.
22582         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
22583
22584 2009-12-12  Karl Berry  <karl@gnu.org>
22585
22586         * config/srclist.txt (strtoll.c): tab changes, no more sync.
22587
22588 2009-12-12  Bruno Haible  <bruno@clisp.org>
22589
22590         * m4/po.m4: Undo incorrect untabification.
22591
22592 2009-12-12  Bruno Haible  <bruno@clisp.org>
22593
22594         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
22595         * modules/c-strtod (Depends-on): Add locale.
22596         * modules/c-strtold (Depends-on): Likewise.
22597
22598 2009-12-12  Bruno Haible  <bruno@clisp.org>
22599
22600         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22601
22602 2009-12-11  Eric Blake  <ebb9@byu.net>
22603
22604         setenv: relax requirement in light of POSIX ruling
22605         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22606         not NULL.
22607         * tests/test-setenv.c (main): Relax test.
22608         * tests/test-unsetenv.c (main): Likewise.
22609         * doc/posix-functions/setenv.texi (setenv): Document this.
22610         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22611
22612 2009-12-11  Bruno Haible  <bruno@clisp.org>
22613
22614         New module 'fd-safer-flag'.
22615         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22616         * lib/dup-safer.c (dup_safer_flag): Remove function.
22617         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22618         * lib/fd-safer.c (fd_safer_flag): Remove function.
22619         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22620         * modules/cloexec (configure.ac): Drop indicator macro.
22621         * modules/fd-safer-flag: New file.
22622         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22623         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22624         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22625
22626 2009-12-11  Bruno Haible  <bruno@clisp.org>
22627
22628         Tests for module 'nl_langinfo'.
22629         * modules/nl_langinfo-tests: New file.
22630         * tests/test-nl_langinfo.sh: New file.
22631         * tests/test-nl_langinfo.c: New file.
22632
22633         New module 'nl_langinfo'.
22634         * lib/nl_langinfo.c: New file.
22635         * m4/nl_langinfo.m4: New file.
22636         * modules/nl_langinfo: New file.
22637         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
22638
22639 2009-12-11  Bruno Haible  <bruno@clisp.org>
22640
22641         Tests for module 'langinfo'.
22642         * modules/langinfo-tests: New file.
22643         * tests/test-langinfo.c: New file.
22644
22645         New module 'langinfo'.
22646         * lib/langinfo.in.h: New file.
22647         * m4/langinfo_h.m4: New file.
22648         * modules/langinfo: New file.
22649         * doc/posix-headers/langinfo.texi: Mention the new module.
22650
22651 2009-12-11  Bruno Haible  <bruno@clisp.org>
22652
22653         * lib/config.charset: Untabify.
22654
22655 2009-12-11  Bruno Haible  <bruno@clisp.org>
22656
22657         * modules/unistd-safer (configure.ac): Drop indicator macro.
22658
22659 2009-12-11  Bruno Haible  <bruno@clisp.org>
22660
22661         Move pipe2-safer code to its own file.
22662         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
22663         * lib/pipe-safer.c (pipe2_safer): Remove function.
22664         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
22665         (Makefile.am): Add it to lib_SOURCES.
22666
22667 2009-12-10  Bruno Haible  <bruno@clisp.org>
22668
22669         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
22670
22671 2009-12-10  Bruno Haible  <bruno@clisp.org>
22672
22673         Declare which arguments expect non-NULL values, for GCC and clang.
22674         * build-aux/arg-nonnull.h: New file.
22675         * modules/arg-nonnull: New file.
22676         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
22677         (inet_ntop, inet_pton): Use it.
22678         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
22679         (closedir, dirfd, opendir, scandir, alphasort): Use it.
22680         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
22681         (open, openat): Use it.
22682         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
22683         (fnmatch): Use it.
22684         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
22685         (getopt, getopt_long, getopt_long_only): Use it.
22686         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
22687         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
22688         Use it.
22689         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
22690         (iconv_open): Use it.
22691         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
22692         (strtoimax, strtoumax): Use it.
22693         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
22694         (duplocale): Use it.
22695         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
22696         (frexp, frexpl): Use it.
22697         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
22698         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
22699         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
22700         (tsearch, tfind, tdelete, twalk): Use it.
22701         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
22702         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22703         sigpending): Use it.
22704         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
22705         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22706         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22707         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22708         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22709         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22710         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22711         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22712         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22713         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22714         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22715         Use it.
22716         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
22717         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
22718         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
22719         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
22720         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
22721         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
22722         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
22723         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
22724         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
22725         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
22726         strtoull, unsetenv): Use it.
22727         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
22728         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22729         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22730         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22731         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22732         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
22733         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
22734         (strcasecmp, strncasecmp): Use it.
22735         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
22736         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
22737         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
22738         rpl_setsockopt): Use it.
22739         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
22740         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
22741         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
22742         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
22743         (gettimeofday): Use it.
22744         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
22745         (times): Use it.
22746         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
22747         (uname): Use it.
22748         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
22749         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
22750         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
22751         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
22752         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
22753         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
22754         unlinkat, write): Use it.
22755         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
22756         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
22757         * lib/argv-iter.h: Include arg-nonnull.h.
22758         (_ATTRIBUTE_NONNULL_): Remove macro.
22759         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
22760         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
22761         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
22762         optimization.
22763         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
22764         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
22765         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
22766         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
22767         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
22768         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
22769         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
22770         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
22771         * modules/arpa_inet (Depends-on): Add arg-nonnull.
22772         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
22773         * modules/dirent (Depends-on): Add arg-nonnull.
22774         (Makefile.am): Insert arg-nonnull.h into dirent.h.
22775         * modules/fcntl-h (Depends-on): Add arg-nonnull.
22776         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
22777         * modules/fnmatch (Depends-on): Add arg-nonnull.
22778         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
22779         * modules/getopt-posix (Depends-on): Add arg-nonnull.
22780         (Makefile.am): Insert arg-nonnull.h into getopt.h.
22781         * modules/glob (Depends-on): Add arg-nonnull.
22782         (Makefile.am): Insert arg-nonnull.h into glob.h.
22783         * modules/iconv_open (Depends-on): Add arg-nonnull.
22784         (Makefile.am): Insert arg-nonnull.h into iconv.h.
22785         * modules/inttypes (Depends-on): Add arg-nonnull.
22786         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
22787         * modules/locale (Depends-on): Add arg-nonnull.
22788         (Makefile.am): Insert arg-nonnull.h into locale.h.
22789         * modules/math (Depends-on): Add arg-nonnull.
22790         (Makefile.am): Insert arg-nonnull.h into math.h.
22791         * modules/netdb (Depends-on): Add arg-nonnull.
22792         (Makefile.am): Insert arg-nonnull.h into netdb.h.
22793         * modules/search (Depends-on): Add arg-nonnull.
22794         (Makefile.am): Insert arg-nonnull.h into search.h.
22795         * modules/signal (Depends-on): Add arg-nonnull.
22796         (Makefile.am): Insert arg-nonnull.h into signal.h.
22797         * modules/spawn (Depends-on): Add arg-nonnull.
22798         (Makefile.am): Insert arg-nonnull.h into spawn.h.
22799         * modules/stdio (Depends-on): Add arg-nonnull.
22800         (Makefile.am): Insert arg-nonnull.h into stdio.h.
22801         * modules/stdlib (Depends-on): Add arg-nonnull.
22802         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
22803         * modules/string (Depends-on): Add arg-nonnull.
22804         (Makefile.am): Insert arg-nonnull.h into string.h.
22805         * modules/strings (Depends-on): Add arg-nonnull.
22806         (Makefile.am): Insert arg-nonnull.h into strings.h.
22807         * modules/sys_socket (Depends-on): Add arg-nonnull.
22808         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
22809         * modules/sys_stat (Depends-on): Add arg-nonnull.
22810         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
22811         * modules/sys_time (Depends-on): Add arg-nonnull.
22812         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
22813         * modules/sys_times (Depends-on): Add arg-nonnull.
22814         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
22815         * modules/sys_utsname (Depends-on): Add arg-nonnull.
22816         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
22817         * modules/time (Depends-on): Add arg-nonnull.
22818         (Makefile.am): Insert arg-nonnull.h into time.h.
22819         * modules/unistd (Depends-on): Add arg-nonnull.
22820         (Makefile.am): Insert arg-nonnull.h into unistd.h.
22821         * modules/wchar (Depends-on): Add arg-nonnull.
22822         (Makefile.am): Insert arg-nonnull.h into wchar.h.
22823         * modules/argv-iter (Depends-on): Add arg-nonnull.
22824         * tests/test-canonicalize.c (null_ptr): New function.
22825         (main): Use it.
22826         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
22827         (main): Use it.
22828         * tests/test-memmem.c (null_ptr): New function.
22829         (main): Use it.
22830         Reported by Jim Meyering.
22831
22832 2009-12-10  Bruno Haible  <bruno@clisp.org>
22833
22834         Use spaces for indentation, not tabs.
22835         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22836         * m4/*.m4: Untabify.
22837         * build-aux/*.h: Untabify.
22838         * tests/**/*.[hc]: Untabify.
22839         * README: New section "Indent with spaces, not TABs", based on
22840         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
22841         * NEWS: Mention the change.
22842
22843 2009-12-10  Bruno Haible  <bruno@clisp.org>
22844
22845         pty test: Fix link error.
22846         * modules/pty-tests (Makefile.am): Add the default LDADD value to
22847         test_pty_LDADD.
22848
22849 2009-12-07  Simon Josefsson  <simon@josefsson.org>
22850
22851         * modules/pty: New file.
22852         * modules/pty-tests: New file.
22853         * m4/pty.m4: New file.
22854         * tests/test-pty.c: New file.
22855         * doc/glibc-headers/pty.texi: Modified.
22856         * doc/glibc-functions/forkpty.texi: Modified.
22857         * doc/glibc-functions/openpty.texi: Modified.
22858
22859 2009-12-10  Bruno Haible  <bruno@clisp.org>
22860
22861         Avoid syntax error in C++ mode.
22862         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
22863
22864 2009-12-10  Bruno Haible  <bruno@clisp.org>
22865
22866         Use sed with option -e.
22867         * gnulib-tool (func_version, func_emit_copyright_notice,
22868         func_emit_initmacro_end, func_import, func_create_testdir): Pass
22869         option -e to sed.
22870         * modules/link-warning (Makefile.am): Likewise.
22871
22872 2009-12-10  Jim Meyering  <meyering@redhat.com>
22873
22874         mgetgroups: do not write bytes beyond end of malloc'd buffer
22875         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
22876         username, we call getgroups with a one-element-shorter buffer,
22877         but still told it the length was original, max_n_groups.
22878
22879 2009-12-09  Eric Blake  <ebb9@byu.net>
22880
22881         cloexec: relax license
22882         * modules/cloexec (Maintainer): Add myself.
22883         (License): Use LGPL, not GPL.
22884
22885         link-warning: optimize generation
22886         * modules/link-warning (Makefile.am): Reduce process usage.
22887
22888 2009-12-09  Bruno Haible  <bruno@clisp.org>
22889
22890         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
22891         workaround was added on 2009-11-17.
22892
22893 2009-12-09  Jim Meyering  <meyering@redhat.com>
22894             Bruno Haible  <bruno@clisp.org>
22895
22896         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
22897         * modules/link-warning (Makefile.am): Make the comment-removing sed
22898         command more robust in the face of bootstrap-prepended comment lines.
22899
22900 2009-12-09  Bruno Haible  <bruno@clisp.org>
22901
22902         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
22903         most one group.
22904
22905 2009-12-09  Simon Josefsson <simon@josefsson.org>
22906             Bruno Haible  <bruno@clisp.org>
22907
22908         * build-aux/link-warning.h: Add copyright notice.
22909         * modules/link-warning (Makefile.am): Generate link-warning.h from
22910         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
22911         * NEWS: Mention change in link-warning module.
22912         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
22913         * modules/dirent (Makefile.am): Add dependency to dirent.h.
22914         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
22915         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
22916         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
22917         * modules/math (Makefile.am): Add dependency to math.h.
22918         * modules/search (Makefile.am): Add dependency to search.h.
22919         * modules/signal (Makefile.am): Add dependency to signal.h.
22920         * modules/spawn (Makefile.am): Add dependency to spawn.h.
22921         * modules/stdio (Makefile.am): Add dependency to stdio.h.
22922         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
22923         * modules/string (Makefile.am): Add dependency to string.h.
22924         * modules/strings (Makefile.am): Add dependency to strings.h.
22925         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
22926         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
22927         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
22928         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
22929         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
22930         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
22931         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
22932         * modules/unistd (Makefile.am): Add dependency to unistd.h.
22933         * modules/wchar (Makefile.am): Add dependency to wchar.h.
22934
22935 2009-12-09  Bruno Haible  <bruno@clisp.org>
22936
22937         fchdir: Optimize away rpl_fstat when possible.
22938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
22939         REPLACE_OPEN_DIRECTORY.
22940         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
22941
22942 2009-12-09  Bruno Haible  <bruno@clisp.org>
22943
22944         * lib/fchdir.c: Update comment.
22945
22946 2009-12-09  Bruno Haible  <bruno@clisp.org>
22947
22948         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
22949
22950 2009-12-08  Eric Blake  <ebb9@byu.net>
22951
22952         fchdir: avoid memory leak on re-registration.
22953         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
22954
22955 2009-12-08  Jim Meyering  <meyering@redhat.com>
22956
22957         init.sh: avoid Solaris 10 /bin/sh portability problem
22958         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
22959         sourced script:
22960           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
22961           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
22962           bar
22963         tests/init.sh relied on that, accepting a --set-path=DIR argument,
22964         and two tests used that idiom.
22965         * tests/init.sh: Update suggested usage comments.
22966         (path_prepend_): New function, to be used in place
22967         of the --src-path=DIR option.
22968         (setup_): Move PATH-prepending code into path_prepend_.
22969         * tests/test-pread.sh: Adapt to new usage.
22970         * tests/test-xalloc-die.sh: Likewise.
22971
22972 2009-12-08  Simon Josefsson  <simon@josefsson.org>
22973
22974         * doc/gnulib.texi (Glibc pty.h): Add.
22975         * doc/glibc-functions/forkpty.texi: Add.
22976         * doc/glibc-functions/openpty.texi: Add.
22977         Suggested by Bruno Haible.
22978
22979 2009-12-08  Eric Blake  <ebb9@byu.net>
22980
22981         fchdir: fix logic bugs
22982         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
22983         * tests/test-fchdir.c (main): Enhance test.
22984         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
22985         is in use.
22986
22987         dup2: fix logic bugs
22988         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
22989         REPLACE_DUP2 to decide when rpl_dup2 is needed.
22990         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
22991         exists.
22992         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
22993
22994 2009-12-07  Eric Blake  <ebb9@byu.net>
22995
22996         unlink: fix m4 detection
22997         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
22998
22999         unistd-safer: add unit test
23000         * modules/unistd-safer-tests: New file.
23001         * tests/test-dup-safer.c: Likewise.
23002         * tests/test-cloexec.c (setmode): Avoid compiler warning.
23003         * tests/test-dup2.c (setmode): Likewise.
23004         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
23005
23006         cloexec: preserve text vs. binary across dup_cloexec
23007         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
23008         mode.
23009         * modules/dup2-tests (Depends-on): Add binary-io.
23010         * modules/cloexec-tests (Depends-on): Likewise.
23011         * tests/test-dup2.c (setmode, is_mode): New helpers.
23012         (main): Add tests that translation mode is preserved.
23013         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
23014         Reported by Bruno Haible.
23015
23016         mgetgroups: reduce duplicate listings
23017         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
23018         resulting array.
23019         * tests/test-chown.h (test_chown): Simplify client.
23020         * tests/test-lchown.h (test_lchown): Likewise.
23021
23022 2009-12-06  Bruno Haible  <bruno@clisp.org>
23023
23024         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
23025         value.
23026
23027 2009-12-06  Bruno Haible  <bruno@clisp.org>
23028
23029         * lib/progname.c: Include stdio.h, stdlib.h.
23030         (set_program_name): Reject a NULL argument.
23031
23032 2009-12-05  Eric Blake  <ebb9@byu.net>
23033
23034         pipe2-safer: new module
23035         * modules/pipe2-safer: New file.
23036         * lib/unistd-safer.h (pipe2_safer): New prototype.
23037         * lib/unistd--.h (pipe2): New wrapper.
23038         * lib/pipe-safer.c (pipe2_safer): New function.
23039         * modules/pipe (Depends-on): Add pipe2-safer.
23040         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
23041
23042         stdlib-safer: preserve cloexec flag for mkostemp[s]
23043         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
23044         fd_safer_flag.
23045
23046         unistd-safer: allow preservation of cloexec status via flag
23047         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
23048         prototypes.
23049         * lib/dup-safer.c (dup_safer_flag): New function.
23050         * lib/fd-safer.c (fd_safer_flag): Likewise.
23051         * modules/cloexec (configure.ac): Set witness.
23052
23053         test-dup2: enhance test
23054         * modules/dup2-tests (Depends-on): Add cloexec.
23055         * tests/test-dup2.c (main): Enhance test.
23056
23057         cloexec: add dup_cloexec
23058         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
23059         header and comments.
23060         * lib/cloexec.c (set_cloexec_flag): Add comments.
23061         (dup_cloexec): New function, with mingw implementation borrowed
23062         from...
23063         * lib/w32spawn.h (dup_noinherit): ...here.
23064         * modules/execute (Depends-on): Add cloexec.
23065         * modules/pipe (Depends-on): Likewise.
23066         * modules/cloexec (Depends-on): Add dup2.
23067         * modules/cloexec-tests (Files): New file.
23068         * tests/test-cloexec.c: Likewise.
23069
23070         test-xalloc-die: fix test for mingw
23071         * modules/xalloc-die-tests (Files): Add tests/init.sh.
23072         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
23073         directory and .exe suffix off argv[0] output.
23074
23075         test-fseeko: fix test for mingw
23076         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
23077         than undefining fseek, so test will pass on mingw.
23078
23079 2009-12-05  Bruno Haible  <bruno@clisp.org>
23080
23081         * lib/progname.h (set_program_name): Clarify specification.
23082         * lib/progname.c (set_program_name): Likewise.
23083         Reported by Jim Meyering.
23084
23085 2009-12-05  Jim Meyering  <meyering@redhat.com>
23086
23087         maint.mk: backslash-escape parens in default regexp
23088         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
23089         backslash-escape the literal parentheses.
23090
23091         maint.mk: news-date-check: use grep -E
23092         * top/maint.mk (today): Define a Make variable, not a...
23093         (news-date-check): ...shell variable.
23094         (news-date-regexp): Use the Make variable.
23095         Use grep's -E option.  Change the failing diagnostic to mention
23096         the variable, $(news-date-regexp).
23097
23098 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
23099
23100         maintainer-makefile: allow customization of NEWS entry format
23101         * top/maint.mk (news-date-regexp): New overridable variable.
23102         (news-date-check): Use it.
23103
23104 2009-12-04  Eric Blake  <ebb9@byu.net>
23105
23106         mgetgroups: add xgetgroups, and avoid ENOSYS failures
23107         * lib/mgetgroups.h (xgetgroups): New prototype.
23108         * lib/mgetgroups.c (xgetgroups): New wrapper.
23109         (mgetgroups): Handle ENOSYS.
23110         * modules/mgetgroups (Depends-on): Add realloc.
23111         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
23112
23113         mgetgroups: avoid argument promotion issues with -1
23114         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
23115         for invalid gid_t.
23116         * tests/test-chown.h (getegid, test_chown): Likewise.
23117         * tests/test-lchown.h (getegid, test_lchown): Likewise.
23118
23119 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
23120
23121         exclude: Fix header file problems.
23122         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
23123
23124 2009-12-01  Jim Meyering  <meyering@redhat.com>
23125
23126         fts: fts_open: do not let an empty string cause immediate failure
23127         This is required in support of GNU rm, for which the command
23128         "rm A '' B" must process and remove both A and B, in spite of
23129         the empty string argument.
23130         * lib/fts.c (fts_open): Do not let the presence of an empty string
23131         cause fts_open to fail immediately.  Most fts-using tools must be
23132         able to process all arguments, in order, and can be expected to
23133         diagnose such arguments themselves.
23134
23135 2009-11-30  Eric Blake  <ebb9@byu.net>
23136
23137         utimens: fix compilation error
23138         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
23139         Declare variable at right scope.
23140
23141 2009-11-29  Jim Meyering  <meyering@redhat.com>
23142
23143         bootstrap: handle perl-5.11's changed --version output
23144         * build-aux/bootstrap (get_version): Handle perl separately,
23145         since perl-5.11's --version output is different.
23146
23147 2009-11-28  Jim Meyering  <meyering@redhat.com>
23148
23149         userspec: depend on the inttostr module, too
23150         * modules/userspec (Depends-on): Add inttostr.
23151
23152         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
23153         * lib/userspec.c (parse_with_separator): Do not accept a user ID
23154         number of MAXUID when it evaluates to (uid_t) -1.
23155         Likewise for group ID.  Reported by Matt McCutchen in
23156         <http://savannah.gnu.org/bugs/?28113>
23157
23158         userspec: reformat to use spaces, not TABs
23159         * lib/userspec.c: Expand TABs to spaces.
23160         Add Emacs' "indent-tabs-mode: nil" hint.
23161
23162 2009-11-27  Eric Blake  <ebb9@byu.net>
23163
23164         getopt-gnu: flush out another BSD bug
23165         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
23166         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
23167         flush out BSD bug.
23168         * tests/test-getopt.h (test_getopt): End lists with NULL.
23169         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23170         (test_getopt_long_posix): Enhance test.
23171         * modules/getopt-posix-tests (Depends-on): Add stdbool.
23172         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
23173         getopt-gnu.
23174         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23175         Likewise.
23176
23177 2009-11-27  Simon Josefsson  <simon@josefsson.org>
23178
23179         * modules/idpriv-droptemp-tests (Notice): Fix text.
23180
23181 2009-11-27  Jim Meyering  <meyering@redhat.com>
23182
23183         test-xalloc-die: avoid spurious failure due to libtool argv difference
23184         In a libtool-enabled project, this test would fail due to a difference
23185         in the emitted program name, e.g.,
23186         -test-xalloc-die: memory exhausted
23187         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
23188         Use program to avoid that.
23189         * modules/xalloc-die-tests (Depends-on): Add progname.
23190         * tests/test-xalloc-die.c: Include progname.h".
23191         (program_name): Remove decl.
23192         (main): Call set_program_name.
23193         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
23194
23195 2009-11-26  Richard Jones  <rjones@redhat.com>
23196
23197         w32sock: leave win32 error in place.
23198         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
23199
23200 2009-11-26  Eric Blake  <ebb9@byu.net>
23201
23202         init.sh: suggest to use skip_ and fail_ functions in comments
23203         * tests/init.sh: Add a sentence.
23204
23205 2009-11-25  Bruno Haible  <bruno@clisp.org>
23206
23207         init.sh: add documentation in comments
23208         * tests/init.sh: Add some developer and user documentation.
23209
23210 2009-11-26  Jim Meyering  <meyering@redhat.com>
23211
23212         init.sh: accommodate even those who specify bogus srcdir manually
23213         * tests/init.sh: Normally, srcdir is guaranteed by automake and
23214         configure-time tests to be sanitized, so that there is no need to
23215         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
23216         (with no double quotes) suffices.  However, since tests may be
23217         invoked manually, and since you may explicitly set srcdir to the
23218         name of a directory containing spaces, do quote its uses here.
23219         * tests/test-pread.sh: Likewise.
23220         Suggested by Bruno Haible.
23221
23222         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
23223         * tests/test-pread.sh: Write no data into the pipe, because
23224         test-pread actually reads none.  This avoids a diagnostic,
23225         "bash: echo: write error: Broken pipe", that arises in the unusual
23226         event something is ignoring SIGPIPE, and might be interpreted
23227         as some sort of failure.  Reported by Bruno Haible.
23228
23229 2009-11-25  Jim Meyering  <meyering@redhat.com>
23230
23231         test-pread: cover failure with ESPIPE and EINVAL
23232         * tests/test-pread.c (main): Test for failure, too.
23233         * tests/test-pread.sh: Invoke with stdin on a pipe.
23234         Suggested by Eric Blake.
23235
23236         pread: improvement and fix
23237         * modules/pread (Depends-on): Depend on lseek, for portability to
23238         e.g., mingw.  Suggested by Eric Blake.
23239         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
23240
23241         unistd.in.h: correct declaration of pread
23242         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
23243         Reported by Richard W.M. Jones.
23244
23245         test-pread.sh: distribute the test script
23246         * modules/pread-tests (Files): Include test-pread.sh.
23247
23248         test-pread.sh: clean up
23249         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
23250         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
23251         That is unnecessary, since it's always ".".
23252         Suggestion from Eric Blake.
23253
23254         test-pread.sh: make executable
23255         * tests/test-pread.sh: Set executable bit.
23256         Reported by Eric Blake.
23257
23258         correct typo in test-pread.sh
23259         * tests/test-pread.sh: Add #! line.
23260
23261         test pread
23262         * tests/test-pread.c: New file.
23263         * tests/test-pread.sh: Likewise.
23264         * modules/pread-tests: Likewise.
23265
23266         pread: new module
23267         * modules/pread: New file.
23268         * lib/unistd.in.h (pread): Define/declare.
23269         * lib/pread.c (pread): New file.
23270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
23271         * modules/unistd (Makefile.am): Substitute witnesses.
23272         * doc/posix-functions/pread.texi (pread): Update.
23273         * MODULES.html.sh: Add pread.
23274
23275 2009-11-25  Jim Meyering  <meyering@redhat.com>
23276
23277         tests/init.sh: new file to be used via most *.sh tests
23278         * tests/init.sh: New file.
23279
23280 2009-11-25  Eric Blake  <ebb9@byu.net>
23281
23282         utimens: work around older Linux failure with symlinks
23283         * lib/utimens.c (lutimensat_works_really): New variable.
23284         (fdutimens, lutimens): Use it to manage kernels that support
23285         nanosecond times on files, but not on symlinks.
23286         Reported by OndÅ™ej Vašík.
23287
23288         utimes: fix configure grammar
23289         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
23290
23291 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
23292
23293         regex: Fix fastmap for multibyte character ranges.
23294         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
23295         characters when a multibyte character range is included.
23296
23297 2009-11-22  Andy Wingo  <wingo@pobox.com>
23298
23299         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
23300         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
23301
23302 2009-11-24  Bruno Haible  <bruno@clisp.org>
23303
23304         doc: Most *_l functions exist in MacOS X 10.5.
23305         * doc/posix-functions/duplocale.texi: Update platforms list.
23306         * doc/posix-functions/freelocale.texi: Likewise.
23307         * doc/posix-functions/newlocale.texi: Likewise.
23308         * doc/posix-functions/uselocale.texi: Likewise.
23309         * doc/posix-functions/isalnum_l.texi: Likewise.
23310         * doc/posix-functions/isalpha_l.texi: Likewise.
23311         * doc/posix-functions/isblank_l.texi: Likewise.
23312         * doc/posix-functions/iscntrl_l.texi: Likewise.
23313         * doc/posix-functions/isdigit_l.texi: Likewise.
23314         * doc/posix-functions/isgraph_l.texi: Likewise.
23315         * doc/posix-functions/islower_l.texi: Likewise.
23316         * doc/posix-functions/isprint_l.texi: Likewise.
23317         * doc/posix-functions/ispunct_l.texi: Likewise.
23318         * doc/posix-functions/isspace_l.texi: Likewise.
23319         * doc/posix-functions/isupper_l.texi: Likewise.
23320         * doc/posix-functions/iswalnum_l.texi: Likewise.
23321         * doc/posix-functions/iswalpha_l.texi: Likewise.
23322         * doc/posix-functions/iswblank_l.texi: Likewise.
23323         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23324         * doc/posix-functions/iswctype_l.texi: Likewise.
23325         * doc/posix-functions/iswdigit_l.texi: Likewise.
23326         * doc/posix-functions/iswgraph_l.texi: Likewise.
23327         * doc/posix-functions/iswlower_l.texi: Likewise.
23328         * doc/posix-functions/iswprint_l.texi: Likewise.
23329         * doc/posix-functions/iswpunct_l.texi: Likewise.
23330         * doc/posix-functions/iswspace_l.texi: Likewise.
23331         * doc/posix-functions/iswupper_l.texi: Likewise.
23332         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23333         * doc/posix-functions/isxdigit_l.texi: Likewise.
23334         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
23335         * doc/posix-functions/strcasecmp_l.texi: Likewise.
23336         * doc/posix-functions/strcoll_l.texi: Likewise.
23337         * doc/posix-functions/strfmon_l.texi: Likewise.
23338         * doc/posix-functions/strftime_l.texi: Likewise.
23339         * doc/posix-functions/strncasecmp_l.texi: Likewise.
23340         * doc/posix-functions/strxfrm_l.texi: Likewise.
23341         * doc/posix-functions/tolower_l.texi: Likewise.
23342         * doc/posix-functions/toupper_l.texi: Likewise.
23343         * doc/posix-functions/towctrans_l.texi: Likewise.
23344         * doc/posix-functions/towlower_l.texi: Likewise.
23345         * doc/posix-functions/towupper_l.texi: Likewise.
23346         * doc/posix-functions/wcscoll_l.texi: Likewise.
23347         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23348         * doc/posix-functions/wctrans_l.texi: Likewise.
23349         * doc/posix-functions/wctype_l.texi: Likewise.
23350         * doc/glibc-functions/strptime_l.texi: Likewise.
23351         * doc/glibc-functions/strtod_l.texi: Likewise.
23352         * doc/glibc-functions/strtof_l.texi: Likewise.
23353         * doc/glibc-functions/strtol_l.texi: Likewise.
23354         * doc/glibc-functions/strtold_l.texi: Likewise.
23355         * doc/glibc-functions/strtoll_l.texi: Likewise.
23356         * doc/glibc-functions/strtoul_l.texi: Likewise.
23357         * doc/glibc-functions/strtoull_l.texi: Likewise.
23358         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23359         * doc/glibc-functions/wcstod_l.texi: Likewise.
23360         * doc/glibc-functions/wcstof_l.texi: Likewise.
23361         * doc/glibc-functions/wcstol_l.texi: Likewise.
23362         * doc/glibc-functions/wcstold_l.texi: Likewise.
23363         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23364         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23365         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23366
23367 2009-11-24  Bruno Haible  <bruno@clisp.org>
23368
23369         duplocale: Fix logic bug.
23370         * lib/duplocale.c: Don't include <langinfo.h>.
23371         (_NL_LOCALE_NAME): Remove macro.
23372         (rpl_duplocale): Use setlocale instead of nl_langinfo.
23373         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
23374
23375 2009-11-23  Jim Meyering  <meyering@redhat.com>
23376
23377         test-update-copyright: don't hard-code /usr/bin/perl
23378         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
23379         perl to print the current year.  Gilles Espinasse reported that
23380         the replaced use of perl was hard-coded as /usr/bin/perl.
23381
23382 2009-11-23  Bruno Haible  <bruno@clisp.org>
23383
23384         duplocale: Add support for glibc 2.3.x.
23385         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
23386
23387 2009-11-22  Bruno Haible  <bruno@clisp.org>
23388
23389         vasnprintf: Tiny optimization.
23390         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
23391         MacOS X.
23392
23393 2009-11-22  Bruno Haible  <bruno@clisp.org>
23394
23395         Tests for module 'duplocale'.
23396         * modules/duplocale-tests: New file.
23397         * tests/test-duplocale.c: New file.
23398
23399         New module 'duplocale'.
23400         * m4/duplocale.m4: New file.
23401         * lib/locale.in.h (duplocale): New declaration.
23402         * lib/duplocale.c: New file.
23403         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
23404         gl_LOCALE_H_DEFAULTS): New macros.
23405         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
23406         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
23407         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
23408         REPLACE_DUPLOCALE.
23409         * modules/duplocale: New file.
23410         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
23411
23412 2009-11-22  Bruno Haible  <bruno@clisp.org>
23413
23414         * modules/locale-tests (configure.ac): Test for newlocale function.
23415         * tests/test-locale.c: When the system has extended locale functions,
23416         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
23417
23418         locale: Make locale_t available when possible.
23419         * lib/locale.in.h: Include <xlocale.h> when it exists.
23420         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
23421         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
23422         * modules/locale (Depends-on): Add extensions.
23423         (Makefile.am): Also substitute HAVE_XLOCALE_H.
23424         * doc/posix-headers/locale.texi: Document the problem with locale_t.
23425
23426 2009-11-22  Bruno Haible  <bruno@clisp.org>
23427
23428         Add comments.
23429         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
23430         invocation.
23431         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23432         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23433         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23434
23435 2009-11-22  Bruno Haible  <bruno@clisp.org>
23436
23437         error: account for the possibility of freopen (stdout).
23438         * lib/error.c: Include <unistd.h>.
23439         (flush_stdout): New function, extracted from error and error_at_line.
23440         Determine stdout's fd dynamically.
23441         (error, error_at_line): Invoke flush_stdout.
23442         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
23443         * modules/error (Depends-on): Add unistd.
23444
23445 2009-11-22  Bruno Haible  <bruno@clisp.org>
23446
23447         diffseq: Add comment.
23448         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
23449
23450 2009-11-22  Jim Meyering  <meyering@redhat.com>
23451
23452         c-stack: avoid defining an unused static function
23453         * lib/c-stack.c (find_stack_direction): Do not define this function
23454         when it will not be used.
23455
23456         diffseq: avoid spurious gcc warnings
23457         * lib/diffseq.h (IF_LINT2): Define.
23458         (compareseq): Use it to initialize two members of "part".
23459         This avoids two used-uninitialized warnings.
23460
23461 2009-11-21  Jim Meyering  <meyering@redhat.com>
23462
23463         c-stack: avoid "ignoring return value of `write'" warning
23464         * lib/c-stack.c: Include "ignore-value.h".
23465         (die): Explicitly ignore each write return value.
23466         * modules/c-stack (Depends-on): Add ignore-value.
23467
23468 2009-11-21  Bruno Haible  <bruno@clisp.org>
23469
23470         diffseq: reduce scope of variable 'best'.
23471         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
23472         variable, earlier used for two different purposes.
23473
23474 2009-11-21  Jim Meyering  <meyering@redhat.com>
23475
23476         diffseq: remove useless assignment to "best"
23477         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
23478         assignment.  At that point "best" is already guaranteed to be zero.
23479
23480 2009-11-20  Eric Blake  <ebb9@byu.net>
23481
23482         build: mention ftp redirector in release announcements
23483         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
23484         values that used to come from cfg.mk; mention FTP redirect URL.
23485         * build-aux/announce-gen: Mention the mirror list.
23486         Suggested by Karl Berry.
23487
23488         nanosleep: improve port to mingw
23489         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
23490         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
23491         LIB_NANOSLEEP, but only when needed.
23492         * modules/select (Link): Document LIBSOCKET.
23493         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
23494         enough.
23495
23496         nanosleep: work around cygwin bug
23497         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
23498         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
23499         bug.
23500         (getnow): Delete, not needed.
23501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
23502         LIB_CLOCK_GETTIME.
23503         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
23504         clock-time, gettime.
23505         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
23506         bug.
23507         * modules/nanosleep-tests: New test.
23508         * tests/test-nanosleep.c: New file.
23509
23510         sleep: work around cygwin bug
23511         * lib/sleep.c (rpl_sleep): Work around the bug.
23512         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
23513         (gl_PREREQ_SLEEP): Delete unused macro.
23514         * modules/sleep (Depends-on): Add verify.
23515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23516         * modules/unistd (Makefile.am): Substitute witness.
23517         * lib/unistd.in.h (sleep): Update prototype.
23518         * doc/posix-functions/sleep.texi (sleep): Document the bug.
23519         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
23520         * modules/sleep-tests (Depends-on): Check for alarm.
23521
23522 2009-11-20  Jim Meyering  <meyering@redhat.com>
23523
23524         maint.mk: improve sc_prohibit_magic_number_exit
23525         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
23526         so it does not match uses like System.exit(1).
23527         Add comments showing how to correct all offenders.
23528
23529 2009-11-19  Eric Blake  <ebb9@byu.net>
23530
23531         xalloc-die-tests: add missing library
23532         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
23533
23534         test-xvasprintf: silence compiler warnings
23535         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
23536         empty string from gcc.
23537
23538 2009-11-19  Jim Meyering  <meyering@redhat.com>
23539
23540         xfreopen: new module, from coreutils
23541         * modules/xfreopen: New module.
23542         * lib/xfreopen.c: New file.
23543         * lib/xfreopen.h: New file.
23544         * MODULES.html.sh (File stream based Input/Output"): Add it.
23545
23546 2009-11-19  Eric Blake  <ebb9@byu.net>
23547
23548         manywarnings: depend on warnings
23549         * modules/manywarnings (Depends-on): Add warnings.
23550
23551         build: avoid compiler warnings
23552         * lib/select.c (rpl_select): Delete unused variable.
23553         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
23554
23555 2009-11-18  Eric Blake  <ebb9@byu.net>
23556
23557         tests: avoid false negative with --with-packager
23558         * tests/test-version-etc.sh: Discard packager information.
23559         * tests/test-argp-version-etc-1.sh: Likewise.
23560         Reported by Mike Frysinger.
23561
23562         utimens: fix regression on Solaris
23563         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
23564         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
23565         can only change fd timestamps via futimesat.  Instead, use an
23566         additional witness macro to avoid BSD bug.
23567         Reported by Jim Meyering.
23568
23569 2009-11-17  Eric Blake  <ebb9@byu.net>
23570
23571         usleep: use it to simplify tests
23572         * modules/stat-time-tests (Depends-on): Add usleep.
23573         (configure.ac): Drop usleep check.
23574         * modules/chown-tests (Depends-on, configure.ac): Likewise.
23575         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
23576         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
23577         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
23578         * modules/openat-tests (Depends-on, configure.ac): Likewise.
23579         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
23580         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
23581         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
23582         Likewise.
23583         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
23584         * tests/test-lchown.h (nap): Likewise.
23585         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
23586         * tests/test-stat-time.c (nap): Likewise.
23587         * tests/test-utimens-common.h (nap): Update comments.
23588
23589         usleep: new module
23590         * modules/usleep: New file.
23591         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23592         * lib/usleep.c (usleep): Likewise.
23593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23594         * modules/unistd (Makefile.am): Substitute witnesses.
23595         * lib/unistd.in.h (usleep): Add declaration.
23596         * doc/pastposix-functions/usleep.texi (usleep): Document this.
23597         * MODULES.html.sh (Date and time): Likewise.
23598         * modules/usleep-tests (Depends-on): New test.
23599         * tests/test-usleep.c: New file.
23600
23601         chown: work around OpenBSD bug
23602         * lib/chown.c (rpl_chown): Work around the bug.
23603         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23604         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23605         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23606         * modules/chown (Depends-on): Add stdbool.
23607         * modules/lchown (Depends-on): Likewise.
23608         * doc/posix-functions/chown.texi (chown): Document the bug.
23609         * doc/posix-functions/lchown.texi (lchown): Likewise.
23610         * tests/test-lchown.h (test_chown): Relax test.
23611
23612         mkstemp: avoid conflict with C++ keyword template
23613         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23614         * lib/mkostemp.c (mkostemp): Likewise.
23615         * lib/mkostemps.c (mkostemps): Likewise.
23616         * lib/mkstemp.c (mkstemp): Likewise.
23617         * lib/mkstemps.c (mkstemps): Likewise.
23618
23619         xalloc-die-tests: optimize
23620         * tests/test-xalloc-die.sh: Reduce number of processes.
23621
23622 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23623
23624         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23625         patch from ludo@gnu.org (Ludovic Courtès).
23626
23627 2009-11-17  Jim Meyering  <meyering@redhat.com>
23628
23629         version-etc: use proper license string
23630         * modules/version-etc (License): Use LGPL, not LGPLv3+.
23631         * modules/version-etc-fsf: Likewise.
23632
23633 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23634
23635         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
23636         printed to stdout.  Deal with EOL differences.
23637
23638 2009-11-17  Eric Blake  <ebb9@byu.net>
23639
23640         unsetenv: work around Solaris bug
23641         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
23642         * lib/unsetenv.c (rpl_unsetenv): Work around it.
23643         Reported by Jim Meyering.
23644
23645         vasnprintf: avoid compiler warnings
23646         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
23647         variables.
23648         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
23649
23650 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23651
23652         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
23653         settings since xalloc-die is no longer the self test,
23654         xalloc-die.sh is.
23655
23656 2009-11-17  Jim Meyering  <meyering@redhat.com>
23657
23658         test-xalloc-die.sh: make the code agree with the commit log
23659         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
23660         at the end, just in case you happen to have a test-xalloc-die
23661         program in some other PATH directory.
23662
23663         test-xalloc-die.sh: fix a portability bug
23664         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
23665         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
23666         Otherwise, argv[0] (as often seen in diagnostics) would be too
23667         system-dependent, sometimes with, and sometimes without the leading "./".
23668
23669         version-etc-fsf: relax license to LGPLv3+
23670         * modules/version-etc-fsf (License): Relax license.
23671
23672 2009-11-16  Eric Blake  <ebb9@byu.net>
23673
23674         xalloc-die-tests: avoid printing null pointer
23675         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
23676         shell script.
23677         * tests/test-xalloc-die.c (program_name): Declare.
23678         * tests/test-xalloc-die.sh (tmpfiles): New file.
23679
23680         setenv, unsetenv: work around various bugs
23681         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
23682         (setenv) [HAVE_SETENV]: Work around bugs.
23683         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
23684         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
23685         for bugs.
23686         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
23687         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
23688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
23689         * modules/stdlib (Makefile.am): Update substitutions.
23690         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
23691         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
23692         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23693         * modules/setenv-tests: New test.
23694         * modules/unsetenv-tests: Likewise.
23695         * tests/test-setenv.c: New file.
23696         * tests/test-unsetenv.c: Likewise.
23697
23698 2009-11-16  Jim Meyering  <meyering@redhat.com>
23699
23700         version-etc: relax license to LGPLv3+
23701         * modules/version-etc (License): Relax license.
23702
23703         better AC_REQUIRE expanded-before-required-warning avoidance
23704         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
23705         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
23706         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
23707         which is no longer needed.
23708
23709 2009-11-16  Eric Blake  <ebb9@byu.net>
23710
23711         test-freading: clean up temporary file
23712         * tests/test-freading.c (main): Remove file on success, and use
23713         ASSERT more liberally.
23714         Reported by Jim Meyering.
23715
23716 2009-11-16  Jim Meyering  <meyering@redhat.com>
23717
23718         avoid new AC_REQUIRE expanded-before-required warnings
23719         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
23720         merely using it.
23721         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
23722         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
23723
23724 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23725
23726         * tests/test-xalloc-die.c: New file.
23727         * modules/xalloc-die-tests: New file.
23728         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
23729         XFAIL_TESTS so it can be appended by modules.
23730
23731 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23732
23733         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
23734         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
23735
23736 2009-11-14  Eric Blake  <ebb9@byu.net>
23737
23738         fnmatch: avoid compiler warning
23739         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
23740         to silence compiler warning about mismatch signedness in ?:.
23741         Reported by Robert Millan.
23742
23743         intprops: add double-inclusion guard
23744         * lib/intprops.h: Allow idempotent includes.
23745         Suggested by Bruce Korb.
23746
23747         openat: detect Solaris fchownat bug
23748         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
23749         penalizing glibc chownat when only lchownat is broken.
23750         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
23751         trailing slash bugs.
23752         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
23753         * modules/openat-tests (Files): Include more files.
23754         (Depends-on): Add mgetgroups, sleep, stat-time.
23755         (configure.ac): Add additional checks.
23756         (Makefile.am): Build new test.
23757         * tests/test-fchownat.c: New file.
23758
23759         lchown: detect Solaris and FreeBSD bug
23760         * lib/lchown.c (rpl_lchown): Work around bug.
23761         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
23762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23763         * modules/unistd (Makefile.am): Populate it.
23764         * lib/unistd.in.h (lchown): Update declaration.
23765         * doc/posix-functions/lchown.texi (lchown): Document the bug.
23766         * modules/lchown-tests: New file.
23767         * tests/test-lchown.h (test_lchown): Likewise.
23768         * tests/test-lchown.c (main): Likewise.
23769
23770         chown: detect Solaris and FreeBSD bug
23771         * lib/chown.c (rpl_chown): Work around bug.
23772         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
23773         (gl_PREREQ_CHOWN): Delete.
23774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23775         * modules/unistd (Makefile.am): Populate it.
23776         * lib/unistd.in.h (chown): Update declaration.
23777         * lib/lchown.c (chown): Update client.
23778         * modules/lchown (Depends-on): Add lstat.
23779         * doc/posix-functions/chown.texi (chown): Document the bug.
23780         * doc/posix-functions/getgroups.texi (getgroups): Document
23781         getgroups pitfall.
23782         * modules/chown-tests: New file.
23783         * tests/test-chown.h (test_chown): Likewise.
23784         * tests/test-chown.c (main): Likewise.
23785
23786 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
23787
23788         gnulib-tool: correctly detect absence of m4 directories
23789         * gnulib-tool: Avoid extra newline on data passed to wc -l.
23790
23791 2009-11-14  Jim Meyering  <meyering@redhat.com>
23792
23793         maint.mk: Prohibit inclusion of "xalloc.h" without use.
23794         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23795
23796 2009-11-14  John W. Eaton  <jwe@gnu.org>
23797
23798         strftime.h: wrap funtion declaration in extern "C" block
23799         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
23800
23801 2009-11-13  Eric Blake  <ebb9@byu.net>
23802
23803         getgroups: avoid compiler warning
23804         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
23805
23806         getgroups: work around FreeBSD bug
23807         * lib/getgroups.c (rpl_getgroups): Work around the bug.
23808         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
23809         * doc/posix-functions/getgroups.texi (getgroups): Document it.
23810         * tests/test-getgroups.c (main): Fix buffer overrun.
23811
23812         getgroups: avoid compilation failure
23813         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
23814         * modules/getgroups (Depends-on): Add stdint.
23815
23816 2009-11-13  Jim Meyering  <meyering@redhat.com>
23817
23818         test-getgroups: avoid compilation failure
23819         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
23820
23821 2009-11-13  Eric Blake  <ebb9@byu.net>
23822
23823         mgetgroups: new module, taken from coreutils
23824         * modules/mgetgroups: New file.
23825         * lib/mgetgroups.h: Likewise.
23826         * lib/mgetgroups.c (mgetgroups): Likewise.
23827         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
23828         * MODULES.html.sh (Users and groups): Mention it.
23829
23830         getgroups: don't expose GETGROUPS_T to user
23831         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23832         an element at a time if GETGROUPS_T is wrong size.
23833         * lib/getugroups.h (getugroups): Change signature.
23834         * lib/unistd.in.h (getgroups): Likewise.
23835         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
23836         signature needs fixing.
23837         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
23838         AC_TYPE_GETGROUPS.
23839         * modules/group-member (Depends-on): Add getgroups.
23840         * lib/group-member.c (group_info, get_group_info): Use gid_t.
23841         (group_member): Rely on getgroups replacement.
23842         * lib/getugroups.c (getugroups): Use gid_t.
23843         * tests/test-getgroups.c (main): Likewise.
23844         * NEWS: Mention the signature change.
23845         * doc/posix-functions/getgroups.texi (getgroups): Mention the
23846         problem with signature.
23847         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
23848         GETGROUPS_T is still useful for setgroups.
23849
23850         getgroups, getugroups: provide stubs for mingw
23851         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
23852         * lib/getugroups.c (getugroups): Likewise.
23853         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
23854         function.  Modernize replacement scheme.
23855         (gl_PREREQ_GETGROUPS): Delete.
23856         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
23857         * modules/getgroups (configure.ac): Declare witness.
23858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23859         * modules/unistd (Depends-on): Substitute witness.
23860         * lib/unistd.in.h (getgroups): Declare replacement.
23861
23862         getgroups: avoid calling exit
23863         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
23864         drop xalloc.
23865         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
23866         dependencies.
23867         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
23868         exiting, in the rare case of malloc failure.
23869
23870         getgroups: fix logic error
23871         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
23872         has more than 20 groups.
23873         * modules/getgroups-tests: New test.
23874         * tests/test-getgroups.c: New file.
23875
23876 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23877
23878         * tests/test-base64.c: Improve.
23879
23880 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23881
23882         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
23883         Blake <ebb9@byu.net>.
23884
23885 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23886
23887         * tests/test-xvasprintf.c: Add %s%s related checks.
23888
23889 2009-11-12  Eric Blake  <ebb9@byu.net>
23890
23891         version-etc: match standards.texi style
23892         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
23893         and use <> only for URLs.
23894
23895 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
23896
23897         fts: do not fail on a submount during traversal
23898         * lib/fts.c (fts_build): Read the stat info again after opening
23899         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
23900         Original report at http://bugzilla.redhat.com/501848.
23901
23902 2009-11-12  Jim Meyering  <meyering@redhat.com>
23903
23904         bootstrap: sync from coreutils
23905         * build-aux/bootstrap (bootstrap_epilogue): New function.
23906         Use git_modules_config in one more place.  This make bootstrap's
23907         --gnulib-srcdir option more useful for testing.
23908
23909         bootstrap: generalize autoheader check
23910         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
23911         AC_CONFIG_HEADERS.
23912
23913 2009-11-11  Eric Blake  <ebb9@byu.net>
23914
23915         mkfifoat: use new modules for Solaris and BSD bugs
23916         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
23917         * lib/mkfifoat.c (mknodat): Split...
23918         * lib/mknodat.c (mknodat): ...into new file.
23919         * modules/mkfifoat (Files): Ship new file.
23920         (Depends-on): Add mkfifo, mknod.
23921         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
23922         (Depends-on): Add symlink.
23923         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
23924         redundant with test_mkfifo.h.
23925         (do_mkfifoat, do_mknodat): New helpers.
23926
23927         mknod: new module
23928         * modules/mknod: New file.
23929         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
23930         * lib/mknod.c (mknod): Likewise.
23931         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23932         defaults.
23933         * modules/sys_stat (Makefile.am): Substitute them.
23934         * lib/sys_stat.in.h (mknod): Declare replacement.
23935         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23936         Document it.
23937         * doc/posix-functions/mknod.texi (mknod): Likewise.
23938         * modules/mknod-tests: New test.
23939         * tests/test-mknod.c: Likewise.
23940
23941         mkfifo: new module
23942         * modules/mkfifo: New file.
23943         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23944         * lib/mkfifo.c (mkfifo): Likewise.
23945         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23946         defaults.
23947         * modules/sys_stat (Makefile.am): Substitute them.
23948         * lib/sys_stat.in.h (mkfifo): Declare replacement.
23949         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23950         Document it.
23951         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
23952         * modules/mkfifo-tests: New test.
23953         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
23954         from test-mkfifoat.c.
23955         * tests/test-mkfifo.c: New file.
23956
23957         readlink: detect FreeBSD bug
23958         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
23959         slash on symlink.
23960         * doc/posix-functions/readlink.texi (readlink): Document the bug.
23961         * tests/test-readlink.h (test_readlink): Enhance test.
23962
23963         symlink: detect FreeBSD bug
23964         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
23965         slash on symlink.
23966         * doc/posix-functions/symlink.texi (symlink): Document the bug.
23967         * tests/test-symlink.h (test_symlink): Enhance test.
23968
23969 2009-11-10  Eric Blake  <ebb9@byu.net>
23970
23971         link: detect FreeBSD bug
23972         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
23973         symlink.
23974         * doc/posix-functions/link.texi (link): Document the bug.
23975         * tests/test-link.h (test_link): Enhance test.
23976         * tests/test-linkat.c (main): Update caller.
23977
23978         unlink, remove: detect FreeBSD bug
23979         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
23980         slash on symlink.
23981         * doc/posix-functions/unlink.texi (unlink): Document the bug.
23982         * doc/posix-functions/remove.texi (remove): Likewise.
23983         * tests/test-unlink.h (test_unlink): Enhance test.
23984         * tests/test-remove.c (main): Likewise.
23985
23986 2009-11-09  Eric Blake  <ebb9@byu.net>
23987
23988         rename: detect FreeBSD bug
23989         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
23990         slash on symlink.
23991         * modules/renameat-tests (Depends-on): Add filenamecat.
23992         * tests/test-rename.h (test_rename): Allow one more errno.
23993         * tests/test-renameat.c (main): Likewise.
23994         * doc/posix-functions/rename.texi (rename): Document the bug.
23995
23996         open: detect FreeBSD bug
23997         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
23998         symlink.
23999         * doc/posix-functions/open.texi (open): Document the bug.
24000         * doc/posix-functions/utimes.texi (utimes): Likewise.
24001         * tests/test-open.h (test_open): Add parameters, and test symlink
24002         handling.
24003         * tests/test-open.c (main): Adjust caller.
24004         * tests/test-fcntl-safer.c (main): Likewise.
24005         * modules/open-tests (Depends-on): Add stdbool, symlink.
24006         * modules/fcntl-safer-tests (Depends-on): Likewise.
24007         * tests/test-openat.c (main): Add test-open tests.
24008
24009         stat: detect FreeBSD bug
24010         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
24011         symlink.
24012         * doc/posix-functions/stat.texi (stat): Document the bug.
24013         * tests/test-stat.h (test_stat_func): Add argument.
24014         * tests/test-stat.c (main): Adjust caller.
24015         * tests/test-fstatat.c (main): Likewise.
24016         * modules/stat-tests (Depends-on): Add stdbool, symlink.
24017         Reported by Jim Meyering.
24018
24019 2009-11-09  James Youngman  <jay@gnu.org>
24020
24021         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
24022         * lib/strftime.c: Correct placement of #include "ignore-value.h".
24023
24024 2009-11-08  Jim Meyering  <meyering@redhat.com>
24025
24026         utimens: remove invalid futimesat call
24027         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
24028         It used the file descriptor of the target file as the DIR_FD
24029         parameter and NULL as the file name.  That caused failure with
24030         errno == EFAULT on FreeBSD-8.0-rc2
24031
24032 2009-11-07  Eric Blake  <ebb9@byu.net>
24033
24034         fflush, freadseek: use fseeko, not fseek
24035         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
24036         (clear_ungetc_buffer): Avoid potential problems on large files.
24037         * lib/freadseek.c (freadseek): Likewise.
24038         * modules/freadseek (Depends-on): Add fseeko.
24039         * modules/fseek (configure.ac): Set a witness.
24040         * tests/test-fflush.c (main): Use fseeko.
24041         * tests/test-fpurge.c (fseek): Disable link warning.
24042         * tests/test-freadable.c (fseek): Likewise.
24043         * tests/test-freading.c (fseek): Likewise.
24044         * tests/test-fseeko.c (fseek): Likewise.
24045         * tests/test-ftell.c (fseek): Likewise.
24046         * tests/test-ftello.c (fseek): Likewise.
24047         * tests/test-fwritable.c (fseek): Likewise.
24048         * tests/test-fwriting.c (fseek): Likewise.
24049
24050 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24051
24052         * modules/memchr (Depends-on): Drop getpagesize dependency.
24053
24054 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24055
24056         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
24057         Reported by Ludovic Courtès.
24058         * build-aux/pmccabe2html: Improve example usage.
24059         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
24060
24061 2009-11-06  Jim Meyering  <meyering@redhat.com>
24062
24063         do-release-commit-and-tag: New module.
24064         Automate the release-commit and tag process.
24065         * build-aux/do-release-commit-and-tag: New script, from coreutils.
24066         * modules/do-release-commit-and-tag: New file.
24067         * MODULES.html.sh (Support for maintaining and releasing): Add it.
24068
24069 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24070
24071         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
24072         because test-select.c uses inet_pton.
24073
24074 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24075
24076         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
24077         GETADDRINFO_LIB.  Bump serial number.
24078         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
24079         Suggested by Eric Blake <ebb9@byu.net>.
24080
24081 2009-11-05  Eric Blake  <ebb9@byu.net>
24082
24083         strtod: detect darwin bug
24084         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
24085         Reported by Leo Davis.
24086
24087         freopen-safer: new module
24088         * modules/freopen-safer: New module.
24089         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
24090         * lib/freopen-safer.c (freopen_safer): New file.
24091         * lib/stdio-safer.h (freopen_safer): New declaration.
24092         * lib/stdio--.h (freopen): New override.
24093         * MODULES.html.sh (File stream based Input/Output): Mention it.
24094         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
24095         freopen-safer module.
24096         * doc/posix-functions/stderr.texi (stderr): Likewise.
24097         * doc/posix-functions/stdin.texi (stdin): Likewise.
24098         * doc/posix-functions/stdout.texi (stdout): Likewise.
24099         * modules/freopen-safer-tests: New test.
24100         * tests/test-reopen-safer.c: New file.
24101
24102 2009-11-05  Jim Meyering  <meyering@redhat.com>
24103
24104         maint.mk: Prohibit inclusion of "close-stream.h" without use.
24105         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24106
24107 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24108
24109         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
24110
24111 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24112
24113         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
24114
24115 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24116
24117         Fix link error.
24118         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24119         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24120
24121 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24122
24123         * tests/test-func.c: Also test value of __func__.
24124
24125 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24126
24127         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
24128         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
24129
24130 2009-11-05  Bruno Haible  <bruno@clisp.org>
24131
24132         Fix link error.
24133         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24134         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24135         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
24136
24137 2009-11-05  Bruno Haible  <bruno@clisp.org>
24138
24139         Tests for module 'inet_pton'.
24140         * modules/inet_pton-tests: New file.
24141         * tests/test-inet_pton.c: New file.
24142
24143 2009-11-05  Bruno Haible  <bruno@clisp.org>
24144
24145         Tests for module 'inet_ntop'.
24146         * modules/inet_ntop-tests: New file.
24147         * tests/test-inet_ntop.c: New file.
24148
24149 2009-11-04  Eric Blake  <ebb9@byu.net>
24150
24151         stdlib-safer: wrap all mkstemp variants
24152         * modules/mkostemp (configure.ac): Set witness.
24153         * modules/mkostemps (configure.ac): Likewise.
24154         * modules/mkstemps (configure.ac): Likewise.
24155         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
24156         (mkstemps_safer): Wrap more functions.
24157         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
24158         wrapping.
24159         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
24160         (mkstemps_safer): Implement the wrappers.
24161
24162         mkstemps, mkostemps: new modules
24163         * modules/mkostemps: New module.
24164         * modules/mkstemps: Likewise.
24165         * lib/mkostemps.c (mkostemps): New file.
24166         * lib/mkstemps.c (mkstemps): Likewise.
24167         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
24168         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
24169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
24170         * modules/stdlib (Makefile.am): Substitute them.
24171         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
24172         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
24173         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24174         * doc/gnulib.texi (Glibc stdlib.h): Include them.
24175         * MODULES.html.sh (File system functions): Mention them.
24176
24177         tempname: resync from glibc
24178         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
24179         same values for __GT_FILE as glibc.  Abort even when assertions
24180         are disabled.
24181         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
24182         match its value otherwise.  Allow idempotent inclusion.
24183         * lib/mkdtemp.c (mkdtemp): Adjust caller.
24184         * lib/mkostemp.c (mkostemp): Likewise.
24185         * lib/mkstemp.c (mkstemp): Likewise.
24186         * lib/tmpfile.c (tmpfile): Likewise.
24187         * NEWS: Document this.
24188
24189         utimens: fix use of futimens on older Linux
24190         * lib/utimens.c (fdutimens): Use updated, rather than original,
24191         timespec to avoid bug in older Linux kernel.
24192         Reported by Simon Josefsson.
24193
24194 2009-11-04  Bruno Haible  <bruno@clisp.org>
24195
24196         Make num_processors more flexible and consistent.
24197         * lib/nproc.h (enum nproc_query): New type.
24198         (num_processors): Add a 'query' argument.
24199         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
24200         (num_processors): Add a 'query' argument. Test the value of the
24201         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
24202         mingw, count the number of CPUs available for the current process.
24203         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
24204         Check for sched_getaffinity and sched_getaffinity_np.
24205         * modules/nproc (Depends-on): Add c-ctype, extensions.
24206         * NEWS: Mention the change.
24207
24208 2009-11-03  Bruno Haible  <bruno@clisp.org>
24209
24210         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
24211
24212 2009-11-03  Jim Meyering  <meyering@redhat.com>
24213
24214         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
24215         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
24216         if it is defined.
24217
24218 2009-11-02  Eric Blake  <ebb9@byu.net>
24219
24220         mktime, timegm: share common declaration
24221         * lib/mktime-internal.h: New file.
24222         * lib/mktime.c: Use it rather than open-coding a declaration.
24223         * lib/timegm.c: Likewise.
24224         * modules/mktime (Files): Ship it.
24225         * modules/timegm (Files): Likewise.
24226         Suggested by Bruno Haible.
24227
24228         test-update-copyright: update test to match script changes
24229         * tests/test-update-copyright.sh: Avoid hard-coding perl
24230         location.  Don't update *.bak created by earlier runs.
24231
24232 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24233             Simon Josefsson  <simon@josefsson.org>
24234             Bruno Haible  <bruno@clisp.org>
24235
24236         Fix link error on Solaris 8.
24237         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
24238         also in libnsl. Define also INET_PTON_LIB.
24239         * modules/inet_pton (Link): New section.
24240
24241 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24242             Bruno Haible  <bruno@clisp.org>
24243
24244         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
24245         * modules/inet_ntop (Link): New section.
24246         Reported by Boyan Kasarov <bkasarov@gmail.com>.
24247
24248 2009-11-02  Eric Blake  <ebb9@byu.net>
24249
24250         maint: avoid compiler warnings in m4 macros
24251         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
24252         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
24253
24254 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24255
24256         * m4/pmccabe2html.m4: Remove file.
24257         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
24258         function.  Change maintainer.
24259         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
24260         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
24261         Courtès).
24262
24263 2009-10-31  Eric Blake  <ebb9@byu.net>
24264
24265         fseeko: fix m4 regression
24266         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
24267         regression from 2009-10-27.
24268         Reported by Ralf Wildenhues.
24269
24270 2009-10-31  Jim Meyering  <meyering@redhat.com>
24271
24272         inttostr: aesthetics and improved (compile-time) safety
24273         Define inttype_is_signed rather than inttype_is_unsigned,
24274         since the sole use is via "#if inttype_is_signed".
24275         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
24276         inttype_is_unsigned.
24277         * lib/offtostr.c (inttype_is_signed): Likewise.
24278         * lib/uinttostr.c (inttype_is_signed): Likewise.
24279         * lib/umaxtostr.c (inttype_is_signed): Likewise.
24280         * lib/inttostr.c (inttostr): Use verify to cross-check the
24281         inttype_is_signed value and the signedness of the actual type.
24282         * modules/inttostr (Depends-on): Add verify.
24283
24284 2009-10-30  Eric Blake  <ebb9@byu.net>
24285
24286         build: avoid compiler warnings
24287         * lib/fchmodat.c (lchmod): Mark unused variables.
24288         * lib/getopt.c (_getopt_initialize): Likewise.
24289         * lib/mktime.c (__mktime_internal): Provide prototype.
24290         * lib/inttostr.c (inttostr): Avoid compiler warning even with
24291         older gcc that do not understand #pragma GCC diagnostic.
24292         * lib/uinttostr.c (inttype_is_unsigned): Define.
24293         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
24294
24295 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24296
24297         stat: fix compilation on AIX
24298         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
24299         only see struct stat64.
24300
24301 2009-10-30  Eric Blake  <ebb9@byu.net>
24302
24303         exclude: make more robust
24304         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
24305         rather than masking a coding bug.
24306         Suggested by Bruno Haible.
24307
24308 2009-10-30  Jim Meyering  <meyering@redhat.com>
24309
24310         perl scripts: remove #!/usr/bin/perl in favor of more portable...
24311         Rather than putting #!/usr/bin/perl on the first line,
24312         start with a variant of what's recommended by "man perlrun" that
24313         invokes the first "perl" program from your shell's search path.
24314         * build-aux/gitlog-to-changelog: Replace #!... as above.
24315         Add a "Local Variables" perl mode setting.
24316         Prompted by a patch from Ludovic Courtès.
24317         Improved by Eric Blake.
24318         * build-aux/useless-if-before-free: Likewise.
24319         * build-aux/announce-gen: Likewise.
24320         * build-aux/update-copyright: Likewise.
24321
24322 2009-10-29  Eric Blake  <ebb9@byu.net>
24323
24324         filenamecat-lgpl: adjust clients
24325         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
24326         filenamecat.
24327         * modules/renameat (Depends-on): Likewise.
24328
24329         filenamecat: split into filenamecat-lgpl
24330         * modules/filenamecat-lgpl: New module.
24331         * modules/filenamecat (Files): Move library-safe files into
24332         filenamecat-lgpl.
24333         (Depends-on): Add filenamecat-lgpl.
24334         (configure.ac): Declare witness.
24335         * lib/filenamecat.h (file_name_concat): Only declare when using
24336         GPL module.
24337         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
24338         Move...
24339         * lib/filenamecat-lgpl.c: ...into new file.
24340         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
24341         (gl_FILE_NAME_CONCAT): Use it.
24342         * MODULES.html.sh (File system functions): Mention new module.
24343
24344         argp: avoid memory leak
24345         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
24346         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
24347         base_name, since the latter malloc()s and can call exit().
24348         Leak introduced 2006-07-03.
24349
24350         dirname-lgpl: adjust clients that don't need full dirname
24351         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
24352         * modules/filenamecat (Depends-on): Likewise.
24353         * modules/linkat (Depends-on): Likewise.
24354         * modules/mkancesdirs (Depends-on): Likewise.
24355         * modules/mkdir (Depends-on): Likewise.
24356         * modules/openat (Depends-on): Likewise.
24357         * modules/savewd (Depends-on): Likewise.
24358         * modules/rename (Depends-on): Likewise.
24359         (License): Relax license.
24360         * modules/mkdir-tests (Depends-on): Drop progname.
24361         (Makefile.am): Delete unneeded LDADD.
24362         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
24363
24364         dirname: split into dirname-lgpl
24365         * modules/dirname-lgpl: New module.
24366         * modules/dirname (Files): Move library-safe files into
24367         dirname-lgpl.
24368         (Depends-on): Add dirname-lgpl.
24369         (configure.ac): Declare witness.
24370         * modules/double-slash-root (License): Relax license.
24371         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
24372         module.
24373         * lib/dirname.c (dir_len, mdir_name): Move...
24374         * lib/dirname-lgpl.c: ...into new file.
24375         * lib/basename.c (last_component, base_len): Move...
24376         * lib/basename-lgpl.c: ...into new file.
24377         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
24378         (gl_DIRNAME): Use it.
24379         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
24380         Mention new module.
24381         * modules/dirname-tests (Depends-on): Add progname.
24382         * tests/test-dirname.c (program_name): Delete.
24383
24384         mkdir: make safe for libraries
24385         * modules/mkdir (Depends-on): Drop xalloc.
24386         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
24387         exit.
24388
24389         tests: avoid some compiler warnings
24390         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
24391         literals.
24392         * tests/test-memchr.c (main): Avoid type mismatch.
24393         * tests/test-arpa_inet.c (main): Avoid unused parameters.
24394         * tests/test-base64.c (main): Likewise.
24395         * tests/test-getdelim.c (main): Likewise.
24396         * tests/test-gethostname.c (main): Likewise.
24397         * tests/test-getline.c (main): Likewise.
24398         * tests/test-netinet_in.c (main): Likewise.
24399         * tests/test-select.c (open_server_socket, main): Likewise.
24400         * tests/test-select-stdin.c (main): Likewise.
24401         * tests/test-sockets.c (main): Likewise.
24402         * tests/test-strsignal.c (main): Likewise.
24403         * tests/test-sys_select.c (main): Likewise.
24404         * tests/test-sys_socket.c (main): Likewise.
24405         * tests/test-u64.c (main): Likewise.
24406         * tests/test-xfprintf-posix.c (main): Likewise.
24407         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
24408
24409         sockets: avoid compiler warning
24410         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
24411
24412         maint: detect usage(1) and other suspicious exits
24413         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
24414
24415 2009-10-29  Jim Meyering  <meyering@redhat.com>
24416
24417         timespec: long-to-int truncation could make timespec_cmp malfunction
24418         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
24419         a multiple of 2^32 nanoseconds as no difference.
24420
24421 2009-10-28  Jim Meyering  <meyering@redhat.com>
24422
24423         fprintftime: wrap macro code argument in "do {...} while(0)"
24424         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
24425         cpy macro must be a statement that can be followed by a semicolon.
24426         Now that the else clause contains a comment and is hence longer
24427         than one line, I require curly braces.  That in turn requires
24428         that we wrap this code block in the standard do...while(0).
24429
24430         fprintftime: remove stray semicolon from previous change
24431         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
24432
24433         fprintftime: avoid a warning about ignored fwrite return value
24434         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
24435         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
24436         that is unsafe.
24437         * modules/fprintftime (Depends-on): Add ignore-value.
24438
24439         exclude: avoid an unwarranted warning
24440         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
24441
24442 2009-10-27  Eric Blake  <ebb9@byu.net>
24443
24444         fseek: avoid compilation failure when fflush is replaced
24445         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
24446         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
24447         module is in use.
24448         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
24449         module is not in use; since REPLACE_FSEEK worked otherwise.
24450         (GNULIB_FTELLO): Likewise for ftell.
24451         Reported by Ian Beckwith and others.
24452
24453 2009-10-27  Bruno Haible  <bruno@clisp.org>
24454
24455         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
24456         Reported by Jim Meyering.
24457
24458 2009-10-27  Jim Meyering  <jim@meyering.net>
24459             Bruno Haible  <bruno@clisp.org>
24460
24461         Avoid warning despite dropping the return value of fwrite.
24462         * lib/unicodeio.c: Include ignore-value.h.
24463         (fwrite_success_callback): Explicitly ignore fwrite's return value.
24464         * modules/unicodeio (Depends-on): Add ignore-value.
24465
24466 2009-10-26  Eric Blake  <ebb9@byu.net>
24467
24468         areadlinkat: fix fallback path
24469         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
24470         pointer and zero.
24471
24472 2009-10-22  Pádraig Brady  <P@draigBrady.com>
24473
24474         Use a better IO block size for modern systems
24475         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
24476         * lib/md2.c: Likewise.
24477         * lib/md4.c: Likewise.
24478         * lib/md5.c: Likewise.
24479         * lib/sha1.c: Likewise.
24480         * lib/sha256.c: Likewise.
24481         * lib/sha512.c: Likewise.
24482
24483 2009-10-22  Eric Blake  <ebb9@byu.net>
24484
24485         tests: avoid several compiler warnings
24486         * tests/test-getcwd.c (main): Avoid buffer underflow.
24487         * tests/test-getdate.c (main): String literals are not safe with
24488         putenv, so use setenv.  Declare unused argument.
24489         * modules/getdate-tests (Depends-on): Add setenv.
24490         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
24491         problems with string literals in char *.
24492         * tests/test-hash.c (main): Avoid shadowing declaration.
24493         (insert_new): Treat string literals as char const *.
24494         * tests/test-getopt.h (test_getopt): Likewise.
24495         (getopt_loop): Alter types to minimize casting elsewhere.
24496         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
24497         (test_getopt_long_posix): Likewise.
24498         (do_getopt_long): Add wrapper to minimize casting.
24499         * tests/test-atexit.c (clear_temp_file): Use void.
24500         * tests/test-areadlink-with-size.c (main): Declare unused
24501         arguments.
24502         * tests/test-areadlink.c (main): Likewise.
24503         * tests/test-areadlinkat-with-size.c (main): Likewise.
24504         * tests/test-areadlinkat.c (main): Likewise.
24505         * tests/test-canonicalize-lgpl.c (main): Likewise.
24506         * tests/test-canonicalize.c (main): Likewise.
24507         * tests/test-dirent-safer.c (main): Likewise.
24508         * tests/test-dirname.c (main): Likewise.
24509         * tests/test-dup2.c (main): Likewise.
24510         * tests/test-fchdir.c (main): Likewise.
24511         * tests/test-fcntl-h.c (main): Likewise.
24512         * tests/test-fcntl-safer.c (main): Likewise.
24513         * tests/test-fdopendir.c (main): Likewise.
24514         * tests/test-fdutimensat.c (main): Likewise.
24515         * tests/test-fflush.c (main): Likewise.
24516         * tests/test-filenamecat.c (main): Likewise.
24517         * tests/test-filevercmp.c (main): Likewise.
24518         * tests/test-fopen-safer.c (main): Likewise.
24519         * tests/test-fopen.c (main): Likewise.
24520         * tests/test-fpending.c (main): Likewise.
24521         * tests/test-fpurge.c (main): Likewise.
24522         * tests/test-freading.c (main): Likewise.
24523         * tests/test-fstatat.c (main): Likewise.
24524         * tests/test-fsync.c (main): Likewise.
24525         * tests/test-futimens.c (main): Likewise.
24526         * tests/test-getndelim2.c (main): Likewise.
24527         * tests/test-gettimeofday.c (main): Likewise.
24528         * tests/test-getopt.c (main): Likewise.
24529         * tests/test-i-ring.c (main): Likewise.
24530         * tests/test-inttypes.c (main): Likewise.
24531         * tests/test-link.c (main): Likewise.
24532         * tests/test-lstat.c (main): Likewise.
24533         * tests/test-math.c (main): Likewise.
24534         * tests/test-md5.c (main): Likewise.
24535         * tests/test-memchr2.c (main): Likewise.
24536         * tests/test-memrchr.c (main): Likewise.
24537         * tests/test-mkdir.c (main): Likewise.
24538         * tests/test-mkdirat.c (main): Likewise.
24539         * tests/test-mkfifoat.c (main): Likewise.
24540         * tests/test-open.c (main): Likewise.
24541         * tests/test-openat-safer.c (main): Likewise.
24542         * tests/test-openat.c (main): Likewise.
24543         * tests/test-quotearg.c (main): Likewise.
24544         * tests/test-rawmemchr.c (main): Likewise.
24545         * tests/test-readlink.c (main): Likewise.
24546         * tests/test-remove.c (main): Likewise.
24547         * tests/test-rename.c (main): Likewise.
24548         * tests/test-renameat.c (main): Likewise.
24549         * tests/test-rmdir.c (main): Likewise.
24550         * tests/test-sha1.c (main): Likewise.
24551         * tests/test-signal.c (main): Likewise.
24552         * tests/test-sigaction.c (main): Likewise.
24553         * tests/test-stat.c (main): Likewise.
24554         * tests/test-stat-time.c (main): Likewise.
24555         * tests/test-stddef.c (main): Likewise.
24556         * tests/test-stdint.c (main): Likewise.
24557         * tests/test-stdio.c (main): Likewise.
24558         * tests/test-stdlib.c (main): Likewise.
24559         * tests/test-strchrnul.c (main): Likewise.
24560         * tests/test-strerror.c (main): Likewise.
24561         * tests/test-string.c (main): Likewise.
24562         * tests/test-strtod.c (main): Likewise.
24563         * tests/test-strverscmp.c (main): Likewise.
24564         * tests/test-symlink.c (main): Likewise.
24565         * tests/test-symlinkat.c (main): Likewise.
24566         * tests/test-sys_stat.c (main): Likewise.
24567         * tests/test-sys_time.c (main): Likewise.
24568         * tests/test-time.c (main): Likewise.
24569         * tests/test-unistd.c (main): Likewise.
24570         * tests/test-unlink.c (main): Likewise.
24571         * tests/test-unlinkat.c (main): Likewise.
24572         * tests/test-utimens.c (main): Likewise.
24573         * tests/test-utimensat.c (main): Likewise.
24574         * tests/test-version-etc.c (main): Likewise.
24575         * tests/test-wchar.c (main): Likewise.
24576         * tests/test-wctype.c (main): Likewise.
24577         * tests/test-xprintf-posix.c (main): Likewise.
24578         * tests/test-posixtm.c (main): Likewise.
24579         (STREQ): Delete unused macro.
24580         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
24581         shadowed variables.
24582         * tests/test-memchr.c (main): Likewise.
24583
24584 2009-10-21  Eric Blake  <ebb9@byu.net>
24585
24586         areadlinkat: avoid failure on older glibc
24587         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
24588         rather than mis-comparing 0 against FUNC_RESULT of char*.
24589
24590 2009-10-21  Bruno Haible  <bruno@clisp.org>
24591
24592         * modules/stpncpy (License): Relicense under LGPLv2+.
24593         Reported by David Lutterkort <lutter@redhat.com>.
24594
24595 2009-10-20  Eric Blake  <ebb9@byu.net>
24596
24597         utimensat: work around Solaris 9 bug
24598         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
24599         has trailing slash bugs.
24600         * tests/test-lutimens.h (test_lutimens): Enhance test.
24601         * tests/test-utimens.h (test_utimens): Likewise.
24602         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24603         * doc/posix-functions/utimes.texi (utimes): Likewise.
24604         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24605         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24606         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24607         * doc/posix-functions/futimens.texi (futimens): Likewise.
24608
24609         fdutimensat: new module
24610         * modules/fdutimensat: New file.
24611         * lib/fdutimensat.c (fdutimensat): Likewise.
24612         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24613         * MODULES.html.sh (File system functions): Mention module.
24614         * modules/fdutimensat-tests: New test.
24615         * tests/test-fdutimensat.c: Likewise.
24616
24617         doc: regenerate INSTALL
24618         * doc/INSTALL: Reflect recent autoconf update.
24619         * doc/INSTALL.ISO: Likewise.
24620         * doc/INSTALL.UTF-8: Likewise.
24621
24622 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24623
24624         acl: warn if ACL support is not detected
24625         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24626
24627 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24628
24629         * lib/nproc.h: Add extern "C" block for C++.
24630
24631 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
24632             Bruno Haible  <bruno@clisp.org>
24633
24634         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
24635         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
24636         * doc/posix-functions/isalpha.texi: Likewise.
24637         * doc/posix-functions/isblank.texi: Likewise.
24638         * doc/posix-functions/iscntrl.texi: Likewise.
24639         * doc/posix-functions/isdigit.texi: Likewise.
24640         * doc/posix-functions/isgraph.texi: Likewise.
24641         * doc/posix-functions/islower.texi: Likewise.
24642         * doc/posix-functions/isprint.texi: Likewise.
24643         * doc/posix-functions/ispunct.texi: Likewise.
24644         * doc/posix-functions/isspace.texi: Likewise.
24645         * doc/posix-functions/isupper.texi: Likewise.
24646         * doc/posix-functions/isxdigit.texi: Likewise.
24647
24648 2009-10-18  Bruno Haible  <bruno@clisp.org>
24649
24650         Tests for module 'isblank'.
24651         * modules/isblank-tests: New file.
24652         * tests/test-isblank.c: New file.
24653
24654         New module 'isblank'.
24655         * lib/isblank.c: New file.
24656         * m4/isblank.m4: New file.
24657         * modules/isblank: New file.
24658         * doc/posix-functions/isblank.texi: Mention the new module.
24659
24660 2009-10-18  Bruno Haible  <bruno@clisp.org>
24661
24662         New module 'ctype'.
24663         * lib/ctype.in.h: New file.
24664         * m4/ctype.m4: New file.
24665         * modules/ctype: New file.
24666         * doc/posix-headers/ctype.texi: Mention the new module.
24667
24668 2009-10-18  Jim Meyering  <meyering@redhat.com>
24669
24670         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
24671         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
24672         right after its initialization, rather than farther down.
24673         Keeping these in close proximity makes it easier to ensure
24674         that each such variable is initialized.  E.g.,
24675
24676             LIB_CLOCK_GETTIME=
24677             AC_SUBST([LIB_CLOCK_GETTIME])
24678
24679         This change also increments these serial numbers.
24680         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
24681         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24683
24684 2009-10-18  Bruno Haible  <bruno@clisp.org>
24685
24686         Don't let environment variables perturb build.
24687         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
24688         (gl_PREREQ_GETHRXTIME): ... not here.
24689
24690 2009-10-18  Bruno Haible  <bruno@clisp.org>
24691
24692         Avoid symlink attack in localcharset module.
24693         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
24694         (O_NOFOLLOW): Define fallback.
24695         (get_charset_aliases): Don't open the file if it is a symbolic link.
24696         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
24697         gl_FCNTL_H.
24698         (gl_FCNTL_H): Require it.
24699         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
24700         * modules/localcharset (Files): Add m4/fcntl_h.m4.
24701         Reported by Fergal Glynn <fglynn@veracode.com>.
24702
24703 2009-10-18  Bruno Haible  <bruno@clisp.org>
24704
24705         Implement nproc for mingw.
24706         * lib/nproc.c: Include <windows.h>
24707         (num_processors): On native Windows platforms, try GetSystemInfo.
24708
24709 2009-10-18  Bruno Haible  <bruno@clisp.org>
24710
24711         Implement nproc for IRIX.
24712         * lib/nproc.c: Include <sys/sysmp.h>.
24713         (num_processors): On IRIX systems, try sysmp.
24714         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
24715
24716 2009-10-18  Bruno Haible  <bruno@clisp.org>
24717
24718         Implement nproc for HP-UX.
24719         * lib/nproc.c: Include <sys/pstat.h>
24720         (num_processors): On HP-UX systems, try pstat_getdynamic.
24721         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
24722         pstat_getdynamic.
24723
24724 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
24725             Bruno Haible  <bruno@clisp.org>
24726
24727         Implement nproc for NetBSD, OpenBSD.
24728         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
24729         (ARRAY_SIZE): New macro.
24730         (num_processors): On BSD systems, try sysctl of HW_NCPU.
24731         * m4/nproc.m4: New file.
24732         * modules/nproc (Files): Add m4/nproc.m4.
24733         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
24734         (Makefile.am): Instead, augment lib_SOURCES.
24735
24736 2009-10-18  Bruno Haible  <bruno@clisp.org>
24737
24738         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
24739         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
24740         sys/param.h.
24741
24742 2009-10-16  Eric Blake  <ebb9@byu.net>
24743
24744         utimensat: new module
24745         * modules/utimensat: New file.
24746         * lib/utimensat.c (utimensat): Likewise.
24747         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24748         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
24749         so we can work around Linux bugs.
24750         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24751         * modules/sys_stat (Makefile.am): Substitute them.
24752         * lib/sys_stat.in.h (utimensat): Declare it.
24753         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24754         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24755         * modules/utimensat-tests: New test.
24756         * tests/test-utimensat.c: Likewise.
24757
24758         utimens: let lutimens work on non-symlinks
24759         * lib/utimens.c (lutimens): Fall back to utimens rather than
24760         failing with ENOSYS, when file is not a symlink.
24761         (utimens): Reduce redirection.
24762         * tests/test-lutimens.h (test_lutimens): Update test to cover
24763         non-symlinks.
24764         * tests/test-utimens.h (test_utimens): Update test to cover
24765         symlinks.
24766         * tests/test-utimens.c (main): Update caller.
24767
24768         utimens: cache whether utimensat syscall works
24769         * lib/utimens.c (utimensat_works_really): New cache variable.
24770         (fdutimens, lutimens): Use it to avoid failing syscall.
24771
24772         test-stat-time, test-utimens: improve portability
24773         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
24774         ext4 on alpha, and for cygwin.
24775         * tests/test-utimens-common.h: New file.
24776         (nap): Factor delays into single function.
24777         * tests/test-lutimens.h (test_lutimens): Use new header.
24778         * tests/test-futimens.h (test_futimens): Likewise.
24779         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
24780         timestamps to occur from same machine, as was done previously for
24781         test_utimens.
24782         * modules/utimens-tests (Files): Ship new file.
24783         * modules/futimens-tests (Files): Likewise.
24784         Reported in part by Jim Meyering.
24785
24786         sys_stat: sort replacement declarations
24787         * lib/sys_stat.in.h: Sort declarations.
24788         * lib/futimens.c (futimens): Fix typo.
24789
24790 2009-10-15  Jim Meyering  <meyering@redhat.com>
24791
24792         don't let environment settings perturb build
24793         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
24794         could cause a configure-time and/or build-time malfunction.
24795         Typically, a configure-time function-in-library test is performed
24796         via code like this:
24797
24798           LIB_VAR=
24799           AC_SUBST([LIB_VAR])
24800           prefix_saved_LIBS=$LIBS
24801             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
24802                        [test "$ac_cv_search_FUNC" = "none required" ||
24803                         LIB_VAR=$ac_cv_search_FUNC])
24804           LIBS=$prefix_saved_LIBS
24805
24806         However, in each of the files affected by this change, the LIB_VAR=
24807         initialization was omitted.  Thus, when set in the environment, its
24808         value would propagate into generated Makefiles when FUNC is not found
24809         in LIB_NAME.
24810         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
24811         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24812         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24813
24814 2009-10-14  Eric Blake  <ebb9@byu.net>
24815
24816         fchdir: avoid infinite recursion in mingw
24817         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
24818         recursing.
24819
24820         test-stat-time: port to mingw
24821         * tests/test-stat-time.c (force_unlink): Return a value.
24822         (test_ctime) [W32]: Fix compilation error.
24823         (nap): Don't call usleep with too large an argument.  Use
24824         force_unlink.
24825         * doc/pastposix-functions/usleep.texi (usleep): Document the
24826         portability issue.
24827
24828 2009-10-13  Jim Meyering  <meyering@redhat.com>
24829
24830         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
24831         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
24832         * modules/pipe-filter-ii: Likewise.
24833         * modules/sys_socket-tests: Likewise.
24834         * modules/tsearch-tests: Likewise.
24835         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
24836         (check): Depend on it.
24837
24838 2009-10-12  Eric Blake  <ebb9@byu.net>
24839
24840         utimens-tests: port to NFS file systems
24841         * tests/test-utimens.h (test_utimens): Refactor utimecmp
24842         comparisons to avoid spurious failures from timestamp drift
24843         between NFS machines.
24844
24845 2009-10-12  Eric Blake  <ebb9@byu.net>
24846
24847         stat-time-tests: minor cleanups
24848         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
24849         * tests/test-stat-time.c (nap): Separate assignment from call.
24850         Suggested by Paolo Bonzini and Bruno Haible.
24851
24852         sys_stat: guarantee struct timespec
24853         * lib/sys_stat.in.h (includes): Always include <time.h>
24854         * modules/sys_stat (Depends-on): Add time.
24855         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
24856         mode_t permission values.
24857         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
24858         get at subsecond timestamps.
24859
24860 2009-10-10  Eric Blake  <ebb9@byu.net>
24861
24862         futimens: new module
24863         * modules/futimens: New file.
24864         * lib/futimens.c (futimens): Likewise.
24865         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
24866         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
24867         we can work around Linux bugs.
24868         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24869         * modules/sys_stat (Makefile.am): Substitute them.
24870         * lib/sys_stat.in.h (futimens): Declare it.
24871         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24872         * doc/posix-functions/futimens.texi (futimens): Likewise.
24873         * modules/futimens-tests: New test.
24874         * tests/test-futimens.c: Likewise.
24875
24876         utimens: introduce fdutimens
24877         * lib/utimens.h (fdutimens): New prototype.
24878         * lib/utimens.c (gl_futimens): Move guts...
24879         (fdutimens): ...to new interface.
24880         * tests/test-utimens.c (do_fdutimens): Use it.
24881
24882         utimens: add UTIME_NOW and UTIME_OMIT support
24883         * lib/utimens.c (validate_timespec, update_timespec): New helper
24884         functions.
24885         (gl_futimens, lutimens): Use them.
24886         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
24887         stdbool, sys_stat.
24888         (Link): Mention resulting library dependency.
24889         * modules/utimecmp (Link): Likewise.
24890         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
24891         (Makefile.am): Pick up library dependency.
24892         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
24893         definition.
24894         * tests/test-sys_stat.c: Test the definitions.
24895         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
24896         * NEWS: Document library dependency.
24897
24898         utimecmp: support symlink timestamps
24899         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
24900         hashing when possible.  Use pathconf when available.
24901         (SYSCALL_RESOLUTION): Recognize tighter resolution.
24902         * modules/utimecmp (Depends-on): Add lstat.
24903
24904         utimens: add lutimens interface
24905         * lib/utimens.c (lutimens): New function.
24906         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
24907         * lib/utimens.h (lutimens): Declare new interface.
24908         * tests/test-utimens.c (main): Enhance test.
24909         * tests/test-lutimens.h (test_lutimens): New file.
24910         * modules/utimens-tests (Files): Distribute it.
24911         (Depends-on): Add symlink.
24912         (configure.ac): Check for usleep.
24913
24914         utimens: validate futimens usage
24915         * lib/utimens.c (gl_futimens): Require valid fd up front, using
24916         fewer syscalls on failure later on.  Avoid compiler warning on
24917         mingw.
24918         * modules/utimens (Depends-on): Add dup2.
24919
24920         utimens: add test
24921         * modules/utimens-tests: New test.
24922         * tests/test-utimens.h: New file.
24923         * tests/test-futimens.h: Likewise.
24924         * tests/test-utimens.c: Likewise.
24925
24926         doc: mention timestamp portability issues
24927         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
24928         instead.
24929         * doc/posix-functions/utime.texi (utime): Likewise.
24930         * doc/posix-functions/utimes.texi (utimes): Likewise.
24931         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
24932         instead.
24933         * doc/posix-functions/futimens.texi (futimens): Mention utimens
24934         module.
24935         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24936         Mention weakness with symlink timestamps.
24937         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
24938         to utimensat/futimens instead.
24939         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
24940
24941         test-dup2: enhance test
24942         * tests/test-dup2.c (main): Also check AT_FDCWD.
24943
24944         test-stat-time: avoid more spurious failures
24945         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
24946         xfs; and avoid race if the two timestamps cross quantization edge.
24947
24948         relocatable: prefer 'file system' over 'filesystem'
24949         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
24950         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
24951         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
24952         * doc/relocatable.texi (Enabling Relocatability): Likewise.
24953         * lib/relocatable.c (compute_curr_prefix): Likewise.
24954
24955 2009-10-10  Jim Meyering  <meyering@redhat.com>
24956
24957         stat-time-tests: check for the usleep function
24958         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
24959
24960 2009-10-10  Bruno Haible  <bruno@clisp.org>
24961
24962         * modules/xnanosleep: Put the Link section after the Include section.
24963
24964 2009-10-09  Eric Blake  <ebb9@byu.net>
24965
24966         dup2: work around FreeBSD 6.1 bug
24967         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
24968         * doc/posix-functions/dup2.texi (dup2): Document it.
24969         Reported by Nelson H. F. Beebe and Jim Meyering.
24970
24971         test-stat-time: port to buggy NFS clients
24972         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
24973         (test_ctime): Also skip test if mtime and ctime are skewed.
24974
24975         maint: prefer 'file system' over 'filesystem'
24976         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24977         * doc/posix-functions/lstat.texi (lstat): Likewise.
24978         * lib/file-has-acl.c (file_has_acl): Likewise.
24979         * lib/fwriteerror.c [TEST]: Likewise.
24980         * tests/test-areadlink.h (test_areadlink): Likewise.
24981         * tests/test-areadlinkat-with-size.c (main): Likewise.
24982         * tests/test-areadlinkat.c (main): Likewise.
24983         * tests/test-canonicalize-lgpl.c (main): Likewise.
24984         * tests/test-canonicalize.c (main): Likewise.
24985         * tests/test-fstatat.c (main): Likewise.
24986         * tests/test-linkat.c (main): Likewise.
24987         * tests/test-lstat.h (test_lstat_func): Likewise.
24988         * tests/test-mkdir.h (test_mkdir): Likewise.
24989         * tests/test-readlink.h (test_readlink): Likewise.
24990         * tests/test-remove.c (main): Likewise.
24991         * tests/test-rename.h (test_rename): Likewise.
24992         * tests/test-renameat.c (main): Likewise.
24993         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24994         * tests/test-symlink.h (test_symlink): Likewise.
24995         * tests/test-symlinkat.c (main): Likewise.
24996         * tests/test-unlink.h (test_unlink_func): Likewise.
24997         * tests/test-unlinkat.c (main): Likewise.
24998
24999         maint: make realtime library usage explicit
25000         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
25001         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
25002         * modules/settime (Link): Likewise.
25003         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
25004
25005         test-stat-time: speed up execution
25006         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
25007         warning on mingw.
25008         (nap): New helper function.
25009         (prepare_test): Use it to reduce sleep time.
25010         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
25011         execution.
25012         * modules/stat-time-tests (configure.ac): Check for usleep.
25013
25014 2009-10-09  Jim Meyering  <meyering@redhat.com>
25015
25016         selinux-h: always use getfilecon wrappers
25017         * lib/getfilecon.c: New file.
25018         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
25019         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
25020         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
25021         (fgetfilecon): Provide a stub.
25022         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
25023         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
25024         file unconditionally.
25025         When <selinux/selinux.h> is found, arrange to use wrappers.
25026         * modules/selinux-h (Files): Add getfilecon.c.
25027         (Makefile.am): Substitute include-next-related bits
25028         into the now-always-generated selinux/selinux.h file.
25029         * doc/glibc-functions/lgetfilecon.texi: New file.
25030         * doc/glibc-functions/fgetfilecon.texi: New file.
25031         * doc/glibc-functions/getfilecon.texi: New file.
25032         * doc/glibc-functions/getfilecon-desc.texi: New file.
25033         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
25034         which to pull in the new files.
25035         * MODULES.html.sh (Misc): Add selinux-h.
25036
25037 2009-10-08  Jim Meyering  <meyering@redhat.com>
25038
25039         unistd: fix comment typo
25040         * lib/unistd.in.h (euidaccess): Fix a comment typo.
25041
25042 2009-10-08  Eric Blake  <ebb9@byu.net>
25043
25044         areadlink: use SIZE_MAX consistently
25045         * modules/areadlink (Depends-on): Add stdint.
25046         * modules/areadlink-with-size (Depends-on): Likewise.
25047         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
25048         gives NULL; drop sys/types, since unistd gives size_t; and add
25049         stdint for SIZE_MAX.
25050         (SIZE_MAX): Rely on headers.
25051         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
25052         and add stdint.
25053         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
25054         (SIZE_MAX): Likewise.
25055         (INITIAL_BUF_SIZE): Turn into enum.
25056         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
25057
25058 2009-10-08  Jim Meyering  <meyering@redhat.com>
25059
25060         areadlinkat: avoid compilation failure
25061         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
25062         Fix typo in comment.
25063
25064 2009-10-07  Eric Blake  <ebb9@byu.net>
25065
25066         areadlinkat-with-size: new module
25067         * modules/areadlinkat-with-size: New module.
25068         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
25069         * lib/areadlink.h (areadlinkat): Declare it.
25070         * MODULES.html.sh (File system functions): Mention it.
25071         * modules/areadlinkat-with-size-tests: New test.
25072         * tests/test-areadlinkat-with-size.c: New file.
25073
25074         xreadlinkat: new module
25075         * modules/xreadlinkat: New module.
25076         * lib/xreadlinkat.c (xreadlinkat): New file.
25077         * lib/xreadlink.h (xreadlinkat): Declare it.
25078         * MODULES.html.sh (File system functions): Mention it.
25079
25080         areadlinkat: new module
25081         * lib/at-func.c (FUNC_FAIL): New define.
25082         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
25083         * modules/areadlinkat: New module.
25084         * lib/linkat.c (areadlinkat): Move...
25085         * lib/areadlinkat.c (areadlinkat): ...to new file.
25086         * lib/areadlink.h (areadlinkat): Declare it.
25087         * modules/linkat (Depends-on): Add areadlinkat.
25088         * MODULES.html.sh (File system functions): Mention it.
25089         * modules/areadlinkat-tests: New test.
25090         * tests/test-areadlinkat.c: New file.
25091
25092         areadlink, areadlink-with-size: add tests
25093         * modules/areadlink-tests: New test.
25094         * modules/areadlink-with-size-tests: Likewise.
25095         * tests/test-areadlink.h: New file.
25096         * tests/test-areadlink.c: Likewise.
25097         * tests/test-areadlink-with-size.c: Likewise.
25098
25099         maint: minor cleanups
25100         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
25101         _UNUSED_PARAMETER_ instead.
25102         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
25103         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
25104         * modules/linkat-tests (Files): Distribute test-link.h.
25105
25106         openat, utimens: whitespace cleanup
25107         * lib/openat.c: Prefer space throughout, rather than mix of 8
25108         spaces vs. tabs.
25109         * lib/at-func.c: Likewise.
25110         * lib/utimens.c: Likewise.
25111
25112         openat: avoid using wrong fd
25113         * lib/openat.c (openat_permissive): Reject user's fd if saving the
25114         working directory chooses same fd.
25115         * lib/at-func.c (AT_FUNC_NAME): Likewise.
25116
25117         mkdir, mkdirat: fix cygwin 1.5.x bug
25118         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
25119         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
25120         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
25121         bug.
25122         (gl_PREREQ_MKDIR): Delete unused macro.
25123         * modules/mkdir (Files): Track file rename.
25124         (configure.ac): Update macro name.
25125         * modules/openat (Depends-on): Add mkdir.
25126         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
25127
25128         mkdir, mkdirat: add tests
25129         * modules/mkdir-tests: New test.
25130         * tests/test-mkdir.h: New file.
25131         * tests/test-mkdir.c: Likewise.
25132         * tests/test-mkdirat.c: Likewise.
25133         * modules/openat-tests (Files): Add new files.
25134         (Makefile.am): Run new test.
25135
25136 2009-10-06  Eric Blake  <ebb9@byu.net>
25137
25138         doc: tweak *at function documentation
25139         * doc/posix-functions/faccessat.texi (faccessat): Mention
25140         known issue with replacement.
25141         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
25142         * doc/posix-functions/linkat.texi (linkat): Likewise.
25143         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25144         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25145         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25146         * doc/posix-functions/renameat.texi (renameat): Likewise.
25147         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25148
25149         openat: fix GNU/Hurd bug in unlinkat
25150         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
25151         broken.
25152         * doc/posix-functions/unlink.texi (unlink): Document this.
25153         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
25154
25155         fdopendir: fix GNU/Hurd bug
25156         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
25157         allowing non-directory fds.
25158         * lib/fdopendir.c (rpl_fdopendir): Work around it.
25159         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25160         * modules/dirent (Makefile.am): Substitute it.
25161         * lib/dirent.in.h (fdopendir): Declare replacement.
25162         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
25163         * tests/test-fdopendir.c (main): Test something other than
25164         /dev/null, since on Hurd that behaves like a directory.
25165
25166         test-symlink: port to GNU/Hurd
25167         * tests/test-symlink.h (test_symlink): Relax expected errno.
25168
25169         doc: tweak more cygwin information
25170         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
25171         now compatible with glibc.
25172         * doc/posix-functions/getopt.texi (getopt): Likewise.
25173
25174         getopt-gnu: add another test
25175         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
25176         guarantee behavior relied on by m4.
25177         * tests/test-getopt.c (main): Use it.
25178         * modules/getopt-posix-tests (Depends-on): Add setenv.
25179         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
25180
25181         getopt: fix compilation on darwin
25182         * lib/getopt.in.h (includes): Leave breadcrumbs during system
25183         include.
25184         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
25185         Reported by Ludovic Courtès.
25186
25187 2009-10-06  Bruno Haible  <bruno@clisp.org>
25188
25189         * modules/size_max (Description): Discourage its use.
25190         Reported by Simon Josefsson.
25191
25192 2009-10-06  Jim Meyering  <meyering@redhat.com>
25193
25194         linkat: avoid compilation failure
25195         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
25196
25197 2009-10-05  Eric Blake  <ebb9@byu.net>
25198
25199         linkat: support Linux 2.6.17
25200         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
25201         linkat on Linux, but allow cache variable override.
25202         * lib/linkat.c (rpl_linkat): Define override.
25203         * modules/linkat (Depends-on): Add symlinkat.
25204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
25205         * modules/unistd (Makefile.am): Substitute it.
25206         * lib/unistd.in.h (linkat): Declare replacement.
25207         Reported by Pádraig Brady.
25208
25209         quotearg: port test to systems with C.UTF-8 locale
25210         * tests/test-quotearg.c (struct result_strings): Add another
25211         member, differentiating between C.ASCII and C.UTF-8 handling.
25212         (compare_strings): Add parameter.
25213         (main): Adjust all callers.
25214
25215         getopt: avoid clash with FreeBSD _getopt_internal
25216         * lib/getopt.in.h (_getopt_internal): Override the name.
25217         * lib/getopt_int.h (includes): Pick up any overrides.
25218         Reported by Reuben Thomas.
25219
25220         hash: allow C89 compilation
25221         * lib/hash.c (check_tuning): Move declaration before statement.
25222         Reported by Reuben Thomas.
25223
25224 2009-10-05  Karl Berry  <karl@gnu.org>
25225
25226         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
25227
25228 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
25229             Bruno Haible  <bruno@clisp.org>
25230
25231         * lib/uname.c (uname): Use a table-driven algorithm to compute
25232         Windows NT versions.
25233
25234 2009-10-04  Bruno Haible  <bruno@clisp.org>
25235
25236         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
25237         program_invocation_short_name.
25238         * modules/progname (configure.ac): Test for presence of
25239         program_invocation_short_name.
25240         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25241
25242 2009-10-04  Bruno Haible  <bruno@clisp.org>
25243
25244         * lib/progname.c (set_program_name): Fix comment.
25245         Reported by Jim Meyering.
25246
25247 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25248             Bruno Haible  <bruno@clisp.org>
25249
25250         * lib/uname.c: Include <string.h>.
25251         (uname): Do only one call to GetVersionEx in the common case.
25252
25253 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25254             Bruno Haible  <bruno@clisp.org>
25255
25256         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
25257         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
25258         (uname): Add support for Windows CE and various non-x86 CPU types.
25259
25260 2009-10-03  Bruno Haible  <bruno@clisp.org>
25261
25262         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
25263         invocation to tests/configure.ac.
25264         Reported by Ian Beckwith <ianb@erislabs.net>.
25265
25266 2009-10-02  Eric Blake  <ebb9@byu.net>
25267
25268         fchdir: avoid compiler warning
25269         * lib/fchdir.c (canonicalize_file_name)
25270         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
25271
25272         test-open: support mingw errno values
25273         * tests/test-open.h (test_open): Relax test.
25274         * tests/test-fopen.h (test_fopen): Likewise.
25275         * tests/test-openat-safer.c (main): Likewise.
25276
25277         open: fix opening directory on mingw
25278         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
25279
25280         test-open: on GNU/Hurd, /dev/null is a directory
25281         * tests/test-fopen.h (main): Rename...
25282         (test_fopen): ...to this.  Use a guaranteed non-directory when
25283         confirming open behavior on trailing slash.
25284         * tests/test-openat-safer.c (main): Likewise.
25285         * tests/test-open.h (main): Likewise....
25286         (test_open): ...to this.
25287         * tests/test-fopen.c (main): Adjust caller.
25288         * tests/test-fopen-safer.c (main): Likewise.
25289         * tests/test-open.c (main): Likewise.
25290         * tests/test-fcntl-safer.c (main): Likewise.
25291         Reported by Samuel Thibault.
25292
25293         rename, fchdir: don't ignore chdir failure
25294         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
25295         * lib/rename.c (rpl_rename) [W32]: Likewise.
25296         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
25297         an empty destination directory if source cannot be renamed,
25298         although there is still possibility for failure.
25299         * doc/posix-functions/rename.texi (rename): Document the race.
25300         Reported by Jim Meyering.
25301
25302         maint: cleanup whitespace in recent commits
25303         * lib/rename.c (rpl_rename): Remove tabs.
25304         * tests/test-link.h (test_link): Likewise.
25305         * lib/fchdir.c (get_name): Likewise.
25306         Reported by Jim Meyering.
25307
25308 2009-10-02  Ben Pfaff  <blp@gnu.org>
25309
25310         relocatable-prog-wrapper: Add missing dependency on
25311         double-slash-root.
25312         * modules/relocatable-prog-wrapper: Add dependency.
25313         Reported by Ian Beckwith <ianb@erislabs.net>.
25314
25315 2009-10-02  Eric Blake  <ebb9@byu.net>
25316
25317         renameat: fix Solaris bugs
25318         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
25319         needed fixing.
25320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
25321         * modules/stdio (Makefile.am): Substitute it.
25322         * lib/stdio.in.h (renameat): Declare replacement.
25323         * lib/renameat.c (rpl_renameat): Implement fix.
25324
25325         renameat: new module
25326         * modules/renameat: New file.
25327         * lib/renameat.c (renameat): Likewise.
25328         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
25329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25330         * modules/stdio (Makefile.am): Substitute them.
25331         * lib/stdio.in.h (renameat): Declare it.
25332         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25333         * doc/posix-functions/renameat.texi (renameat): Likewise.
25334         * modules/renameat-tests: New test.
25335         * tests/test-renameat.c: Likewise.
25336
25337         rename: fix mingw bugs
25338         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
25339         directory overwrite bugs.
25340
25341         rename: fix another cygwin 1.5 bug
25342         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
25343         checks.
25344         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
25345         unnecessary cygwin workarounds.  Also work around bug with moving
25346         full directory onto an empty one.
25347         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
25348
25349         rename-dest-slash: merge into rename module
25350         * modules/rename-dest-slash (Status): Mark obsolete.
25351         (Depends-on): Add rename.
25352         (Files): Let rename do it all.
25353         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
25354         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
25355         * m4/rename-dest-slash.m4: ...so this file can be deleted.
25356         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
25357         * lib/rename.c (rpl_rename): Update comments.
25358
25359         rename: fix cygwin 1.5.x bugs
25360         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
25361         * lib/rename.c (rpl_rename): Work around them.
25362         * modules/rename (Depends-on): Add same-inode.
25363
25364         rename: fix Solaris 10 bug
25365         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25366         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
25367         was the only bug.
25368
25369         rename: fix Solaris 9 bug
25370         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
25371         on non-directory.  Avoid calling exit.
25372         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
25373         strdup.
25374         * modules/rename-tests (Depends-on): Drop lstat.
25375         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25376         (gl_PREREQ_RENAME): Delete unused macro.
25377
25378         rename-dest-slash: fix NetBSD bug
25379         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
25380         links.
25381         * modules/rename-dest-slash (Depends-on): Add same-inode.
25382
25383         rename-tests: new test, exposes several platform bugs
25384         * modules/rename-tests: New file.
25385         * tests/test-rename.h: Likewise.
25386         * tests/test-rename.c: Likewise.
25387         * doc/posix-functions/rename.texi (rename): Improve documentation,
25388         including bugs that will eventually be fixed in gnulib.
25389
25390 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
25391
25392         * lib/uname.c: Include <stdlib.h>
25393         (uname): Assume version info is available.
25394
25395 2009-10-02  Jim Meyering  <meyering@redhat.com>
25396
25397         gnu-web-doc-update: correct --help output
25398         * build-aux/gnu-web-doc-update: Make --help output relevant.
25399
25400         gnu-web-doc-update: add standard options
25401         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
25402
25403         gnu-web-doc-update: New module.
25404         Use this script to automatically update the on-line web documentation
25405         for your GNU project at http://www.gnu.org/software/$pkg/manual/
25406         * modules/gnu-web-doc-update: New file, from coreutils.
25407         * build-aux/gnu-web-doc-update: New script.
25408
25409 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
25410
25411         link: LoadLibrary is not needed.
25412         * lib/link.c: Use GetModuleHandle.
25413
25414 2009-10-01  Eric Blake  <ebb9@byu.net>
25415
25416         getopt: bump serial number
25417         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
25418         change.
25419
25420         tests: tighten link, rmdir, and remove tests
25421         * tests/test-link.h (includes): No need to use <config.h> here.
25422         Clean up if directory hard link was created, otherwise test for
25423         trailing '.'.
25424         * tests/test-linkat.c (main): Simplify.
25425         * tests/test-remove.c (main): Enhance test for trailing '.'.
25426         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25427
25428 2009-10-01  Jim Meyering  <meyering@redhat.com>
25429
25430         maint.mk: requiring "make major" was annoying, for a "minor" release.
25431         What is intended is "stable", to contrast with alpha and beta,
25432         so require "make stable", not "make major".
25433         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
25434         (get_tool_versions): Likewise.
25435         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
25436
25437 2009-09-30  Ben Pfaff  <blp@gnu.org>
25438
25439         Fix broken build of replacement for Windows tmpfile().
25440         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
25441         flags argument added along with the 'mkostemp' module.
25442
25443 2009-09-28  Bruno Haible  <bruno@clisp.org>
25444
25445         Avoid identifier clash with POSIX function 'remove' defined as a macro.
25446         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
25447         to 'remove_elt'.
25448         (gl_list_remove): Update.
25449         * lib/gl_list.c (gl_list_remove): Update.
25450         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
25451         to 'remove_elt'.
25452         (gl_oset_remove): Update.
25453         * lib/gl_list.c (gl_oset_remove): Update.
25454         Reported by Eric Blake.
25455
25456 2009-09-28  Eric Blake  <ebb9@byu.net>
25457
25458         doc: mention yet more cygwin 1.7 status
25459         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
25460         cygwin.
25461         * doc/glibc-functions/execvpe.texi (execvpe): New file.
25462         * doc/gnulib.texi (Glibc unistd.h): Mention it.
25463
25464         argp: fix test failure
25465         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
25466         that are not upper-case.  Pass correct range to tolower.
25467
25468 2009-09-27  Jim Meyering  <meyering@redhat.com>
25469
25470         test-yesno: work around sparc-dash here-document infelicity
25471         Without this change, the literal \177 byte in a here document
25472         would make dash 0.5.5.1-3 access uninitialized memory.
25473         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
25474         Instead, use a marker, "@", and filter through tr to create the desired
25475         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
25476
25477 2009-09-27  Bruno Haible  <bruno@clisp.org>
25478
25479         Disable untested support for new flavours of ACLs on AIX.
25480         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
25481         progress.
25482         * lib/set-mode-acl.c (qset_acl): Likewise.
25483
25484 2008-12-07  Bruno Haible  <bruno@clisp.org>
25485
25486         Add support for new flavours of ACLs on AIX. (Untested.)
25487         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
25488         (file_has_acl): Add support for newer AIX.
25489         * lib/set-mode-acl.c (qset_acl): Likewise.
25490         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
25491         Rainer Tammer <tammer@tammer.net>.
25492
25493 2009-09-26  Eric Blake  <ebb9@byu.net>
25494
25495         argp: fix compilation of getopt
25496         * lib/getopt.in.h (includes): Use different guard than glibc.
25497         Reported by Sergey Poznyakoff.
25498
25499         doc: mention more cygwin 1.7 status
25500         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
25501         bug.
25502         * doc/posix-functions/execl.texi (execl): Likewise.
25503         * doc/posix-functions/execle.texi (execle): Likewise.
25504         * doc/posix-functions/execlp.texi (execlp): Likewise.
25505         * doc/posix-functions/execv.texi (execv): Likewise.
25506         * doc/posix-functions/execve.texi (execve): Likewise.
25507         * doc/posix-functions/execvp.texi (execvp): Likewise.
25508         * doc/glibc-functions/canonicalize_file_name.texi
25509         (canonicalize_file_name): Cygwin 1.7 now provides this.
25510         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
25511         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
25512         on AT_SYMLINK_NOFOLLOW.
25513
25514 2009-09-24  Eric Blake  <ebb9@byu.net>
25515
25516         test-linkat: make test more robust
25517         * tests/test-linkat.c (main): Avoid collision with EEXIST.
25518
25519         getopt: fix inclusion guards for cygwin
25520         * modules/getopt-posix (Depends-on): Add include-next.
25521         (Makefile.am): Substitute more items in replacement header.
25522         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
25523         <getopt.h>.
25524         * lib/getopt.in.h (includes): Use split inclusion guard, and
25525         prefer <getopt.h> over include <unistd.h> when one is present.
25526         (option): Also override name of 'struct option'.
25527
25528         same-inode: revert prior change; it is not yet ready
25529         * NEWS: Undo mention of this change.
25530         * lib/same-inode.h (same-inode.h): Undo tri-state change.
25531         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25532         * lib/cycle-check.c (cycle_check): Likewise.
25533         * lib/same.c (same_name): Likewise.
25534         * lib/at-func2.c (at_func2): Likewise.
25535
25536 2009-09-23  Eric Blake  <ebb9@byu.net>
25537
25538         linkat: new module
25539         * modules/linkat: New file.
25540         * lib/at-func2.c (at_func2): Likewise.
25541         * lib/linkat.c (linkat): Likewise.
25542         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25543         * lib/openat-priv.h (at_func2): Add declaration.
25544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25545         * modules/unistd (Makefile.am): Substitute them.
25546         * lib/unistd.in.h (linkat): Declare it.
25547         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25548         * doc/posix-functions/linkat.texi (linkat): Likewise.
25549         * doc/posix-functions/link.texi (link): Tweak wording.
25550         * tests/test-link.c (main): Move guts...
25551         * tests/test-link.h (test_link): ...into new file.
25552         * modules/linkat-tests: New test.
25553         * tests/test-linkat.c: Likewise.
25554         * modules/link-tests (Files): Ship new file.
25555         (Depends-on): Add stdbool.
25556
25557         dirname: add library-safe mdir_name
25558         * lib/dirname.h (mdir_name): New prototype.
25559         * lib/dirname.c (dir_name): Move guts...
25560         (mdir_name): ...to new function that avoids xalloc_die.
25561
25562         fchdir: another mingw fix
25563         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
25564         * lib/fchdir.c (get_name): New helper method; skips canonicalize
25565         on mingw (where it has not yet been ported), and make it optional
25566         elsewhere.
25567         (_gl_register_fd): Use it.
25568
25569         same-inode: make SAME_INODE tri-state, to port to mingw
25570         * NEWS: Mention this change.
25571         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
25572         st_ino always being 0.
25573         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25574         * lib/cycle-check.c (cycle_check): Likewise.
25575         * lib/same.c (same_name): Likewise.
25576
25577         lstat: avoid mingw compilation error
25578         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
25579         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
25580         lstat ourselves.
25581         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
25582         was adequate.
25583         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
25584         the checks for lstat.
25585         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
25586
25587         link: fix test failure on Solaris 9
25588         * lib/link.c (rpl_link): Don't assume link will catch bogus
25589         trailing slash on source.
25590
25591         test-symlinkat: enhance test
25592         * tests/test-readlink.c (main): Move guts...
25593         * tests/test-readlink.h (test_readlink): ...into new file.
25594         * tests/test-symlink.c (main): Move guts...
25595         * tests/test-symlink.h (test_symlink): ...into new file.
25596         * tests/test-symlinkat.c (main): Use new files for further
25597         coverage.
25598         (do_symlink, do_readlink): New helper functions.
25599         * modules/symlink-tests (Files): Ship new file.
25600         (Depends-on): Add stdbool.
25601         * modules/readlink-tests (Files): Ship new file.
25602         (Depends-on): Add stdbool.
25603         * modules/symlinkat-tests (Files): Use new files.
25604
25605 2009-09-23  Eric Blake  <ebb9@byu.net>
25606
25607         readlink: document portability issue with symlink length
25608         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25609         systems have bogus st_size on symlinks, and mention the
25610         areadlink-with-size module.
25611         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25612         * doc/posix-functions/readlink.texi (readlink): Mention the
25613         areadlink module, and ERANGE failure.
25614         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25615         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25616
25617         readlink: fix Solaris 9 bug with trailing slash
25618         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25619         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25620         * doc/posix-functions/readlink.texi (readlink): Document this.
25621         * modules/readlink-tests: New test.
25622         * tests/test-readlink.c: Likewise.
25623
25624         readlink: fix cygwin 1.5.x bug with return type
25625         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25626         * lib/unistd.in.h (readlink): Use ssize_t.
25627         * lib/readlink.c (readlink): Likewise.
25628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25629         * modules/unistd (Makefile.am): Substitute it.
25630         * lib/unistd.in.h (readlink): Declare replacement.
25631         * doc/posix-functions/readlink.texi (readlink): Document this.
25632
25633         symlink: use throughout gnulib
25634         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
25635         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
25636         symlink is not used.
25637         * modules/symlinkat (Depends-on): Add symlink.
25638         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25639         * modules/canonicalize-tests (Depends-on): Likewise.
25640         * modules/lstat-tests (Depends-on): Likewise.
25641         * modules/openat-tests (Depends-on): Likewise.
25642         * modules/remove-tests (Depends-on): Likewise.
25643         * modules/rmdir-tests (Depends-on): Likewise.
25644         * modules/unlink-tests (Depends-on): Likewise.
25645         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25646         * tests/test-canonicalize.c (symlink): Likewise.
25647         * tests/test-fstatat.c (symlink): Likewise.
25648         * tests/test-lstat.c (symlink): Likewise.
25649         * tests/test-remove.c (symlink): Likewise.
25650         * tests/test-rmdir.c (symlink): Likewise.
25651         * tests/test-unlink.c (symlink): Likewise.
25652         * tests/test-unlinkat.c (symlink): Likewise.
25653
25654         symlink: new module, for Solaris 9 bug
25655         * modules/symlink: New file.
25656         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25657         * lib/symlink.c: Likewise.
25658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25659         * modules/unistd (Makefile.am): Substitute them.
25660         * lib/unistd.in.h (symlink): Declare replacement.
25661         * MODULES.html.sh (File system functions): Mention it.
25662         * doc/posix-functions/symlink.texi (symlink): Likewise.
25663         * modules/symlink-tests: New test.
25664         * tests/test-symlink.c: Likewise.
25665
25666 2009-09-23  Bruno Haible  <bruno@clisp.org>
25667
25668         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
25669         when needed.
25670         Test case: gnulib-tool --import --with-tests atexit inttypes.
25671         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
25672
25673 2009-09-23  Bruno Haible  <bruno@clisp.org>
25674
25675         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
25676         subcommand, not in a subshell.
25677
25678 2009-09-22  Eric Blake  <ebb9@byu.net>
25679
25680         unistd: sort replacement declarations
25681         * lib/unistd.in.h: Sort declarations.
25682
25683         open, openat: minor optimization
25684         * lib/open.c (open): If open succeeded, len is non-zero.
25685         * lib/openat.c (rpl_openat): Likewise.
25686
25687         link-follow: ensure correct result
25688         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
25689         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
25690         distinguish between possible failures.
25691
25692 2009-09-21  Eric Blake  <ebb9@byu.net>
25693
25694         fts: avoid compiler warning
25695         * lib/fts.c (dirent_inode_sort_may_be_useful)
25696         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
25697
25698 2009-09-19  Bruno Haible  <bruno@clisp.org>
25699
25700         * lib/progreloc.c (canonicalize_file_name): New declaration.
25701
25702 2009-09-19  Eric Blake  <ebb9@byu.net>
25703
25704         link: fix quoting
25705         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
25706
25707         openat: fix openat bugs on Solaris 9
25708         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
25709         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
25710         * modules/openat (Depends-on): Add open.
25711         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
25712         * modules/fcntl-h (Makefile.am): Substitute it.
25713         * lib/fcntl.in.h (openat): Declare replacement.
25714         * doc/posix-functions/openat.texi (openat): Document this.
25715
25716         openat: move fstatat and unlinkat into correct files
25717         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
25718         compiled.
25719         * lib/openat.c (fstatat, unlinkat): Move...
25720         * lib/fstatat.c (fstatat): ...into correct files.
25721         * lib/unlinkat.c (unlinkat): Likewise.
25722
25723         openat: fix unlinkat bugs on Solaris 9
25724         * lib/unlinkat.c (unlinkat): New file.
25725         * modules/openat (Depends-on): Add unlink.
25726         (Files): Distribute it.
25727         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
25728         trailing slash behavior is broken.
25729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25730         * modules/unistd (Makefile.am): Substitute it.
25731         * lib/unistd.in.h (unlinkat): Declare replacement.
25732         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
25733
25734         openat: fix fstatat bugs on Solaris 9
25735         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
25736         stat.
25737         * doc/posix-functions/fstatat.texi (fstatat): Document this.
25738
25739         test-unlinkat: enhance test, to expose Solaris 9 bug
25740         * tests/test-unlink.c (main): Factor guts...
25741         * tests/test-unlink.h (test_rmdir_func): ...into new file.
25742         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
25743         * tests/test-rmdir.c (main): Adjust caller.
25744         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
25745         (unlinker): New helper function.
25746         (rmdirat): Enhance check.
25747         * modules/rmdir-tests (Depends-on): Add stdbool.
25748         * modules/unlink-tests (Depends-on): Likewise.
25749         (Files): Add test-unlink.h.
25750         * modules/openat-tests (Files): Likewise.
25751         (Depends-on): Add unlinkdir.
25752
25753         test-fstatat: new test, to expose Solaris 9 bugs
25754         * tests/test-stat.c (main): Factor guts...
25755         * tests/test-stat.h (test_stat_func): ...into new file.
25756         * tests/test-lstat.c (main): Factor guts...
25757         * tests/test-lstat.h (test_lstat_func): ...into new file.
25758         * tests/test-fstatat.c: New file.
25759         * modules/stat-tests (Files): Add test-stat.h.
25760         * modules/lstat-tests (Files): Add test-lstat.h.
25761         (Depends-on): Add stdbool.
25762         * modules/openat-tests (Depends-on): Add pathmax.
25763         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
25764         (Makefile.am): Run new test.
25765
25766         remove: new module, for mingw and Solaris 9 bugs
25767         * modules/remove: New file.
25768         * lib/remove.c: Likewise.
25769         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
25770         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25771         * modules/stdio (Makefile.am): Use them.
25772         * lib/stdio.in.h (remove): Declare replacement.
25773         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25774         * doc/posix-functions/remove.texi (remove): Likewise.
25775         * modules/remove-tests: New test.
25776         * tests/test-remove.c: Likewise.
25777
25778         unlink: new module, for Solaris 9 bug
25779         * modules/unlink: New file.
25780         * lib/unlink.c: Likewise.
25781         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25783         * modules/unistd (Makefile.am): Use them.
25784         * lib/unistd.in.h (stat): Declare replacement.
25785         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25786         * doc/posix-functions/unlink.texi (unlink): Likewise.
25787         * modules/unlink-tests: New test.
25788         * tests/test-unlink.c: Likewise.
25789
25790         lstat: fix Solaris 9 bug
25791         * lib/lstat.c (lstat): Also check for trailing slash on
25792         non-symlink, non-directories.  Use stat module to simplify logic.
25793         * doc/posix-functions/lstat.texi (lstat): Document it.
25794         * modules/lstat-tests (Depends-on): Add errno, same-inode.
25795         (configure.ac): Check for symlink.
25796         * tests/test-lstat.c (main): Add more tests.
25797
25798         stat: add as dependency to other modules
25799         * modules/chown (Depends-on): Add stat.
25800         * modules/euidaccess (Depends-on): Likewise.
25801         * modules/fchdir (Depends-on): Likewise.
25802         * modules/isdir (Depends-on): Likewise.
25803         * modules/link (Depends-on): Likewise.
25804         * modules/lstat (Depends-on): Likewise.
25805         * modules/mkdir-p (Depends-on): Likewise.
25806         * modules/modechange (Depends-on): Likewise.
25807         * modules/open (Depends-on): Likewise.
25808         * modules/readlink (Depends-on): Likewise.
25809         * modules/same (Depends-on): Likewise.
25810
25811         stat: fix Solaris 9 bug
25812         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
25813         slash.
25814         * lib/stat.c (rpl_stat): Work around it.
25815         * doc/posix-functions/stat.texi (stat): Update documentation.
25816
25817         stat: new module, for mingw bug
25818         * modules/stat: New file.
25819         * lib/stat.c: Likewise.
25820         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25821         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25822         * modules/sys_stat (Makefile.am): Use them.
25823         * lib/sys_stat.in.h (stat): Declare replacement.
25824         * lib/openat.c (fstatat): Deal with lstat and stat being function
25825         macros.
25826         * modules/openat (Depends-on): Add inline.
25827         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25828         * doc/posix-functions/stat.texi (stat): Likewise.
25829         * modules/stat-tests: New test.
25830         * tests/test-stat.c: Likewise.
25831
25832 2009-09-19  Jim Meyering  <meyering@redhat.com>
25833
25834         syntax-check: detect unnecessary inclusion of canonicalize.h
25835         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
25836
25837 2009-09-19  Eric Blake  <ebb9@byu.net>
25838
25839         canonicalize-lgpl: adjust clients to use correct header
25840         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25841         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
25842         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
25843         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
25844         * lib/progreloc.c (includes): Likewise.
25845
25846 2009-09-19  Jim Meyering  <meyering@redhat.com>
25847
25848         test-posixtm.c: correct a comment
25849         * tests/test-posixtm.c: Correct first-line comment.
25850         Spotted by Eric Blake.
25851
25852 2009-09-16  Jim Meyering  <meyering@redhat.com>
25853
25854         posixtm-tests: make T const-correct; add a test case
25855         * tests/test-posixtm.c (T): Declare const.
25856         Add a test for -(2^31+1).
25857         Remove useless can-succeed-only-in-2002 test.
25858
25859         posixtm-tests: adjust the sole failing test
25860         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
25861         expected output matches what mktime now produces.  Cross-checked via
25862         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
25863
25864         posixtm: move #ifdef'd tests into a new module
25865         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
25866         * tests/test-posixtm.c: ... this new file.
25867         * modules/posixtm-tests: New module.
25868
25869 2009-09-19  Eric Blake  <ebb9@byu.net>
25870
25871         openat: simplify use of at-func.c
25872         * lib/at-func.c (includes): Include prerequisites here, to
25873         simplify requirements on client files.
25874         * lib/openat-priv.h: Add double-inclusion guard.
25875         * lib/faccessat.c (includes): Simplify.
25876         * lib/fchmodat.c (includes): Likewise.
25877         * lib/fchownat.c (includes): Likewise.
25878         * lib/mkdirat.c (includes): Likewise.
25879         * lib/mkfifoat.c (includes): Likewise.
25880         * lib/symlinkat.c (includes): Likewise.
25881
25882         openat: allow return of fd 0
25883         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
25884         * modules/save-cwd (Depends-on): Replace fcntl-safer with
25885         unistd-safer.
25886         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
25887         <fcntl.h>; this module does not leak fds.
25888         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
25889         must be allowed to return 0, leaving openat_safer to add the
25890         safety.
25891         (openat_permissive): Avoid writing to just-opened fd 2 if
25892         restoring the current directory fails.
25893         * lib/openat-die.c (openat_restore_fail): Add comment.
25894         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
25895         (save_cwd): Guarantee safe fd, but without use of open_safer.
25896         * tests/test-openat.c: New test.
25897         * modules/openat-tests (Files, Makefile.am): Distribute and build
25898         new file.
25899
25900         relocatable-prog-wrapper: fix build
25901         * modules/relocatable-prog-wrapper (Files): Update name of
25902         canonicalize m4 file, broken on 2009-09-17.
25903         Reported by emad hajjar <aleppos@hotmail.com>.
25904
25905 2009-09-19  Bruno Haible  <bruno@clisp.org>
25906
25907         * lib/safe-alloc.h: Use the standard header with GPL copyright.
25908         * lib/safe-alloc.c: Likewise.
25909         Reported by Ian Beckwith <ianb@erislabs.net>.
25910
25911 2009-09-18  Bruno Haible  <bruno@clisp.org>
25912
25913         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
25914         Reported by <erobles@sensacd.com.mx>.
25915
25916 2009-09-17  Eric Blake  <ebb9@byu.net>
25917
25918         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
25919         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
25920         slashes when checking if last component is missing.
25921         * tests/test-canonicalize.c (main): Test this.
25922
25923         canonicalize, canonicalize-lgpl: honor // if distinct from /
25924         * modules/canonicalize (Files): Add double-slash-root.m4.
25925         * modules/canonicalize-lgpl (Files): Likewise.
25926         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25927         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
25928         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
25929         fallback definition.
25930         (canonicalize_filename_mode): Use it to protect //.
25931         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
25932         (__realpath): Likewise.
25933         * tests/test-canonicalize.c (main): Test this.
25934         * tests/test-canonicalize-lgpl.c (main): Likewise.
25935         * modules/canonicalize-tests (Depends-on): Add same-inode.
25936         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25937
25938         canonicalize-lgpl: fix glibc bug with trailing slash
25939         * m4/canonicalize-lgpl.m4: Move contents...
25940         * m4/canonicalize.m4: ...here.
25941         (gl_CANONICALIZE_LGPL): Factor realpath check...
25942         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
25943         glibc 2.3.5 bug, fixed 2005-04-27.
25944         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
25945         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
25946         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
25947         * modules/canonicalize-lgpl (Files): Manage file rename.
25948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25949         * modules/stdlib (Makefile.am): Substitute witness.
25950         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
25951         is needed.
25952         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
25953         replacement is required.
25954         * lib/canonicalize.c (canonicalize_file_name): Likewise.
25955         * doc/glibc-functions/canonicalize_file_name.texi
25956         (canonicalize_file_name): Document this.
25957         * doc/posix-functions/realpath.texi (realpath): Likewise.
25958
25959         canonicalize-lgpl: reject non-directory with trailing slash
25960         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
25961         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
25962         catches failures in glibc 2.3.5.
25963         * tests/test-canonicalize.c (main): Likewise.
25964
25965         canonicalize-lgpl: use native realpath if it works
25966         * lib/canonicalize-lgpl.c (realpath): Guard with
25967         FUNC_REALPATH_WORKS.
25968         * lib/stdlib.in.h (realpath): Make declaration optional based on
25969         HAVE_REALPATH.
25970         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
25971         native realpath works.
25972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25973         * modules/stdlib (Makefile.am): Substitute witness.
25974
25975         canonicalize, canonicalize-lgpl: use <stdlib.h>
25976         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
25977         (Include): Mention <stdlib.h>.
25978         (configure.ac): Mention functions we provide.
25979         * modules/canonicalize (configure.ac): Likewise.
25980         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
25981         realpath if canonicalize_file_name is missing.
25982         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
25983         * modules/stdlib (Makefile.am): Substitute witnesses.
25984         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
25985         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
25986         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
25987         * NEWS: Document this.
25988         * doc/glibc-functions/canonicalize_file_name.texi
25989         (canonicalize_file_name): Likewise.
25990         * doc/posix-functions/realpath.texi (realpath): Likewise.
25991         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
25992
25993         test-canonicalize: consolidate into single C program
25994         * tests/test-canonicalize.sh: Delete; move setup into...
25995         * tests/test-canonicalize.c (main): ...the program, making it
25996         easier to run in debugger.  Add some tests.
25997         * modules/canonicalize-tests (Files): Remove unused file.
25998         (Depends-on): Add progname.
25999         (configure.ac, Makefile.am): Simplify.
26000
26001         test-canonicalize-lgpl: consolidate into single C program
26002         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
26003         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
26004         easier to run in debugger.  Add some tests.
26005         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
26006         (configure.ac, Makefile.am): Simplify.
26007
26008         canonicalize: avoid resolvepath
26009         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
26010         unnecessary checks.
26011         * lib/canonicalize.c (includes): Simplify.
26012         (canonicalize_file_name): Drop resolvepath implementation.
26013         * modules/canonicalize (Depends-on): Drop filenamecat.
26014
26015         canonicalize: don't lose errno
26016         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
26017         over calls to free.
26018
26019         canonicalize: simplify errno handling
26020         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
26021         assignment.
26022
26023         canonicalize, canonicalize-lgpl: update module dependencies
26024         * modules/canonicalize (Depends-on): Add extensions, lstat,
26025         pathmax, stdlib.
26026         (Files): Drop pathmax.h.
26027         (configure.ac): Adjust macro name.
26028         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
26029         lstat, stdlib, sys_stat.
26030         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
26031         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
26032         extensions.
26033         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
26034         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
26035         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
26036         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
26037         declaration, if available.
26038         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
26039         we can rely on the readlink module.
26040         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
26041         (includes): Use <unistd.h> unconditionally.
26042
26043 2009-09-17  Eric Blake  <ebb9@byu.net>
26044
26045         maint: make Include sections of modules consistent
26046         * modules/alloca: Use only header name; no need to list #include.
26047         * modules/alloca-opt: Likewise.
26048         * modules/arpa_inet: Likewise.
26049         * modules/canon-host: Likewise.
26050         * modules/configmake: Likewise.
26051         * modules/dirent: Likewise.
26052         * modules/eealloc: Likewise.
26053         * modules/environ: Likewise.
26054         * modules/fchdir: Likewise.
26055         * modules/fcntl: Likewise.
26056         * modules/fcntl-h: Likewise.
26057         * modules/gethrxtime: Likewise.
26058         * modules/gettime: Likewise.
26059         * modules/ignore-value: Likewise.
26060         * modules/inet_ntop: Likewise.
26061         * modules/inet_pton: Likewise.
26062         * modules/inttypes: Likewise.
26063         * modules/isnand-nolibm: Likewise.
26064         * modules/isnanf-nolibm: Likewise.
26065         * modules/mbchar: Likewise.
26066         * modules/mbfile: Likewise.
26067         * modules/mbiter: Likewise.
26068         * modules/mbuiter: Likewise.
26069         * modules/netdb: Likewise.
26070         * modules/netinet_in: Likewise.
26071         * modules/nproc: Likewise.
26072         * modules/pagealign_alloc: Likewise.
26073         * modules/poll: Likewise.
26074         * modules/printf-frexp: Likewise.
26075         * modules/pthread: Likewise.
26076         * modules/putenv: Likewise.
26077         * modules/random_r: Likewise.
26078         * modules/relocatable-prog: Likewise.
26079         * modules/search: Likewise.
26080         * modules/select: Likewise.
26081         * modules/selinux-h: Likewise.
26082         * modules/settime: Likewise.
26083         * modules/signal: Likewise.
26084         * modules/size_max: Likewise.
26085         * modules/socklen: Likewise.
26086         * modules/ssize_t: Likewise.
26087         * modules/stdarg: Likewise.
26088         * modules/stdbool: Likewise.
26089         * modules/stddef: Likewise.
26090         * modules/stdint: Likewise.
26091         * modules/stdio: Likewise.
26092         * modules/stdlib: Likewise.
26093         * modules/string: Likewise.
26094         * modules/strings: Likewise.
26095         * modules/sys_file: Likewise.
26096         * modules/sys_ioctl: Likewise.
26097         * modules/sys_select: Likewise.
26098         * modules/sys_socket: Likewise.
26099         * modules/sys_stat: Likewise.
26100         * modules/sys_time: Likewise.
26101         * modules/sys_times: Likewise.
26102         * modules/sys_utsname: Likewise.
26103         * modules/sys_wait: Likewise.
26104         * modules/sysexits: Likewise.
26105         * modules/time: Likewise.
26106         * modules/times: Likewise.
26107         * modules/tmpfile: Likewise.
26108         * modules/trim: Likewise.
26109         * modules/unistd: Likewise.
26110         * modules/wchar: Likewise.
26111         * modules/wctype: Likewise.
26112
26113 2009-09-17  Bruno Haible  <bruno@clisp.org>
26114
26115         Make getdate.y compile on QNX and NetBSD 5 / i386.
26116         * m4/getdate.m4 (gl_GETDATE): Conditionally define
26117         TIME_T_FITS_IN_LONG_INT.
26118         * lib/getdate.y (long_time_t): New type.
26119         (relative_time): Change type of 'seconds' field to long_time_t.
26120         (get_date): Update types of local variables. Check against overflow
26121         during conversion from long_time_t to time_t.
26122         Reported by Matt Kraai <kraai@ftbfs.org>
26123         and Hasso Tepper <hasso@netbsd.org>.
26124
26125 2009-09-17  Bruno Haible  <bruno@clisp.org>
26126
26127         * modules/COPYING: Update copyright years.
26128         * modules/README: Likeiwse.
26129         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
26130         Reported by Ian Beckwith <ianb@erislabs.net>.
26131
26132 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26133
26134         * users.txt: Update references for gnuit package.
26135
26136 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26137
26138         * m4/getdelim.m4: Fix typo in copyright line.
26139
26140 2009-09-17  Bruno Haible  <bruno@clisp.org>
26141
26142         * lib/atoll.c: Use the standard header with GPL copyright.
26143         * lib/argz.in.h: Likewise.
26144         * lib/glob.c: Likewise.
26145         * lib/glob-libc.h: Likewise.
26146         * lib/random_r.c: Likewise.
26147         * lib/siglist.h: Likewise.
26148         * lib/strsignal.c: Likewise.
26149         Reported by Ian Beckwith <ianb@erislabs.net>.
26150
26151 2009-09-17  Eric Blake  <ebb9@byu.net>
26152
26153         rmdir: ensure correct dependency order
26154         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
26155
26156 2009-09-17  Bruno Haible  <bruno@clisp.org>
26157
26158         Disable assertion that fails on NetBSD 5 / i386.
26159         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
26160         Reported by Sam Steingold <sds@gnu.org>
26161         and Hasso Tepper <hasso@netbsd.org>.
26162
26163 2009-09-16  Eric Blake  <ebb9@byu.net>
26164
26165         unlinkdir: port to mingw
26166         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
26167         on which no one can unlink a directory.
26168
26169         stdlib: sort witness names
26170         * modules/stdlib (Makefile.am): Sort replacements.
26171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26172         * lib/stdlib.in.h: Likewise.
26173
26174         parse-duration-tests: avoid link failure
26175         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
26176         LIBINTL.
26177         Reported by Tom G. Christensen.
26178
26179         openat-tests: ensure unlinkat behaves like rmdir
26180         * tests/test-rmdir.c (main): Factor guts...
26181         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
26182         * modules/rmdir-tests (Files): Ship new file.
26183         * modules/openat-tests: New test.
26184         * tests/test-unlinkat.c: Likewise.
26185
26186         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
26187         * modules/rmdir-errno (Status, Notice): Now obsolete.
26188
26189         rmdir: work around cygwin 1.5.x and mingw bugs
26190         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
26191         * lib/rmdir.c (rmdir): Work around it.
26192         * modules/rmdir (Status, Notice): No longer obsolete.
26193         (Files): Add dos.m4.
26194         (Depends-on): Add unistd.
26195         (configure.ac): Set witnesses.
26196         (License): Relax to LGPLv2+.
26197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
26198         * modules/unistd (Makefile.am): Substitute witnesses.
26199         * lib/unistd.in.h (rmdir): Declare replacement.
26200         * doc/posix-functions/rmdir.texi (rmdir): Document this.
26201         * modules/rmdir-tests: New tests.
26202         * tests/test-rmdir.c: Likewise.
26203
26204 2009-09-15  Eric Blake  <ebb9@byu.net>
26205
26206         fchdir: improve use of replacement functions
26207         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
26208         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
26209         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
26210         REPLACE_CLOSEDIR.
26211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
26212         * modules/sys_stat (Makefile.am): Substitute correct witness.
26213         * modules/dirent (Makefile.am): Likewise.
26214         * modules/unistd (Makefile.am): Likewise.
26215         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
26216         * lib/unistd.in.h (dup): Likewise.
26217         * lib/sys_stat.in.h (fstat): Likewise.
26218
26219         maint: ignore gnulib-tool temp files
26220         * .gitignore: Ignore files created during gnulib-tool --test.
26221
26222 2009-09-13  Jim Meyering  <meyering@redhat.com>
26223
26224         posixtm: don't reject a time that specify "60" as the number of seconds
26225         * lib/posixtm.c (posixtime): The code to reject invalid dates
26226         would also reject a time specified with the .60 suffix.
26227         But POSIX allows that, in order to accommodate leap seconds.
26228         So don't reject it.
26229         (main): Adjust tests accordingly.
26230         * modules/posixtm (Depends-on): Add stpcpy.
26231
26232 2009-09-11  Jim Meyering  <meyering@redhat.com>
26233
26234         announce-gen: include [$release_type] in emitted Subject:
26235         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
26236         e.g., [stable] in the emitted Subject: line.
26237
26238 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26239
26240         Remove obsolete macros from several modules.
26241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
26242         obsolete Autoconf macros with their modern counterparts.
26243         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
26244         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
26245         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26246         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
26247         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
26248         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26249         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26250         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26251         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26252         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
26253         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26254         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26255         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
26256         * m4/sockets.m4 (gl_SOCKETS): Likewise.
26257         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
26258         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
26259         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26260         * m4/time_r.m4 (gl_TIME_R): Likewise.
26261         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26262         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
26263         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26264
26265         Fix copyright header in build-aux scripts.
26266         * build-aux/git-version-gen: Fix copyright header to match GPLv3
26267         recommendation.
26268         * build-aux/ncftpput-ftp: Likewise.
26269         * build-aux/update-copyright: Likewise.
26270
26271 2009-09-09  Eric Blake  <ebb9@byu.net>
26272
26273         test-link: allow Linux choice of errno
26274         * tests/test-link.c (main): Relax test for alternate error.
26275
26276         strndup: fix improper m4 caching
26277         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
26278         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
26279         (gl_PREREQ_STRNDUP): Delete.
26280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
26281         * modules/string (Makefile.am): Substitute it.
26282         * lib/string.in.h (strndup): Modernize prototype.
26283
26284         getcwd: port to mingw
26285         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
26286         different from the POSIX assumptions made throughout the getcwd
26287         module; fortunately, the mingw getcwd does not need replacement.
26288         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
26289         * modules/getcwd-tests: New test.
26290         * tests/test-getcwd.c: Likewise.
26291
26292         link: fix platform bugs
26293         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
26294         * lib/link.c (link): Work around them.  Fix related mingw bug.
26295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
26296         * modules/unistd (Makefile.am): Substitute it.
26297         * lib/unistd.in.h (link): Declare replacement.
26298         * doc/posix-functions/link.texi (link): Document this.
26299         * modules/link (Depends-on): Add strdup-posix, sys_stat.
26300
26301         test-link: consolidate into single C program, test more cases
26302         * tests/test-link.sh: Delete.
26303         * tests/test-link.c: Test more error conditions.  Exposes bugs on
26304         at least Cygwin and Solaris.
26305         * modules/link-tests (Files): Remove unused file.
26306         (Depends-on): Add errno, sys_stat.
26307         (Makefile.am): Simplify.
26308
26309 2009-09-08  Bruno Haible  <bruno@clisp.org>
26310
26311         Work around towlower, towupper bug on mingw.
26312         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
26313         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
26314         * doc/posix-functions/towlower.texi: Mention the mingw bug.
26315         * doc/posix-functions/towupper.texi: Likewise.
26316         Reported by Eric Blake.
26317
26318 2009-09-08  Jim Meyering  <meyering@redhat.com>
26319
26320         build: don't try to run autoheader if we don't use it
26321         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
26322         is not used in configure.ac.
26323
26324 2009-09-08  Eric Blake  <ebb9@byu.net>
26325
26326         euidaccess: fix compilation error
26327         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
26328
26329         rawmemchr: relax license
26330         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
26331         okay.
26332         Reported by Jim Meyering.
26333
26334         mkfifoat: new module
26335         * modules/mkfifoat: New file.
26336         * lib/mkfifoat.c: Likewise.
26337         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
26338         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26339         * modules/sys_stat (Makefile.am): Use them.
26340         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
26341         * MODULES.html.sh (File system functions): Mention module.
26342         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26343         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26344         * modules/mkfifoat-tests: New test.
26345         * tests/test-mkfifoat.c: Likewise.
26346
26347         strchrnul: relax license
26348         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
26349         okay.
26350         Reported by Jim Meyering.
26351
26352 2009-09-08  Eric Blake  <ebb9@byu.net>
26353
26354         fstatat: fix compilation on Solaris
26355         * lib/fstatat.c (includes): Add fcntl.h.
26356         Reported by Pádraig Brady.
26357
26358 2009-09-07  Eric Blake  <ebb9@byu.net>
26359
26360         rename: modernize replacement
26361         * modules/rename (Depends-on): Add stdio.
26362         (configure.ac): Declare witness.
26363         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
26364         stdio take care of replacement.
26365         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
26366         * modules/stdio (Makefile.am): Substitute them.
26367         * lib/stdio.in.h (rename): Declare replacement.
26368         * lib/rename.c (includes): Allow cross-compilation to non-windows
26369         machines.
26370         * doc/posix-functions/rename.texi (rename): Improve
26371         documentation.
26372
26373         stdio: sort witness names
26374         * modules/stdio (Makefile.am): Sort replacements.
26375         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26376         * lib/stdio.in.h: Likewise.
26377
26378         getcwd: minor cleanups
26379         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
26380         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
26381
26382         openat: provide more convenience names
26383         * modules/faccessat (configure.ac): Add C witness.
26384         * lib/unistd.in.h (readlinkat): Fix typo.
26385         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
26386         convenience wrappers.
26387         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
26388         wrappers in syntax checks.
26389
26390 2009-09-06  Eric Blake  <ebb9@byu.net>
26391
26392         doc: fix comments in recent patches
26393         * lib/faccessat.c: Mention correct function.
26394         * lib/fchmodat.c: Likewise.
26395         * lib/fchownat.c: Likewise.
26396         * lib/symlinkat.c: Likewise.
26397         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
26398         constants.
26399
26400         faccessat, symlinkat: continue cleanup of previous patch
26401         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
26402         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26403         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
26404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
26405         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
26406         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
26407         set.
26408
26409 2009-09-06  Bruno Haible  <bruno@clisp.org>
26410
26411         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
26412         (fstatat): Declare if GNULIB_FSTATAT is set.
26413         (mkdirat): Declare if GNULIB_MKDIRAT is set.
26414         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
26415         (unlinkat): Declare if GNULIB_UNLINKAT is set.
26416         * modules/fcntl-h (Files): Remove m4/openat.m4.
26417         * modules/sys_stat (Files): Remove m4/openat.m4.
26418         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
26419         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
26420         * modules/unistd (Files): Remove m4/openat.m4.
26421         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
26422         GNULIB_OPENAT.
26423         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
26424         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
26425         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
26426         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
26427         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
26428         gl_OPENAT_DEFAULTS.
26429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
26430         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
26431         Don't require gl_OPENAT_DEFAULTS.
26432         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
26433         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
26434         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
26435         (gl_OPENAT_DEFAULTS): Remove macro.
26436
26437 2009-09-06  Bruno Haible  <bruno@clisp.org>
26438
26439         * modules/openat (configure.ac): Remove unneeded witness.
26440
26441 2009-09-06  Bruno Haible  <bruno@clisp.org>
26442
26443         Set errno to ENOSYS when a function is entirely unsupported.
26444         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
26445         EOPNOTSUPP.
26446         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26447         * modules/chown (Depends-on): Remove errno.
26448
26449 2009-09-06  Bruno Haible  <bruno@clisp.org>
26450
26451         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
26452
26453 2009-09-06  Bruno Haible  <bruno@clisp.org>
26454
26455         * lib/sys_stat.in.h: Fix preprocessor command indentation.
26456
26457 2009-09-06  Ben Pfaff  <blp@gnu.org>
26458             Bruno Haible  <bruno@clisp.org>
26459
26460         Work around a glibc bug in strtok_r.
26461         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
26462         Undefine if UNDEFINE_STRTOK_R is set.
26463         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
26464         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26465         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
26466         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
26467         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
26468         UNDEFINE_STRTOK_R.
26469         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
26470
26471 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26472
26473         exclude: minor fix
26474         * lib/exclude.c: Include wctype.h
26475
26476 2009-09-06  Akim Demaille  <demaille@gostai.com>
26477
26478         bootstrap: improve error message
26479         * build-aux/bootstrap (find_tool): Upon failure, report the list
26480         of candidates.
26481         Honor the initial value of the envvar.
26482
26483 2009-09-05  Eric Blake  <ebb9@byu.net>
26484
26485         symlinkat: new module
26486         * modules/symlinkat: New file.
26487         * lib/symlinkat.c: Likewise.
26488         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
26489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26490         * modules/unistd (Makefile.am): Use them.
26491         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
26492         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
26493         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
26494         * MODULES.html.sh (File system functions): Mention module.
26495         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26496         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26497         * modules/symlinkat-tests: New test.
26498         * tests/test-symlinkat.c: Likewise.
26499
26500         test-openat-safer: add more checks
26501         * tests/test-openat-safer.c (main): Check more code paths.
26502
26503 2009-09-05  Jim Meyering  <meyering@redhat.com>
26504
26505         syntax-check: detect unnecessary inclusion of openat.h
26506         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
26507
26508 2009-09-05  Bruno Haible  <bruno@clisp.org>
26509
26510         Support towlower, towupper.
26511         * doc/posix-functions/towlower.texi: Mention module wctype.
26512         * doc/posix-functions/towupper.texi: Likewise.
26513         * lib/wctype.in.h (towlower, towupper): New functions.
26514         * tests/test-wctype.c: Include stdio.h, stdlib.h.
26515         (ASSERT): New macro.
26516         (e): New variable.
26517         (main): Test also towlower, towupper. Test WEOF argument.
26518         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26519
26520 2009-09-05  Bruno Haible  <bruno@clisp.org>
26521
26522         Fix conversion behaviour when the input is invalid.
26523         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
26524         mark occurring in first pass of indirect conversion.
26525         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
26526         input.
26527         Found by clang's static analyzer.
26528
26529 2009-09-05  Bruno Haible  <bruno@clisp.org>
26530
26531         * tests/test-striconveh.c (main): Test indirect conversion on platforms
26532         where direct conversion is possible.
26533
26534 2009-09-04  Eric Blake  <ebb9@byu.net>
26535
26536         openat: fail with ENOENT on empty name
26537         * lib/openat-proc.c (openat_proc_name): Special-case the empty
26538         buffer.
26539
26540         link-follow: fix logic bug in prior patch
26541         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
26542         reversed sense of yes and no in prior patch.  Avoid confusing
26543         compilation failure with desired semantics.
26544
26545         link-follow: accomodate mingw and cross-compilation
26546         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
26547         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
26548         cross-compilation results to -1, to make linkat easier to
26549         implement when cross-compiling.  Trivially support mingw.
26550         * modules/link-follow (configure.ac): Call new name.
26551         * NEWS: Mention this.
26552
26553 2009-09-03  Eric Blake  <ebb9@byu.net>
26554
26555         faccessat: compile replacement
26556         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
26557         needed.
26558
26559         fts: fix compilation error
26560         * lib/fts.c (includes): Re-add "openat.h", for
26561         openat_needs_fchdir.
26562
26563         faccessat: new module
26564         * modules/faccessat: New file.
26565         * lib/faccessat.c: Likewise.
26566         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26568         * modules/unistd (Makefile.am): Use it.
26569         * lib/unistd.in.h (faccessat): Declare it.
26570         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
26571         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
26572         * MODULES.html.sh (File system functions): Mention it.
26573         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
26574         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26575
26576         euidaccess: prefer POSIX over non-standard implementation
26577         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
26578         * lib/euidaccess.c (euidaccess): Use it if available.
26579
26580         openat: make template easier to use
26581         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
26582         AT_FUNC_F2 to be undefined.
26583         (VALIDATE_FLAG): New macro; use it to reject bad flags.
26584         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
26585         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
26586         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
26587         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
26588         Likewise.
26589         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
26590         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
26591         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
26592         Likewise.
26593
26594         openat: declare in POSIX headers
26595         * NEWS: Mention this.
26596         * modules/openat (configure.ac): Declare witnesses.
26597         (Depends-on): Add fcntl-h, sys_stat, unistd.
26598         (Include): Mention correct headers.
26599         * modules/fcntl-h (Depends-on): Add link-warning.
26600         (Files): Add openat.m4.
26601         (Makefile.am): Substitute witnesses.
26602         * modules/sys_stat (Files, Makefile.am): Likewise.
26603         * modules/unistd (Files, Makefile.am): Likewise.
26604         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26605         (gl_OPENAT_DEFAULTS): New macro.
26606         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26609         (SYS_STAT_H): Remove unused variable.
26610         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26611         * lib/fcntl--.h (includes): Remove unneeded header.
26612         * lib/openat-safer.c (includes): Likewise.
26613         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26614         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26615         appropriate headers.
26616         (__OPENAT_PREFIX): Delete.
26617         * lib/fcntl.in.h (openat): Provide declaration.
26618         (AT_FDCWD): Fix Solaris bug.
26619         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26620         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26621         * lib/fchmodat.c (includes):  Adjust to find declaration.
26622         * lib/fchownat.c (includes): Likewise.
26623         * lib/mkdirat.c (includes): Likewise.
26624         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26625         still visible.
26626
26627 2009-09-02  Eric Blake  <ebb9@byu.net>
26628
26629         errno: use consistently
26630         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
26631         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
26632         * lib/canonicalize.c (ELOOP): Likewise.
26633         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
26634         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
26635         * lib/lchown.c (EOPNOTSUPP): Likewise.
26636         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
26637         * lib/savewd.c (ESTALE): Likewise.
26638         * lib/settime.c (ENOSYS): Likewise.
26639         * lib/utimens.c (ENOSYS): Likewise.
26640         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
26641         * lib/chdir-safer.c (ELOOP): Likewise.
26642         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
26643         * modules/c-stack (Depends-on): Add errno.
26644         * modules/canonicalize (Depends-on): Likewise.
26645         * modules/chdir-safer (Depends-on): Likewise.
26646         * modules/fdopendir (Depends-on): Likewise.
26647         * modules/inet_ntop (Depends-on): Likewise.
26648         * modules/inet_pton (Depends-on): Likewise.
26649         * modules/lchown (Depends-on): Likewise.
26650         * modules/openat (Depends-on): Likewise.
26651         * modules/savewd (Depends-on): Likewise.
26652         * modules/settime (Depends-on): Likewise.
26653         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
26654
26655         fts: avoid leaking fds
26656         * modules/fts (Depends-on): Add cloexec.
26657         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
26658         flag.
26659
26660         fts: make directory fds more robust
26661         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
26662         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
26663
26664         backupfile, chdir-long, fts, savedir: make safer
26665         * lib/backupfile.c (includes): Use "dirent--.h", since
26666         numbered_backup can write to stderr during readdir.
26667         * lib/savedir.c (includes): Likewise.
26668         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
26669         emulation can write to stderr on failure.
26670         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
26671         * lib/getcwd.c: Document why opendir_safer is unused.
26672         * lib/glob.c: Likewise.
26673         * lib/scandir.c: Likewise.
26674         * lib/openat-proc.c: Likewise, for open_safer.
26675         * modules/backupfile (Depends-on): Add dirent-safer.
26676         * modules/savedir (Depends-on): Likewise.
26677         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
26678         * modules/chdir-long (Depends-on): Add openat-safer.
26679
26680         openat-safer: new module
26681         * modules/openat-safer: New file.
26682         * lib/openat-safer.c: Likewise.
26683         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
26684         * lib/fcntl-safer.h (openat_safer): Declare.
26685         * lib/fcntl--.h (openat): Override.
26686         * MODULES.html.sh (File descriptor based I/O): Mention it.
26687         * lib/openat.h: Add double-inclusion guards.
26688         * lib/openat.c (includes): Only include "fcntl-safer.h", not
26689         "fcntl--.h", so we can implement openat.
26690         * modules/openat-safer-tests: New test.
26691         * tests/test-openat-safer.c: New file.
26692
26693         dirent-safer: new module
26694         * modules/dirent-safer: New file.
26695         * lib/dirent--.h: Likewise.
26696         * lib/dirent-safer.h: Likewise.
26697         * lib/opendir-safer.c: Likewise.
26698         * m4/dirent-safer.m4: Likewise.
26699         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
26700         * modules/dirent-safer-tests: New test.
26701         * tests/test-dirent-safer.c: New file.
26702         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
26703
26704         fdopendir: optimize on mingw
26705         * lib/unistd.in.h (_gl_directory_name): New prototype.
26706         * lib/fchdir.c (_gl_directory_name): Implement it.
26707         (fchdir): Use it to simplify implementation.
26708         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
26709         fchdir, when available, to avoid calling [f]chdir().
26710
26711         fdopendir: split into its own module
26712         * lib/openat.c (fdopendir): Move...
26713         * lib/fdopendir.c: ...into new file.
26714         * modules/fdopendir: New module.
26715         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
26716         * modules/openat (Depends-on): Add fdopendir.
26717         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
26718         fdopendir here.
26719         * modules/savedir (Depends-on): Only need fdopendir, not full
26720         openat.
26721         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
26722         * lib/openat.h (fdopendir): Drop prototype.
26723         * lib/dirent.in.h (fdopendir): Provide prototype.
26724         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
26725         * modules/dirent (Makefile.am): Substitute them.
26726         * MODULES.html.sh (File system functions): Mention it.
26727         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
26728         * modules/fdopendir-tests: New file.
26729         * tests/test-fdopendir.c: Likewise.
26730
26731         fchdir: use more consistent macro convention
26732         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
26733         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
26734         REPLACE_FCHDIR, rather than relying on config.h macros.
26735         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
26736         inside a single make-time REPLACE_FCHDIR block, rather than using
26737         the config.h FCHDIR_REPLACEMENT.
26738         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
26739         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
26740         Manage fstat replacement.
26741         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
26742         REPLACE_FCHDIR.
26743         * modules/sys_stat (Files): Add m4/unistd_h.m4.
26744         (Makefile.am): Substitute REPLACE_FCHDIR.
26745         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
26746         FCHDIR_REPLACEMENT.
26747         * lib/dup-safer.c (dup_safer): Likewise.
26748         * lib/dup2.c (rpl_dup2): Likewise.
26749         * lib/dup3.c (rpl_dup3): Likewise.
26750         * lib/open.c (rpl_open): Likewise.
26751
26752         fchdir: simplify error handling, and support dup3
26753         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
26754         stdbool, malloc-posix, realloc-posix.
26755         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
26756         (ensure_dirs_slot): Return false on allocation failure.
26757         (rpl_dup2): Delete.
26758         (_gl_register_dup): New function.
26759         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
26760         (_gl_register_fd): Close fd on allocation failure.
26761         * lib/fcntl.in.h (_gl_register_fd): Update signature.
26762         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
26763         prototype.
26764         (rpl_dup2_fchdir): Delete prototype.
26765         * lib/open.c (open): Update caller.
26766         * lib/dup2.c (dup2): Track fchdir metadata.
26767         * lib/dup3.c (dup3): Likewise.
26768         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
26769         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
26770
26771 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26772
26773         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
26774         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
26775         don't pass arguments to AC_OUTPUT.
26776
26777 2009-09-02  Bruno Haible  <bruno@clisp.org>
26778
26779         * modules/mkdtemp (License): Relicense under LGPLv2+.
26780         Reported by Paolo Bonzini.
26781
26782 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26783
26784         Replace uses of obsolete autoconf macros in Jim's modules.
26785         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
26786         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
26787         can evoke a warning from autoconf when run with -Wobsolete
26788         enabled.  They were declared obsolete for good reasons (see
26789         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
26790         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
26791         should not continue using the deprecated macros.
26792         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
26793         obsolete Autoconf macros with modern counterparts.
26794         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26795         * m4/dos.m4 (gl_AC_DOS): Likewise.
26796         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
26797         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26798         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
26799         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
26800         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
26801         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
26802         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
26803         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
26804         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
26805         Likewise.
26806         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26807         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
26808         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
26809         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
26810         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
26811         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
26812
26813 2009-09-01  Eric Blake  <ebb9@byu.net>
26814
26815         fchdir: fix off-by-one bug in previous patch
26816         * lib/fchdir.c (rpl_fstat): Use correct bounds.
26817         (_gl_unregister_fd): Delete useless if.
26818
26819 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
26820
26821         maint.mk: sort the list of syntax-check rules
26822         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
26823         easier to get a sense of progress when the rules are run sequentially
26824         and take a long time.
26825
26826 2009-09-01  Simon Josefsson  <simon@josefsson.org>
26827
26828         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
26829         * modules/netinet_in: Likewise.
26830         * modules/sys_file: Likewise.
26831         * modules/sys_ioctl: Likewise.
26832         * modules/sys_select: Likewise.
26833         * modules/sys_socket: Likewise.
26834         * modules/sys_stat: Likewise.
26835         * modules/sys_time: Likewise.
26836         * modules/sys_times: Likewise.
26837         * modules/sys_utsname: Likewise.
26838         * modules/sys_wait: Likewise.
26839
26840 2009-09-01  Jim Meyering  <meyering@redhat.com>
26841
26842         fts: help ensure that return values are not ignored
26843         * lib/fts_.h (__GNUC_PREREQ): Define.
26844         (__attribute_warn_unused_result__): Define.
26845         (fts_children, fts_close, fts_open, fts_read): Declare with
26846         __attribute_warn_unused_result__.
26847
26848         fts: fts_close now fails also when closing a dir file descriptor fails
26849         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
26850         and propagate to caller, along with errno.
26851
26852         announce-gen: correct formatting in --help output
26853         * build-aux/announce-gen (usage): Move the one-line description in
26854         --help output "up", to where it belongs, just after Usage:.
26855
26856 2009-08-31  Eric Blake  <ebb9@byu.net>
26857
26858         fchdir: port to mingw
26859         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
26860         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
26861         opened, then use a substitute.
26862         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
26863         replacement.
26864         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
26865         (_gl_register_fd): No need to check stat if open already filters
26866         all directories.
26867         (fchdir): Fix error condition to match POSIX.
26868         * modules/fchdir (Depends-on): Add sys_stat.
26869         * doc/posix-functions/open.texi (open): Document the limitation.
26870         * modules/fchdir-tests: New file.
26871         * tests/test-fchdir.c: Likewise.
26872
26873         canonicalize: allow cross-testing from cygwin to mingw
26874         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
26875         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
26876         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
26877         Likewise.
26878         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
26879         target does not support symlinks.
26880         * tests/test-canonicalize-lgpl.sh: Likewise.
26881
26882         chown: avoid compilation warning on mingw
26883         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
26884         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
26885         mingw.
26886         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26887         * modules/chown (Depends-on): Add errno.
26888
26889 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26890
26891         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
26892         command.
26893
26894 2009-08-31  Jim Meyering  <meyering@redhat.com>
26895
26896         canonicalize: remove useless initialization
26897         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
26898         initialization of local, "end".
26899
26900 2009-08-30  Bruno Haible  <bruno@clisp.org>
26901
26902         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
26903         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
26904         ENOSYS.
26905
26906 2009-08-30  Bruno Haible  <bruno@clisp.org>
26907
26908         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
26909         /usr/xpg4/bin/tr when it exists.
26910         * tests/test-pipe-filter-gi1.sh: Likewise.
26911
26912 2009-08-30  Bruno Haible  <bruno@clisp.org>
26913
26914         Work around deficient /usr/bin/id program on Solaris.
26915         * tests/test-file-has-acl.sh (ID): New variable.
26916         * tests/test-set-mode-acl.sh (ID): Likewise.
26917         * tests/test-copy-acl.sh (ID): Likewise.
26918         * tests/test-copy-file.sh (ID): Likewise.
26919
26920 2009-08-30  Bruno Haible  <bruno@clisp.org>
26921
26922         New module 'xstriconveh'.
26923         * lib/xstriconveh.h: New file.
26924         * lib/xstriconveh.c: New file.
26925         * modules/xstriconveh: New file.
26926
26927 2009-08-30  Bruno Haible  <bruno@clisp.org>
26928
26929         Make it easier to use mem_cd_iconveh.
26930         * lib/striconveh.h (iconveh_t): New type.
26931         (iconveh_open, iconveh_close): New declarations.
26932         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26933         with a single 'const iconveh_t *' argument.
26934         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
26935         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26936         with a single 'const iconveh_t *' argument.
26937         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
26938         * tests/test-striconveh.c (main): Update.
26939         * NEWS: Mention the change.
26940
26941 2009-08-30  Bruno Haible  <bruno@clisp.org>
26942
26943         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
26944         problem.
26945
26946 2009-08-30  Bruno Haible  <bruno@clisp.org>
26947
26948         Work around iconv_open problem on Solaris.
26949         * lib/iconv_open-solaris.gperf: New file.
26950         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
26951         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
26952         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26953         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
26954         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
26955         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
26956
26957 2009-08-29  Jim Meyering  <meyering@redhat.com>
26958
26959         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
26960         * top/maint.mk (cvs-check): Remove target; it was just an alias
26961         to the better-named vc-diff-check.
26962         (maintainer-distcheck): Remove rule.  It was used only from
26963         the (alpha/beta/major) target, and all of its commands but one
26964         were coreutils-specific.
26965         (vc-dist): Remove rule.
26966         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
26967         Run vc-diff-check, not vc-dist.
26968         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
26969
26970 2009-08-27  Bruno Haible  <bruno@clisp.org>
26971
26972         * tests/test-bitrotate.c (main): Remove test that uses a shift count
26973         of 0.
26974
26975 2009-08-27  Bruno Haible  <bruno@clisp.org>
26976
26977         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
26978         compilers.
26979         * doc/func.texi: Document the SunPRO C bug.
26980
26981 2009-08-27  Bruno Haible  <bruno@clisp.org>
26982
26983         Fix link error on Solaris.
26984         * tests/test-parse-duration.c (xstrdup): Remove function.
26985
26986 2009-08-26  Pádraig Brady  <P@draigbrady.com>
26987
26988         ignore-value: handle pointer types, too
26989         * lib/ignore-value.h (__attribute__): Remove definition.
26990         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
26991         of a more concise and more-often effective "(void) i" statement.
26992         (ignore_ptr): New function to suppress warnings from functions that
26993         return pointers, and to make it explicit that one function doesn't
26994         handle all cases.
26995
26996 2009-08-25  Bruno Haible  <bruno@clisp.org>
26997
26998         dup2: work around a Linux bug.
26999         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
27000         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
27001         * doc/posix-functions/dup2.texi: Mention the Linux bug.
27002         Reported by Simon Josefsson.
27003
27004 2009-08-25  Jim Meyering  <meyering@redhat.com>
27005
27006         libguestfs uses gnulib
27007         * users.txt: Add libguestfs.
27008
27009 2009-08-24  Eric Blake  <ebb9@byu.net>
27010
27011         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
27012         * lib/pipe2.c (includes): Add binary-io.h.
27013         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
27014
27015 2009-08-24  Bruno Haible  <bruno@clisp.org>
27016
27017         Tolerate declared but missing accept4 syscall.
27018         * lib/accept4.c (accept4): Invoke original accept4 function first, if
27019         available.
27020         * lib/sys_socket.in.h (accept4): If the function is already present,
27021         override it.
27022         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
27023         * modules/accept4 (Makefile.am): Compile accept4.c always.
27024         Reported by Paolo Bonzini and Eric Blake.
27025
27026 2009-08-23  Bruno Haible  <bruno@clisp.org>
27027
27028         New module 'accept4'.
27029         * lib/sys_socket.in.h (accept4): New declaration.
27030         * lib/accept4.c: New file.
27031         * m4/accept4.m4: New file.
27032         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27033         GNULIB_ACCEPT4, HAVE_ACCEPT4.
27034         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
27035         HAVE_ACCEPT4.
27036         * modules/accept4: New file.
27037         * doc/glibc-functions/accept4.texi: Mention the new module.
27038
27039 2009-08-24  Jim Meyering  <meyering@redhat.com>
27040
27041         progname: also set global program_invocation_name, when possible
27042         Before this change, a libtool-enabled program that calls glibc's
27043         error function would report the program name as
27044         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
27045         * modules/progname (configure.ac): Check for a declaration of
27046         program_invocation_name.
27047         * lib/progname.c:  Include <errno.h>.
27048         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
27049         Set program_invocation_name.
27050
27051 2009-08-23  Bruno Haible  <bruno@clisp.org>
27052
27053         * lib/dup3.c: Include <string.h>.
27054
27055 2009-08-23  Bruno Haible  <bruno@clisp.org>
27056
27057         * lib/dup3.c (dup3): Test only once whether the system actually exists.
27058         * lib/pipe2.c (pipe2): Likewise.
27059         Suggested by Eric Blake.
27060
27061 2009-08-23  Bruno Haible  <bruno@clisp.org>
27062
27063         Tolerate declared but missing dup3 syscall.
27064         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
27065         * lib/unistd.in.h (dup3): If the function is already present,
27066         override it.
27067         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
27068         * modules/dup3 (Makefile.am): Compile dup3.c always.
27069         Reported by Paolo Bonzini.
27070
27071 2009-08-23  Bruno Haible  <bruno@clisp.org>
27072
27073         Tolerate declared but missing pipe2 syscall.
27074         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
27075         available.
27076         * lib/unistd.in.h (pipe2): If the function is already present,
27077         override it.
27078         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
27079         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
27080         Reported by Paolo Bonzini.
27081
27082 2009-08-23  Bruno Haible  <bruno@clisp.org>
27083
27084         * lib/pipe2.c (pipe2): Move #ifs inside function.
27085
27086 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27087
27088         quotearg: document limitations of quote_these_too
27089         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
27090         those limitations are created.
27091         * lib/quotearg.h (set_char_quoting): Document that digits and
27092         letters that are special after backslash are not permitted.
27093         (quotearg_char): Cross-reference set_char_quoting documentation.
27094
27095 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
27096
27097         quotearg: implement custom_quoting_style
27098         * lib/quotearg.c: (struct quoting_options): Add left_quote and
27099         right_quote fields.
27100         (set_custom_quoting): New public function.
27101         (quotearg_buffer_restyled): Add left_quote and right_quote
27102         arguments, handle them very much like locale quoting, and update
27103         all uses.
27104         (quotearg_n_custom): New public function.
27105         (quotearg_n_custom_mem): New public function.
27106         (quotearg_custom): New public function.
27107         (quotearg_custom_mem): New public function.
27108         * lib/quotearg.h: Prototype and document new public functions.
27109         (enum quoting_style): For escape_quoting_style and
27110         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
27111         ignored even though they're otherwise like c_quoting_style.
27112         Add custom_quoting_style member and document with comparison to
27113         clocale_quoting_style.
27114         * tests/test-quotearg.c (custom_quotes): New array.
27115         (custom_results): New array.
27116         (main): Extend to test custom quoting.
27117
27118 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27119
27120         quotearg: fix right quote escaping when it's in quote_these_too
27121         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
27122         quote, be sure to prepend only one backslash.
27123         * tests/test-quotearg.c (use_quote_double_quotes): New function.
27124         (main): Test it.
27125
27126 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27127
27128         quotearg-tests: test escaping of embedded locale quotes
27129         * tests/test-quotearg.c (struct result_strings): Add member for
27130         new input.
27131         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
27132         (inputs): Add new input.
27133         (results_g): Add expected results.
27134         (flag_results): Likewise.
27135         (locale_results): Likewise.
27136         (compare_strings): Check those.
27137
27138 2009-08-23  Bruno Haible  <bruno@clisp.org>
27139
27140         Tests for module 'dup3'.
27141         * modules/dup3-tests: New file.
27142         * tests/test-dup3.c: New file.
27143
27144         New module 'dup3'.
27145         * lib/unistd.in.h (dup3): New declaration.
27146         * lib/dup3.c: New file.
27147         * m4/dup3.m4: New file.
27148         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
27149         HAVE_DUP3.
27150         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
27151         * modules/dup3: New file.
27152         * doc/glibc-functions/dup3.texi: Mention the new module.
27153
27154 2009-08-23  Bruno Haible  <bruno@clisp.org>
27155
27156         Tweak the dup2 test.
27157         * tests/test-dup2.c (main): Create the test file empty. Verify that an
27158         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
27159         the test file is still empty. Fix argument order of lseek.
27160
27161 2009-08-23  Bruno Haible  <bruno@clisp.org>
27162
27163         Avoid test link errors when the modules getopt-gnu, gettext are used.
27164         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
27165         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27166
27167 2009-08-23  Bruno Haible  <bruno@clisp.org>
27168
27169         Fix getdtablesize() on mingw.
27170         * lib/getdtablesize.c (getdtablesize): Implement differently.
27171         * lib/unistd.in.h (getdtablesize): Improve comment.
27172
27173 2009-08-23  Bruno Haible  <bruno@clisp.org>
27174
27175         New module 'mkostemp'.
27176         Based on Ulrich Drepper's 2007-08-10 change in glibc.
27177         * lib/stdlib.in.h (mksotemp): New declaration.
27178         * lib/mkostemp.c: New file, from glibc with modifications.
27179         * lib/tempname.h (GT_FILE): Remove outdated comment.
27180         (gen_tempname): Add flags argument.
27181         * lib/tempname.c (__GT_BIGFILE): Remove macro.
27182         (__GT_FILE): Map to 1.
27183         (small_open, large_open): Remove macros.
27184         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
27185         * lib/mkstemp.c (mkstemp): Update.
27186         * lib/mkdtemp.c (mkdtemp): Likewise.
27187         * m4/mkostemp.m4: New file.
27188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
27189         HAVE_MKOSTEMP.
27190         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
27191         HAVE_MKOSTEMP.
27192         * modules/mkostemp: New file, based on modules/mkstemp.
27193         * doc/glibc-functions/mkostemp.texi: Mention the new module.
27194         * NEWS: Mention the change.
27195
27196 2009-08-23  Bruno Haible  <bruno@clisp.org>
27197
27198         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
27199         Reported by Eric Blake.
27200
27201 2009-08-23  Bruno Haible  <bruno@clisp.org>
27202
27203         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
27204         Reported by Eric Blake.
27205
27206 2009-08-23  Bruno Haible  <bruno@clisp.org>
27207
27208         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
27209         * modules/pipe2 (Depends-on): Likewise.
27210
27211 2009-08-23  Eric Blake  <ebb9@byu.net>
27212
27213         fcntl-h: add O_TTY_INIT support
27214         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
27215         * tests/test-fcntl-h.c (o): Test it.
27216         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27217
27218         fcntl-h: rename from fcntl, in preparation for fcntl(2)
27219         * modules/fcntl: Move <fcntl.h> header replacement...
27220         * modules/fcntl-h: ...to new name, so as not to collide with
27221         like-named function.
27222         * tests/test-fcntl.c: Rename...
27223         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
27224         * modules/fcntl-tests: Rename...
27225         * modules/fcntl-h-tests: ...to this.  Update test file name.
27226         * modules/chdir-long (Depends-on): Update clients.
27227         * modules/chdir-safer (Depends-on): Likewise.
27228         * modules/fcntl-safer (Depends-on): Likewise.
27229         * modules/fts (Depends-on): Likewise.
27230         * modules/mkancesdirs (Depends-on): Likewise.
27231         * modules/mkdir-p (Depends-on): Likewise.
27232         * modules/open (Depends-on): Likewise.
27233         * modules/savewd (Depends-on): Likewise.
27234         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
27235         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27236
27237 2009-08-22  Bruno Haible  <bruno@clisp.org>
27238
27239         * modules/binary-io (License): Relicense under LGPL.
27240         * modules/pipe2 (License): Likewise.
27241
27242 2009-08-22  Bruno Haible  <bruno@clisp.org>
27243
27244         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
27245         return value.
27246         * lib/pipe-filter-gi.c (filter_init): Likewise.
27247         Reported by Eric Blake.
27248
27249 2009-08-22  Bruno Haible  <bruno@clisp.org>
27250
27251         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
27252         * modules/pipe (Depends-on): Add pipe2.
27253
27254 2009-08-22  Bruno Haible  <bruno@clisp.org>
27255
27256         Tests for module 'pipe2'.
27257         * modules/pipe2-tests: New file.
27258         * tests/test-pipe2.c: New file.
27259
27260         New module 'pipe2'.
27261         * lib/unistd.in.h (pipe2): New declaration.
27262         * lib/pipe2.c: New file.
27263         * m4/pipe2.m4: New file.
27264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
27265         HAVE_PIPE2.
27266         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
27267         * modules/pipe2: New file.
27268         * doc/glibc-functions/pipe2.texi: Mention the new module.
27269
27270 2009-08-22  Bruno Haible  <bruno@clisp.org>
27271
27272         Reference some new glibc functions.
27273         * doc/glibc-functions/accept4.texi: New file.
27274         * doc/glibc-functions/dup3.texi: New file.
27275         * doc/glibc-functions/mkostemp.texi: New file.
27276         * doc/glibc-functions/pipe2.texi: New file.
27277         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
27278         (Glibc sys/socket.h): Refer to accept4.
27279         (Glibc unistd.h): Refer to dup3, pipe2.
27280         Reported by Eric Blake.
27281
27282 2009-08-22  Jim Meyering  <meyering@redhat.com>
27283             Bruno Haible  <bruno@clisp.org>
27284
27285         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
27286         This makes it so packages using automake-1.11's silent-rules option
27287         can print e.g., a single "GEN    configmake.h" line, rather than
27288         the 30+ statements that perform the job.  If you want to see the
27289         actual commands, you can still run "make V=1".
27290         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
27291         so that make output is abbreviated when those variables are defined
27292         appropriately.
27293         * modules/argz: Likewise.
27294         * modules/arpa_inet: Likewise.
27295         * modules/byteswap: Likewise.
27296         * modules/configmake: Likewise.
27297         * modules/dirent: Likewise.
27298         * modules/errno: Likewise.
27299         * modules/fcntl: Likewise.
27300         * modules/float: Likewise.
27301         * modules/fnmatch: Likewise.
27302         * modules/getopt-posix: Likewise.
27303         * modules/glob: Likewise.
27304         * modules/iconv_open: Likewise.
27305         * modules/inttypes: Likewise.
27306         * modules/localcharset: Likewise.
27307         * modules/locale: Likewise.
27308         * modules/math: Likewise.
27309         * modules/netdb: Likewise.
27310         * modules/netinet_in: Likewise.
27311         * modules/poll: Likewise.
27312         * modules/posix_spawnp-tests: Likewise.
27313         * modules/sched: Likewise.
27314         * modules/search: Likewise.
27315         * modules/selinux-h: Likewise.
27316         * modules/signal: Likewise.
27317         * modules/spawn: Likewise.
27318         * modules/stdarg: Likewise.
27319         * modules/stdbool: Likewise.
27320         * modules/stddef: Likewise.
27321         * modules/stdint: Likewise.
27322         * modules/stdio: Likewise.
27323         * modules/stdlib: Likewise.
27324         * modules/string: Likewise.
27325         * modules/strings: Likewise.
27326         * modules/sys_file: Likewise.
27327         * modules/sys_ioctl: Likewise.
27328         * modules/sys_select: Likewise.
27329         * modules/sys_socket: Likewise.
27330         * modules/sys_stat: Likewise.
27331         * modules/sys_time: Likewise.
27332         * modules/sys_times: Likewise.
27333         * modules/sys_utsname: Likewise.
27334         * modules/sys_wait: Likewise.
27335         * modules/sysexits: Likewise.
27336         * modules/time: Likewise.
27337         * modules/unistd: Likewise.
27338         * modules/wchar: Likewise.
27339         * modules/wctype: Likewise.
27340
27341 2009-08-22  Jim Meyering  <meyering@redhat.com>
27342
27343         announce-gen: detect write failure
27344         * build-aux/announce-gen: Add Coda at end.
27345         Remove equivalent-but-more-verbose block at top.
27346
27347 2009-08-19  Akim Demaille  <demaille@gostai.com>
27348
27349         bootstrap: --help to stdout.
27350         * bootstrap (usage): Don't send --help to stderr.
27351         Use a here doc instead of a long string.
27352
27353 2009-08-21  Eric Blake  <ebb9@byu.net>
27354
27355         test-popen-safer: split from test-popen
27356         * tests/test-popen.c (main): Move...
27357         * tests/test-popen.h: ...into new file.
27358         * tests/test-popen-safer2.c: New file.
27359         * modules/popen-tests (Files): Add test-popen.h.
27360         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
27361         Suggested by Bruno Haible.
27362
27363         test-fcntl-safer: split from test-open
27364         * tests/test-open.c (main): Move...
27365         * tests/test-open.h: ...into new file.
27366         * tests/test-fcntl-safer.c: New file.
27367         * modules/open-tests (Files): Add test-open.h.
27368         * modules/fcntl-safer-tests: New file.
27369         Suggested by Bruno Haible.
27370
27371         test-fopen-safer: split from test-fopen
27372         * tests/test-fopen.c (main): Move...
27373         * tests/test-fopen.h: ...into new file.
27374         * tests/test-fopen-safer.c: New file.
27375         * modules/fopen-tests (Files): Add test-fopen.h.
27376         * modules/fopen-safer-tests: New file.
27377         Suggested by Bruno Haible.
27378
27379 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27380
27381         popen-safer: test O_CLOEXEC at run-time.
27382         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
27383
27384 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27385
27386         fcntl: move more flags to the header
27387         * lib/cloexec.c: Do not define FD_CLOEXEC here.
27388         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
27389         * lib/fcntl.in.h: Do both things here.
27390
27391 2009-08-21  Jim Meyering  <meyering@redhat.com>
27392
27393         consistently remove $@-t before redirecting to it
27394         * modules/argz: Remove $@-t and $@ before redirecting to the former.
27395         * modules/alloca-opt: Likewise.
27396         * modules/byteswap: Likewise.
27397         * modules/fnmatch: Likewise.
27398         * modules/getopt-posix: Likewise.
27399         * modules/glob: Likewise.
27400         * modules/poll: Likewise.
27401         * modules/posix_spawnp-tests: Likewise.
27402         * modules/sys_socket: Likewise.
27403         * modules/sysexits: Likewise.
27404
27405 2009-08-21  Eric Blake  <ebb9@byu.net>
27406
27407         popen: simplify access to original popen
27408         * lib/popen.c (rpl_popen): No need to worry about popen being a
27409         macro.
27410         Reported by Bruno Haible.
27411
27412 2009-08-20  Eric Blake  <ebb9@byu.net>
27413
27414         build: avoid some compiler warnings
27415         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
27416         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
27417         type.
27418         (new_exclude_segment, excluded_file_pattern_p)
27419         (excluded_file_name_p): Reduce scope.
27420         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
27421         old-style declaration.
27422
27423 2009-08-20  Simon Josefsson  <simon@josefsson.org>
27424
27425         * tests/test-exclude1.sh: Handle Windows EOL.
27426         * tests/test-exclude2.sh: Likewise.
27427         * tests/test-exclude3.sh: Likewise.
27428         * tests/test-exclude4.sh: Likewise.
27429         * tests/test-exclude5.sh: Likewise.
27430         * tests/test-exclude6.sh: Likewise.
27431         * tests/test-exclude7.sh: Likewise.
27432
27433 2009-08-19  Akim Demaille  <demaille@gostai.com>
27434
27435         bootstrap: find sha1sum when named gsha1sum.
27436         * bootstrap (find_tool): New.
27437         ($SHA1SUM): New.
27438         Use it.
27439
27440 2009-08-20  Jim Meyering  <meyering@redhat.com>
27441
27442         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
27443         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
27444         expression that converts "." in a file name to "\." in the resulting
27445         regexp.  Start with a dummy statement, so that prior shell variable
27446         definitions are expanded portably.  Reported by Simon Josefsson.
27447
27448 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
27449
27450         Fix polling for writeability of a screen buffer.
27451         * lib/poll.c: Distinguish input and screen buffers for the
27452         Win32 implementation.
27453         * lib/select.c: Likewise.
27454
27455 2009-08-19  Eric Blake  <ebb9@byu.net>
27456
27457         popen-safer: prevent popen from clobbering std descriptors
27458         * modules/popen-safer: New file.
27459         * lib/popen-safer.c: Likewise.
27460         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
27461         * lib/stdio--.h (popen): Provide override.
27462         * lib/stdio-safer.h (popen_safer): Provide declaration.
27463         * tests/test-popen.c (includes): Partially test this.
27464         * modules/popen-safer-tests: New file, for more tests.
27465         * tests/test-popen-safer.c: Likewise.
27466         * MODULES.html.sh (file stream based Input/Output): Mention it.
27467
27468         tests: test some of the *-safer modules
27469         * modules/fopen-safer (Depends-on): Add fopen.
27470         * modules/fcntl-safer (Depends-on): Add fcntl.
27471         * modules/stdlib-safer (Depends-on): Add stdlib.
27472         (configure.ac): Set indicator.
27473         * modules/unistd-safer (configure.ac): Likewise.
27474         * modules/tmpfile-safer (configure.ac): Likewise.
27475         (Depends-on): Add tmpfile.
27476         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
27477         active.
27478         * tests/test-fopen.c (includes): Test safer versions when they are
27479         in use.
27480         * tests/test-open.c (includes): Likewise.
27481
27482         popen: fix cygwin 1.5 bug when stdin closed
27483         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
27484         * modules/popen: New file.
27485         * modules/popen-tests: Likewise.
27486         * tests/test-popen.c: Likewise.
27487         * m4/popen.m4: Likewise.
27488         * lib/popen.c: Likewise.
27489         * lib/stdio.in.h (popen): New declaration.
27490         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
27491         * modules/stdio (Makefile.am): Likewise.
27492         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
27493
27494 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
27495
27496         maint.mk: give full control over update-copyright exclusions
27497         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
27498         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
27499         (update-copyright): Don't force inclusion of top-level
27500         ChangeLog.  Don't force exclusion of all COPYING files, but make
27501         them the default exclusion instead.
27502
27503 2009-08-16  Bruno Haible  <bruno@clisp.org>
27504
27505         Fix test failures on Solaris 10.
27506         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
27507         tests when Solaris iconv() is used.
27508         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27509         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27510         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27511         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27512         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27513
27514 2009-08-16  Bruno Haible  <bruno@clisp.org>
27515
27516         Fix test failures on Solaris 10.
27517         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
27518         'tr' program and pass it as first argument.
27519         * tests/test-pipe-filter-gi1.sh: Likewise.
27520         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
27521         program as first argument.
27522         * tests/test-pipe-filter-gi1.c (main): Likewise.
27523
27524 2009-08-16  Eric Blake  <ebb9@byu.net>
27525
27526         fpurge: fix previous commits
27527         * modules/fpurge (Makefile.am): Make replacement conditional,
27528         partially reverting 2007-04-29 change; missed in previous
27529         attempt.
27530         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
27531         is missing.
27532
27533 2009-08-16  Bruno Haible  <bruno@clisp.org>
27534
27535         Clarify fpurge's effect on the file position.
27536         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
27537         * tests/test-fpurge.c (main): Make a second pass for checking the file
27538         position.
27539
27540 2009-08-16  Bruno Haible  <bruno@clisp.org>
27541
27542         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
27543         declaration of fpurge is missing.
27544         * tests/test-fpurge.c (main): Check that the file has not more contents
27545         than expected. Close the file before removing it.
27546
27547 2009-08-15  Eric Blake  <ebb9@byu.net>
27548
27549         fpurge: don't wrap working cygwin implementation
27550         * lib/fpurge.c (fpurge): Fix comment typo.
27551         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
27552         1.7 to avoid replacement.
27553         * tests/test-fpurge.c (main): Enhance test.
27554
27555 2009-08-15  Eric Blake  <ebb9@byu.net>
27556         and Jim Meyering  <meyering@redhat.com>
27557
27558         test-update-copyright: skip if perl is insufficient
27559         * tests/test-update-copyright.sh: Failure to run maintainer tool
27560         should not cause testsuite failure on cygwin 1.5.
27561
27562 2009-08-14  Eric Blake  <ebb9@byu.net>
27563
27564         doc: mention more functions added in cygwin 1.7.0
27565         * doc/posix-headers/limits.texi (limits.h): Update for recent
27566         cygwin additions.
27567         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
27568         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27569         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
27570         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
27571         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
27572
27573 2009-08-14  Eric Blake  <ebb9@byu.net>
27574
27575         maint.mk: simplify update-copyright rule
27576         * top/maint.mk (update-copyright-local): Delete, and document how
27577         to do it in cfg.mk instead.
27578         (update-copyright-exclude-regexp): Delete, and document how to do
27579         it in .x-update-copyright instead.
27580         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
27581         exclude ChangeLog.
27582
27583 2009-08-14  Bruno Haible  <bruno@clisp.org>
27584
27585         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
27586
27587 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27588
27589         maint.mk: support update-copyright-env
27590         * top/maint.mk (update-copyright-env): Define place-holder.
27591         (update-copyright): Expand $(update-copyright-env) before
27592         invoking update-copyright.
27593
27594 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27595
27596         update-copyright: implement forced reformatting
27597         * build-aux/update-copyright: Implement and document
27598         UPDATE_COPYRIGHT_FORCE.
27599         * tests/test-update-copyright.sh: Test it.
27600
27601 2009-08-14  Eric Blake  <ebb9@byu.net>
27602         and Bruno Haible  <bruno@clisp.org>
27603
27604         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27605         * tests/test-locale.c: Revert previous patch related to NULL.
27606         * tests/test-stdio.c: Likewise.
27607         * tests/test-stdlib.c: Likewise.
27608         * tests/test-string.c: Likewise.
27609         * tests/test-unistd.c: Likewise.
27610         * modules/time-tests (Depends-on): Add verify.
27611         * modules/wchar-tests (Depends-on): Likewise.
27612         * tests/test-time.c: Test for NULL compliance.
27613         * tests/test-wchar.c: Likewise.
27614         * modules/locale (Depends-on): Add stddef.
27615         * modules/stdio (Depends-on): Likewise.
27616         * modules/stdlib (Depends-on): Likewise.
27617         * modules/string (Depends-on): Likewise.
27618         * modules/time (Depends-on): Likewise.
27619         * modules/unistd (Depends-on): Likewise.
27620         * modules/wchar (Depends-on): Likewise.
27621         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27622         * lib/stdlib.in.h (includes): Likewise.
27623         * lib/string.in.h (includes): Likewise.
27624         * lib/time.in.h (includes): Likewise.
27625         * lib/unistd.in.h (includes): Likewise.
27626         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27627         replaced.
27628         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27629         * m4/stddef_h.m4: New file.
27630         * modules/stddef: Likewise.
27631         * lib/stddef.in.h: Likewise.
27632         * modules/stddef-tests: Likewise.
27633         * tests/test-stddef.c: Likewise.
27634         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
27635         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
27636         * doc/posix-headers/locale.texi (locale.h): Likewise.
27637         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
27638         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27639         * doc/posix-headers/string.texi (string.h): Likewise.
27640         * doc/posix-headers/time.texi (time.h): Likewise.
27641         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
27642         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
27643
27644 2009-08-14  Eric Blake  <ebb9@byu.net>
27645
27646         doc: improve git diff of texinfo files
27647         * .gitattributes: Add rule for *.texi files, with hint on how to
27648         use it.
27649         Copied from m4, and based on a report by Bruno Haible.
27650
27651 2009-08-14  Bruno Haible  <bruno@clisp.org>
27652
27653         Disable multithread support by default on Cygwin 1.5.x for real.
27654         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
27655
27656 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27657
27658         update-copyright: much ado about intervals
27659         * build-aux/update-copyright: Implement and document
27660         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
27661         of copyright year intervals.
27662         Also, document UPDATE_COPYRIGHT_YEAR.
27663         * tests/test-update-copyright.sh: Test it.
27664
27665         update-copyright: convert 2-digit to 4-digit years
27666         * build-aux/update-copyright: Implement and document.
27667         * tests/test-update-copyright.sh: Update.
27668
27669 2009-08-14  Jim Meyering  <meyering@redhat.com>
27670
27671         test-exclude: avoid coreutils "make check" failure
27672         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
27673         just as in test-argmatch.c.
27674
27675 2009-08-13  Eric Blake  <ebb9@byu.net>
27676
27677         test-dup2: fix bad assumption
27678         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
27679         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
27680
27681         test-version-etc: fix CRLF portability issue
27682         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
27683         recognize \r.
27684         * tests/test-argp-version-etc-1.sh: Likewise.
27685
27686         getopt: update client modules
27687         * modules/argp (Depends-on): Use getopt-gnu.
27688         * modules/git-merge-changelog (Depends-on): Likewise.
27689         * modules/long-options (Depends-on): Likewise.
27690         * modules/xstrtol (Depends-on): Likewise.
27691
27692 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27693
27694         * tests/test-version-etc.sh: Don't fail on different
27695         project/version.  Don't fail on CRLF differences.  Rewrite to use
27696         multiple -e instead of multiple sed forks, suggested by Eric Blake
27697         <ebb9@byu.net>.
27698         * tests/test-argp-version-etc-1.sh: Likewise.
27699
27700 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27701
27702         * tests/test-version-etc.sh: Don't fail on different
27703         project/version.
27704
27705 2009-08-12  Bruno Haible  <bruno@clisp.org>
27706
27707         Tests for modules 'getopt-posix', 'getopt-gnu'.
27708         * modules/getopt-posix-tests: New file.
27709         * tests/test-getopt.c: New file.
27710         * tests/test-getopt.h: New file.
27711         * tests/test-getopt_long.h: New file.
27712
27713         New modules 'getopt-posix', 'getopt-gnu'.
27714         * modules/getopt-gnu: New file, renamed from modules/getopt.
27715         * modules/getopt-posix: New file.
27716         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
27717         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
27718         (gl_GETOPT): Remove macro.
27719         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
27720         Disable the test against BSD systems that declare optreset. Test
27721         against mingw bug. Test against lack of support of optional arguments
27722         on many platforms.
27723         * doc/glibc-headers/getopt.texi: Update module name and list of
27724         relevant platforms.
27725         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
27726         'getopt-gnu' and more portability problems.
27727         * NEWS: Mention the changes.
27728
27729 2009-08-12  Bruno Haible  <bruno@clisp.org>
27730
27731         Ensure that optarg etc. get declared by <unistd.h>.
27732         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
27733         AC_USE_SYSTEM_EXTENSIONS.
27734         * modules/getopt (Depends-on): Add 'extensions'.
27735
27736 2009-08-12  Bruno Haible  <bruno@clisp.org>
27737
27738         Avoid test link errors.
27739         * modules/pipe-filter-ii-tests (Makefile.am): Define
27740         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
27741         * modules/pipe-filter-gi-tests (Makefile.am): Define
27742         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
27743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27744
27745 2009-08-12  Bruno Haible  <bruno@clisp.org>
27746
27747         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
27748         gl_GETOPT_SUBSTITUTE before.
27749         (gl_GETOPT): Use it.
27750         * m4/argp.m4 (gl_ARGP): Update.
27751         Reported by Sergey Poznyakoff.
27752
27753         * m4/getopt.m4: Reorder macros.
27754         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
27755         (gl_GETOPT_SUBSTITUTE): Remove macro.
27756
27757 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27758
27759         Minor improvement in gitlog-to-changelog
27760
27761         * build-aux/gitlog-to-changelog: New option `--format' makes
27762         output format string configurable.
27763
27764 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27765
27766         Optimize exclude: use hash tables for non-wildcard patterns.
27767
27768         * lib/exclude.c: Include hash.h and mbuiter.h
27769         (struct exclude_pattern, exclude_segment): New data types.
27770         (struct exclude): Rewrite.
27771         (fnmatch_pattern_has_wildcards): New function.
27772         (new_exclude_segment, free_exclude_segment): New functions.
27773         (excluded_file_pattern_p, excluded_file_name_p): New functions.
27774         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
27775         * lib/exclude.h (is_fnmatch_pattern): New prototype.
27776         * modules/exclude: Depend on hash and mbuiter.
27777
27778         * modules/exclude-tests: New file.
27779         * tests/test-exclude.c: New file.
27780         * tests/test-exclude1.sh: New file.
27781         * tests/test-exclude2.sh: New file.
27782         * tests/test-exclude3.sh: New file.
27783         * tests/test-exclude4.sh: New file.
27784         * tests/test-exclude5.sh: New file.
27785         * tests/test-exclude6.sh: New file.
27786         * tests/test-exclude7.sh: New file.
27787
27788 2009-08-12  Bruno Haible  <bruno@clisp.org>
27789
27790         Ensure that getopt() gets declared by <unistd.h>.
27791         * lib/unistd.in.h: Conditionally include getopt.h.
27792         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
27793         Set GNULIB_UNISTD_H_GETOPT.
27794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27795         GNULIB_UNISTD_H_GETOPT.
27796         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
27797
27798 2009-08-12  Bruno Haible  <bruno@clisp.org>
27799
27800         Clarify logic.
27801         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
27802         gl_replace_getopt instead of GETOPT_H.
27803
27804 2009-08-12  Bruno Haible  <bruno@clisp.org>
27805
27806         * m4/getopt.m4: Add comments.
27807
27808 2009-08-12  Bruno Haible  <bruno@clisp.org>
27809
27810         Disable multithread support by default on Cygwin 1.5.x.
27811         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
27812         set gl_use_threads=no if not specified otherwise.
27813
27814 2009-08-11  Bruno Haible  <bruno@clisp.org>
27815
27816         Avoid compilation error on NetBSD 5.0.
27817         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
27818         * tests/test-stdio.c: Likewise.
27819         * tests/test-stdlib.c: Likewise.
27820         * tests/test-string.c: Likewise.
27821         * tests/test-unistd.c: Likewise.
27822         Reported by Greg Troxel <gdt@ir.bbn.com>
27823         at <https://savannah.gnu.org/support/?106973>.
27824
27825 2009-08-11  Bruno Haible  <bruno@clisp.org>
27826
27827         * modules/dup2-tests (Depends-on): Remove close.
27828
27829         Undo 2009-07-19 commit.
27830         * modules/acl-tests (Depends-on): Remove close.
27831         * modules/binary-io-tests (Depends-on): Likewise.
27832         * modules/closein-tests (Depends-on): Likewise.
27833         * modules/flock-tests (Depends-on): Likewise.
27834         * modules/fsync-tests (Depends-on): Likewise.
27835         * modules/lseek-tests (Depends-on): Likewise.
27836         * modules/pipe-tests (Depends-on): Likewise.
27837         * modules/posix_spawn-tests (Depends-on): Likewise.
27838         * modules/posix_spawnp-tests (Depends-on): Likewise.
27839         * modules/stat-time-tests (Depends-on): Likewise.
27840         * modules/yesno-tests (Depends-on): Likewise.
27841
27842 2009-08-10  Bruno Haible  <bruno@clisp.org>
27843
27844         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
27845
27846 2009-08-10  Bruno Haible  <bruno@clisp.org>
27847
27848         Fix a gcc warning.
27849         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
27850
27851 2009-08-10  Bruno Haible  <bruno@clisp.org>
27852
27853         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
27854         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
27855         not only the first time.
27856         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
27857         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
27858         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
27859         is 1, not only the the first time.
27860
27861 2009-08-10  Bruno Haible  <bruno@clisp.org>
27862
27863         Make it possible to use module 'gethostname' without module 'close'.
27864         * lib/unistd.in.h (close): Evoke a link error only if
27865         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27867         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27868         * modules/unistd (Makefile.am): Substitute
27869         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27870         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
27871         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27872         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27873         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27874         * modules/sys_ioctl (Makefile.am): Substitute
27875         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27876         * modules/socket (configure.ac): On native Windows, set
27877         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
27878         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27879         Reported by Sam Steingold <sds@gnu.org>.
27880
27881 2009-08-10  Bruno Haible  <bruno@clisp.org>
27882
27883         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
27884         * modules/ioctl (configure.ac): Likewise.
27885
27886 2009-08-10  Bruno Haible  <bruno@clisp.org>
27887
27888         Avoid collision between gnulib wrapper and libintl wrapper.
27889         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
27890         already defined in intl/printf.c.
27891         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
27892         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
27893
27894 2009-08-09  Bruno Haible  <bruno@clisp.org>
27895
27896         Make <sys/select.h> really self-contained, also on Solaris 10.
27897         * lib/sys_select.in.h: Include <string.h>.
27898         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
27899         Solaris 10 problem.
27900         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
27901         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
27902         Reported by Jim Meyering.
27903
27904 2009-08-09  Bruno Haible  <bruno@clisp.org>
27905
27906         Avoid warnings from 'aclocal' that are due to a use of macro name
27907         AM_XGETTEXT_OPTION that is not defined in automake.
27908         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
27909         automake.
27910         * modules/error (configure.ac): Likewise.
27911         * modules/propername (configure.ac): Likewise.
27912         * modules/vasprintf (configure.ac): Likewise.
27913         * modules/verror (configure.ac): Likewise.
27914         * modules/xprintf (configure.ac): Likewise.
27915         * modules/xvasprintf (configure.ac): Likewise.
27916
27917 2009-08-08  Bruno Haible  <bruno@clisp.org>
27918
27919         Avoid compilation error in C++ mode.
27920         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
27921         Reported by Sam Steingold <sds@gnu.org>.
27922
27923 2009-08-08  Bruno Haible  <bruno@clisp.org>
27924
27925         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
27926         for the various Unix platforms.
27927         * doc/posix-headers/limits.texi: Update platforms list regarding
27928         HOST_NAME_MAX.
27929         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27930
27931 2009-08-07  Jim Meyering  <meyering@redhat.com>
27932
27933         selinux-at: fix typo in a comment
27934         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
27935         Spotted by Paolo Bonzini.
27936
27937         selinux-at: remove redundant m4 code, add documentation
27938         * modules/selinux-at (configure.ac): Remove redundant code.
27939         LIB_SELINUX is already set via the dependent module, selinux-h.
27940         (Include): Add quotes around selinux-at.h.
27941         * lib/selinux-at.h: Add documentation.
27942         Reported by Bruno Haible in
27943         http://marc.info/?l=gnulib-bug&m=124958988300749
27944
27945 2009-08-07  Bruno Haible  <bruno@clisp.org>
27946
27947         Avoid link error on MacOS X 10.3 and 10.4.
27948         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
27949         on non-ELF systems.
27950         * lib/argp-pv.c (argp_program_version): Likewise.
27951         Reported by Simon Josefsson.
27952
27953 2009-08-07  Simon Josefsson  <simon@josefsson.org>
27954
27955         * tests/test-version-etc.sh: Use $EXEEXT.
27956
27957 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
27958
27959         update-copyright: update documentation to point to maint.mk
27960         * build-aux/update-copyright: Here.
27961
27962 2009-08-06  Jim Meyering  <meyering@redhat.com>
27963
27964         maint.mk: support update-copyright-local
27965         * top/maint.mk (update-copyright-local): Define place-holder.
27966         (update-copyright): Depend on $(update-copyright-local).
27967
27968 2009-08-06  Jim Meyering  <meyering@redhat.com>
27969
27970         selinux-at: new module
27971         Initially written for coreutils, this module will soon be
27972         used by findutils, too.
27973         * MODULES.html.sh [Misc]: Add selinux-at.
27974         * lib/selinux-at.h: New file, from coreutils.
27975         * lib/selinux-at.c: Likewise.
27976         * modules/selinux-at: Likewise.
27977         (License): Change from LGPL to GPL, since it depends
27978         on the GPL'd openat module.
27979
27980         doc: update README
27981         * README: Remove references to cogito.
27982         Remove cvs-repo-updating instructions from 2007.
27983         Don't imply that CVS is better if you have limited disk space.
27984
27985 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27986
27987         update-copyright: support C-style comments
27988         * build-aux/update-copyright: Implement and document.
27989         * tests/test-update-copyright.sh: Test.
27990
27991 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27992
27993         update-copyright: support omitted "(C)"
27994         * build-aux/update-copyright: Implement and document.  Also,
27995         allow variable whitespace before "(C)".
27996         * tests/test-update-copyright.sh: Test.
27997
27998 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27999
28000         update-copyright: don't trip on non-FSF copyright statements
28001         * build-aux/update-copyright: Fix so that the first correctly
28002         formatted FSF copyright statement is recognized no matter what
28003         appears before it.  Update documentation.
28004         * tests/test-update-copyright.sh: Test that.
28005
28006 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28007
28008         update-copyright: clean up code a little
28009         * build-aux/update-copyright: Append "_re" to the name of any
28010         variable holding a regular expression.
28011         Replace "old" and "new" with "stmt" in variable names.
28012         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
28013         handled correctly.
28014         Format code more consistently.
28015
28016 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28017
28018         update-copyright-tests: improve portability
28019         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
28020         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
28021
28022 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28023
28024         update-copyright: support @copyright{} and &copy;
28025         * build-aux/update-copyright: Implement and document.
28026         * tests/test-update-copyright.sh: Test.
28027
28028 2009-08-04  Jim Meyering  <meyering@redhat.com>
28029
28030         update-copyright-tests: correctly test EOL=\r\n handling
28031         * tests/test-update-copyright.sh: Put \r at the end of some lines
28032         for the dos-eol tests.  Based on a patch by Joel E. Denny.
28033
28034         maint.mk: make update-copyright exclusion list more configurable
28035         * top/maint.mk (update-copyright): Default to excluding COPYING,
28036         but allow an override, in case someone does want to update that file.
28037
28038         maint.mk: don't update copyright date in COPYING
28039         * top/maint.mk (update-copyright): Exclude COPYING.
28040
28041         maint.mk: add a copyright-updating rule
28042         * top/maint.mk (update-copyright): New rule.
28043         Derived from coreutils/Makefile.am.
28044
28045         update-copyright: rename some variables
28046         * build-aux/update-copyright: Rename a few variables for clarity.
28047         Tweak syntax.  List Joel E. Denny as coauthor.
28048
28049 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28050
28051         update-copyright: fix bug for 2-digit last year and add tests
28052         * build-aux/update-copyright: Fix bug.
28053         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
28054         specified.
28055         * modules/update-copyright-tests: New
28056         * tests/test-update-copyright.sh: New.
28057
28058 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28059
28060         update-copyright: handle leading tabs in line prefix
28061         * build-aux/update-copyright: Count leading tabs as 8 spaces
28062         when computing margin.  This helps with the formatting of
28063         ChangeLogs, for example.
28064         Fix documentation a little.
28065
28066 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28067
28068         update-copyright: support EOL=\r\n
28069         * build-aux/update-copyright: Implement that.
28070
28071 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28072
28073         update-copyright: automatically format copyright statements
28074         * build-aux/update-copyright: Implement that.
28075         Also, be a little more predictable and safer by always failing
28076         when the full copyright format is not perfectly recognized as an
28077         unbroken whole.  Discussed at
28078         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
28079         Rewrite documentation.
28080
28081 2009-08-03  Bruno Haible  <bruno@clisp.org>
28082
28083         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
28084
28085 2009-08-02  Bruno Haible  <bruno@clisp.org>
28086
28087         Tests for module 'uname'.
28088         * modules/uname-tests: New file.
28089         * tests/test-uname.c: New file.
28090
28091         New module 'uname'.
28092         * lib/uname.c: New file.
28093         * m4/uname.m4: New file.
28094         * modules/uname: New file.
28095         * doc/posix-functions/uname.texi: Mention the new module.
28096
28097 2009-08-02  Bruno Haible  <bruno@clisp.org>
28098
28099         Tests for module 'sys_utsname'.
28100         * modules/sys_utsname-tests: New file.
28101         * tests/test-sys_utsname.c: New file.
28102
28103         New module 'sys_utsname'.
28104         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
28105         * m4/sys_utsname_h.m4: New file.
28106         * modules/sys_utsname: New file.
28107         * doc/posix-headers/sys_utsname.texi: Mention the new module.
28108
28109 2009-08-02  Bruno Haible  <bruno@clisp.org>
28110
28111         Implicitly initialize the sockets library.
28112         * lib/gethostname.c: Include sockets.h.
28113         (rpl_gethostname): Invoke gl_sockets_startup.
28114         * lib/socket.c: Include sockets.h.
28115         (rpl_socket): Invoke gl_sockets_startup.
28116         * modules/gethostname (Depends-on): Add sockets.
28117         * modules/socket (Depends-on): Likewise.
28118         * tests/test-poll.c: Don't include sockets.h.
28119         (main): Don't invoke gl_sockets_startup.
28120         * tests/test-select.c: Don't include sockets.h.
28121         (main): Don't invoke gl_sockets_startup.
28122
28123 2009-08-02  Bruno Haible  <bruno@clisp.org>
28124
28125         Allow multiple calls to gl_sockets_startup.
28126         * lib/sockets.c (initialized_sockets_version): New variable.
28127         (gl_sockets_startup): Do nothing if already called for this or a higher
28128         version.
28129         (gl_sockets_cleanup): Reset initialized_sockets_version.
28130
28131 2009-08-03  Simon Josefsson  <simon@josefsson.org>
28132
28133         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
28134         different project/version.
28135
28136 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
28137             Bruno Haible  <bruno@clisp.org>
28138
28139         Tests for module 'pipe-filter-gi'.
28140         * modules/pipe-filter-gi-tests: New file.
28141         * tests/test-pipe-filter-gi1.sh: New file.
28142         * tests/test-pipe-filter-gi1.c: New file.
28143         * tests/test-pipe-filter-gi2.sh: New file.
28144         * tests/test-pipe-filter-gi2-main.c: New file.
28145         * tests/test-pipe-filter-gi2-child.c: New file.
28146
28147         New module 'pipe-filter-gi'.
28148         * lib/pipe-filter-gi.c: New file.
28149         * modules/pipe-filter-gi: New file.
28150
28151 2009-08-02  Bruno Haible  <bruno@clisp.org>
28152             Paolo Bonzini  <bonzini@gnu.org>
28153
28154         Tests for module 'pipe-filter-ii'.
28155         * modules/pipe-filter-ii-tests: New file.
28156         * tests/test-pipe-filter-ii1.sh: New file.
28157         * tests/test-pipe-filter-ii1.c: New file.
28158         * tests/test-pipe-filter-ii2.sh: New file.
28159         * tests/test-pipe-filter-ii2-main.c: New file.
28160         * tests/test-pipe-filter-ii2-child.c: New file.
28161
28162         New module 'pipe-filter-ii'.
28163         * lib/pipe-filter.h: New file.
28164         * lib/pipe-filter-ii.c: New file.
28165         * lib/pipe-filter-aux.h: New file.
28166         * modules/pipe-filter-ii: New file.
28167
28168 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28169
28170         * lib/gc-libgcrypt.c: Change copyright to FSF.
28171         * lib/gc-gnulib.c: Likewise.
28172
28173 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
28174
28175         * lib/gethostname.c: Include limits.h.
28176
28177 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28178             Bruno Haible  <bruno@clisp.org>
28179
28180         Ensure HOST_NAME_MAX as part of the gethostname module.
28181         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
28182         define also HOST_NAME_MAX.
28183         * tests/test-gethostname.c: Include <limits.h>.
28184         (main): Check also HOST_NAME_MAX.
28185         * doc/posix-headers/limits.texi: Document the mingw problem.
28186
28187 2009-08-02  Bruno Haible  <bruno@clisp.org>
28188
28189         * lib/gethostname.c (gethostname): Fix handling of large len argument.
28190         Add comments.
28191
28192 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28193
28194         * lib/gethostname.c: Add Windows wrapper.
28195         * m4/gethostname.m4: Look for gethostname in -lws2_32.
28196         * modules/gethostname: Depend on sys_socket & errno, for also
28197         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
28198         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
28199
28200 2009-07-31  Jim Meyering  <meyering@redhat.com>
28201
28202         getloadavg: fix symbol name in comment
28203         * lib/getloadavg.c: Correct a typo I introduced when adding
28204         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
28205         Matt Kraai spotted the problem.
28206
28207 2009-07-29  Matt Kraai  <mkraai@beckman.com>
28208
28209         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
28210         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
28211         code also if ! defined N_NAME_POINTER.
28212         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
28213         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
28214         but the n_name member is a 12-byte array.
28215
28216 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
28217
28218         update-copyright: generalize comment handling
28219         * build-aux/update-copyright: Handle copyright statements
28220         within more comment styles.
28221         Document usage.
28222         Report any file with an external copyright holder or parse failure.
28223
28224 2009-07-29  Jim Meyering  <meyering@redhat.com>
28225
28226         mktime: correct setting of REPLACE_MKTIME
28227         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
28228
28229         update-copyright: new module
28230         * modules/update-copyright: New file.
28231         * build-aux/update-copyright: New file.
28232         * MODULES.html.sh (maint+release support): Add update-copyright.
28233
28234 2009-07-27  Bruno Haible  <bruno@clisp.org>
28235
28236         Fix compilation error when <ctime> is used and mktime is replaced.
28237         * lib/time.in.h (mktime): New declaration.
28238         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
28239         REPLACE_MKTIME instead of defining mktime in config.h.
28240         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
28241         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
28242         Reported by Ross McFarland <rwmcfa1@neces.com>.
28243
28244 2009-07-27  Bruno Haible  <bruno@clisp.org>
28245
28246         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
28247         Reported by Matt Kraai <mkraai@beckman.com>.
28248
28249 2009-07-25  Jim Meyering  <meyering@redhat.com>
28250
28251         maint.mk: avoid warnings about missing files
28252         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
28253         diagnostic when .prev-version does not exist.
28254         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
28255         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
28256         nonexistent cfg.mk.
28257         Suggestions from Simon Josefsson.
28258
28259 2009-07-25  Bruno Haible  <bruno@clisp.org>
28260
28261         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
28262         defined as macros. Needed on QNX 6.4.1.
28263         Reported by Matt Kraai <mkraai@beckman.com>.
28264
28265 2009-07-23  Jim Meyering  <meyering@redhat.com>
28266
28267         maint.mk: invoke "make dist" with a working value of XZ_OPT
28268         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
28269
28270 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
28271
28272         Make fseeko.c compile on QNX.
28273         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
28274
28275 2009-07-22  Peter Simons  <simons@cryp.to>
28276
28277         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
28278         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
28279         * lib/md4.h: Likewise.
28280         * lib/md5.h: Likewise.
28281         * lib/sha1.h: Likewise.
28282         * lib/sha256.h: Likewise.
28283         * lib/sha512.h: Likewise.
28284
28285         tests-sha1: don't assign literal string to 'char *' variable
28286         * tests/test-sha1.c (main): Declare locals with "const" to match
28287         attributes of the right hand side.
28288
28289 2009-07-21  Eric Blake  <ebb9@byu.net>
28290
28291         dup2: fix more mingw problems
28292         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
28293         fd to itself.
28294         * doc/posix-functions/dup2.texi (dup2): Document the bug.
28295         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
28296         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
28297         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
28298         care of mingw bugs.
28299
28300 2009-07-21  Jim Meyering  <meyering@redhat.com>
28301
28302         vc-list-files: avoid failure when /bin/sh is dash
28303         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
28304         On some Debian based systems, /bin/sh is a symlink to dash, and running
28305         this command would omit the "/" following each 'tests' prefix:
28306           dash -x build-aux/vc-list-files -C . tests
28307         That is because bash and dash work differently:
28308           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
28309           bash ok
28310           dash odd
28311
28312 2009-07-21  Eric Blake  <ebb9@byu.net>
28313
28314         dup2-tests: test previous patch
28315         * modules/dup2-tests: New file.
28316         * tests/test-dup2.c: Likewise.
28317         * tests/test-open.c (main): Avoid unspecified behavior.
28318         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
28319         test.
28320
28321         dup2: work around mingw and cygwin 1.5 bug
28322         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
28323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28324         * modules/unistd (Makefile.am): Substitute it.
28325         * lib/unistd.in.h (dup2): Declare the replacement.
28326         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
28327         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
28328         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
28329         * modules/execute (Depends-on): Add dup2.
28330         * modules/fseterr (Depends-on): Likewise.
28331         * modules/pipe (Depends-on): Likewise.
28332         * modules/posix_spawn-internal (Depends-on): Likewise.
28333
28334 2009-07-21  Bruno Haible  <bruno@clisp.org>
28335
28336         * modules/.gitattributes: New file.
28337
28338 2009-07-20  Bruno Haible  <bruno@clisp.org>
28339
28340         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
28341         (main): Use it.
28342
28343 2009-07-20  Eric Blake  <ebb9@byu.net>
28344
28345         test-pipe: make a bit more robust.
28346         * tests/test-pipe.c (myerr): Allow error messages regardless of
28347         what we do to stderr.
28348         (test_pipe): Rearrange to avoid deadlock.
28349         (child_main): Try a larger read, to ensure we avoided deadlock.
28350         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
28351         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
28352         if misused.
28353
28354 2009-07-19  Jim Meyering  <meyering@redhat.com>
28355
28356         fts: avoid false-positive cycle-detection
28357         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
28358         for each new command line argument.
28359
28360 2009-07-19  Bruno Haible  <bruno@clisp.org>
28361
28362         Fix build error on mingw with the modules sys_select and unistd.
28363         * modules/acl-tests (Depends-on): Add close.
28364         * modules/binary-io-tests (Depends-on): Likewise.
28365         * modules/closein-tests (Depends-on): Likewise.
28366         * modules/flock-tests (Depends-on): Likewise.
28367         * modules/fsync-tests (Depends-on): Likewise.
28368         * modules/lseek-tests (Depends-on): Likewise.
28369         * modules/pipe-tests (Depends-on): Likewise.
28370         * modules/posix_spawn-tests (Depends-on): Likewise.
28371         * modules/posix_spawnp-tests (Depends-on): Likewise.
28372         * modules/stat-time-tests (Depends-on): Likewise.
28373         * modules/yesno-tests (Depends-on): Likewise.
28374
28375 2009-07-19  Bruno Haible  <bruno@clisp.org>
28376
28377         Unify conditionals.
28378         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
28379         macros, not at the compiler macros.
28380         * lib/pipe.c: Likewise.
28381         * lib/execute.c: Likewise.
28382         * lib/spawni.c: Likewise.
28383
28384 2009-07-19  Bruno Haible  <bruno@clisp.org>
28385
28386         Fix handling of closed stdin/stdout/stderr on mingw.
28387         * lib/w32spawn.h: Include unistd.h.
28388         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
28389         file descriptor with O_NOINHERIT flag.
28390         (fd_safer_noinherit): New function, based on fd-safer.c.
28391         (dup_safer_noinherit): New function, based on dup-safer.c.
28392         (undup_safer_noinherit): New function.
28393         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
28394         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
28395         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
28396         instead of fd_safer.
28397         * tests/test-pipe.c: Include <windows.h>.
28398         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
28399         result.
28400
28401         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
28402         from main.
28403         (test_pipe): Pass an extra argument for disambiguation.
28404         (main): Invoke parent_main or child_main.
28405
28406         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
28407         consistently.
28408
28409 2009-07-18  Eric Blake  <ebb9@byu.net>
28410
28411         test-pipe: fix mingw build
28412         * tests/test-pipe.c (main): Avoid fcntl on mingw.
28413
28414 2009-07-18  Bruno Haible  <bruno@clisp.org>
28415
28416         * modules/pipe-tests (Makefile.am): Fix typo.
28417
28418 2009-07-18  Eric Blake  <ebb9@byu.net>
28419
28420         error: fix mingw build
28421         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
28422         Reported by Bruno Haible.
28423
28424         error: avoid undefined use of stdout
28425         * lib/error.c (error, error_at_line): Check that fd 1 is open
28426         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
28427         is handling faults and the close_stdout module wants to report the
28428         detection of closed stdout as an error.
28429
28430 2009-07-17  Eric Blake  <ebb9@byu.net>
28431
28432         pipe: be robust in face of closed fds
28433         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
28434         should cause child to misbehave.
28435         * modules/pipe-tests: New module.
28436         * tests/test-pipe.c: New file.
28437         * tests/test-pipe.sh: New file.
28438         Reported by Akim Demaille.
28439
28440 2009-07-14  Bruno Haible  <bruno@clisp.org>
28441
28442         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
28443         Reported by anonymous kc.
28444
28445 2009-07-07  Jim Meyering  <meyering@redhat.com>
28446
28447         maint.mk: don't look for translatable strings in *.m4 or *.mk
28448         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
28449         when searching for translatable strings.
28450
28451 2009-07-05  Jim Meyering  <meyering@redhat.com>
28452
28453         remove superfluous parentheses in STREQ definition
28454         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
28455         * lib/getugroups.c (STREQ): Likewise.
28456         * lib/fnmatch.c (STREQ): Likewise.
28457         Spotted by Bruno Haible.
28458
28459 2009-07-04  Jim Meyering  <meyering@redhat.com>
28460
28461         argv-iter: new module
28462         * MODULES.html.sh: Add argv-iter.
28463         * lib/argv-iter.c, lib/argv-iter.h: New files.
28464         * modules/argv-iter: New file.
28465         * modules/argv-iter-tests: New file.
28466         * tests/test-argv-iter.c: Test it.
28467
28468 2009-07-04  Bruno Haible  <bruno@clisp.org>
28469
28470         Fix assertion.
28471         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
28472         contains more exact copies of a given entry than file2, leave the extra
28473         copies unpaired rather than aborting.
28474         Reported by Eric Blake.
28475
28476 2009-07-02  Bruno Haible  <bruno@clisp.org>
28477
28478         Speedup git-merge-changelog for git cherry-pick.
28479         * lib/git-merge-changelog.c (struct entries_mapping): New type.
28480         (entries_mapping_get): New function, extracted from compute_mapping.
28481         (entries_mapping_reverse_get): New function.
28482         (compute_mapping): Add a 'full' argument. Return the result in a
28483         'struct entries_mapping'.
28484         (main): Update. Access the mappings through entries_mapping_get.
28485         Reported by Eric Blake.
28486
28487 2009-07-02  Bruno Haible  <bruno@clisp.org>
28488
28489         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
28490         best_i.
28491
28492 2009-07-02  Bruno Haible  <bruno@clisp.org>
28493
28494         Speed up approximate search for matching ChangeLog entries.
28495         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
28496         argument. Call fstrcmp_bounded instead of fstrcmp.
28497         (compute_mapping, try_split_merged_entry, main): Update callers.
28498
28499 2009-07-02  Bruno Haible  <bruno@clisp.org>
28500
28501         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
28502
28503 2009-06-30  Bruno Haible  <bruno@clisp.org>
28504
28505         Reduce the number of uc_is_cased calls.
28506         * lib/unicase.h (casing_suffix_context_t): Add
28507         'first_char_except_ignorable' field.
28508         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
28509         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
28510         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
28511         Update initializer.
28512         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
28513         case-ignorable characters.
28514         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
28515         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
28516         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
28517         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
28518         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
28519
28520 2009-06-30  Bruno Haible  <bruno@clisp.org>
28521
28522         Tests for module 'unicase/ignorable'.
28523         * modules/unicase/ignorable-tests: New file.
28524         * tests/unicase/test-ignorable.c: New file, generated by
28525         gen-uni-tables.
28526
28527         Tests for module 'unicase/cased'.
28528         * modules/unicase/cased-tests: New file.
28529         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
28530         * tests/unicase/test-predicate-part1.h: New file, derived from
28531         tests/unictype/test-predicate-part1.h.
28532         * tests/unicase/test-predicate-part2.h: New file, same as
28533         tests/unictype/test-predicate-part2.h.
28534
28535         Fix evaluation of "Before C" condition of FINAL_SIGMA.
28536         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
28537         (output_casing_properties): New function.
28538         (main): Call it.
28539         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
28540         * lib/unicase/cased.c: Include unictype/bitmap.h.
28541         (uc_is_cased): Define through a bitmap lookup.
28542         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
28543         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
28544         (uc_is_case_ignorable): Define through a bitmap lookup.
28545         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
28546         lib/unictype/bitmap.h.
28547         (Depends-on): Add inline. Clean up.
28548         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
28549         lib/unictype/bitmap.h.
28550         (Depends-on): Add inline. Clean up.
28551         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
28552         recognition.
28553         * tests/unicase/test-u16-tolower.c (main): Likewise.
28554         * tests/unicase/test-u32-tolower.c (main): Likewise.
28555
28556 2009-06-30  Bruno Haible  <bruno@clisp.org>
28557
28558         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
28559         * lib/unicase/u16-casemap.c: Likewise.
28560         * lib/unicase/u32-casemap.c: Likewise.
28561
28562 2009-06-29  Bruno Haible  <bruno@clisp.org>
28563
28564         Define u32_casefold as a wrapper around u32_ct_casefold.
28565         * lib/unicase/u32-casefold.c: Update.
28566         * modules/unicase/u32-casefold (Depends-on): Add
28567         unicase/u32-ct-casefold, unicase/empty-prefix-context,
28568         unicase/empty-suffix-context. Clean up.
28569
28570         Define u16_casefold as a wrapper around u16_ct_casefold.
28571         * lib/unicase/u16-casefold.c: Update.
28572         * modules/unicase/u16-casefold (Depends-on): Add
28573         unicase/u16-ct-casefold, unicase/empty-prefix-context,
28574         unicase/empty-suffix-context. Clean up.
28575
28576         Define u8_casefold as a wrapper around u8_ct_casefold.
28577         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
28578         * lib/unicase/u8-casefold.c: Update.
28579         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
28580         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28581
28582         Define u32_totitle as a wrapper around u32_ct_totitle.
28583         * lib/unicase/u32-totitle.c: Update.
28584         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
28585         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28586
28587         Define u16_totitle as a wrapper around u16_ct_totitle.
28588         * lib/unicase/u16-totitle.c: Update.
28589         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
28590         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28591
28592         Define u8_totitle as a wrapper around u8_ct_totitle.
28593         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
28594         functions.
28595         (FUNC): Delegate to U_CT_TOTITLE.
28596         * lib/unicase/u8-totitle.c: Update.
28597         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
28598         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28599
28600         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28601         invocation.
28602         * modules/unicase/u32-tolower (Depends-on): Add
28603         unicase/empty-prefix-context, unicase/empty-suffix-context.
28604
28605         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28606         invocation.
28607         * modules/unicase/u16-tolower (Depends-on): Add
28608         unicase/empty-prefix-context, unicase/empty-suffix-context.
28609
28610         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28611         * modules/unicase/u8-tolower (Depends-on): Add
28612         unicase/empty-prefix-context, unicase/empty-suffix-context.
28613
28614         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28615         invocation.
28616         * modules/unicase/u32-toupper (Depends-on): Add
28617         unicase/empty-prefix-context, unicase/empty-suffix-context.
28618
28619         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28620         invocation.
28621         * modules/unicase/u16-toupper (Depends-on): Add
28622         unicase/empty-prefix-context, unicase/empty-suffix-context.
28623
28624         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28625         * modules/unicase/u8-toupper (Depends-on): Add
28626         unicase/empty-prefix-context, unicase/empty-suffix-context.
28627
28628         New module 'unicase/u32-ct-casefold'.
28629         * lib/unicase/u32-ct-casefold.c: New file.
28630         * modules/unicase/u32-ct-casefold: New file.
28631
28632         New module 'unicase/u16-ct-casefold'.
28633         * lib/unicase/u16-ct-casefold.c: New file.
28634         * modules/unicase/u16-ct-casefold: New file.
28635
28636         New module 'unicase/u8-ct-casefold'.
28637         * lib/unicase/u8-ct-casefold.c: New file.
28638         * lib/unicase/u-ct-casefold.h: New file, derived from
28639         lib/unicase/u-casefold.h.
28640         * modules/unicase/u8-ct-casefold: New file.
28641
28642         New module 'unicase/u32-ct-totitle'.
28643         * lib/unicase/u32-ct-totitle.c: New file.
28644         * modules/unicase/u32-ct-totitle: New file.
28645
28646         New module 'unicase/u16-ct-totitle'.
28647         * lib/unicase/u16-ct-totitle.c: New file.
28648         * modules/unicase/u16-ct-totitle: New file.
28649
28650         New module 'unicase/u8-ct-totitle'.
28651         * lib/unicase/u8-ct-totitle.c: New file.
28652         * lib/unicase/u-ct-totitle.h: New file, derived from
28653         lib/unicase/u-totitle.h.
28654         * modules/unicase/u8-ct-totitle: New file.
28655
28656         New module 'unicase/u32-ct-tolower'.
28657         * lib/unicase/u32-ct-tolower.c: New file.
28658         * modules/unicase/u32-ct-tolower: New file.
28659
28660         New module 'unicase/u16-ct-tolower'.
28661         * lib/unicase/u16-ct-tolower.c: New file.
28662         * modules/unicase/u16-ct-tolower: New file.
28663
28664         New module 'unicase/u8-ct-tolower'.
28665         * lib/unicase/u8-ct-tolower.c: New file.
28666         * modules/unicase/u8-ct-tolower: New file.
28667
28668         New module 'unicase/u32-ct-toupper'.
28669         * lib/unicase/u32-ct-toupper.c: New file.
28670         * modules/unicase/u32-ct-toupper: New file.
28671
28672         New module 'unicase/u16-ct-toupper'.
28673         * lib/unicase/u16-ct-toupper.c: New file.
28674         * modules/unicase/u16-ct-toupper: New file.
28675
28676         New module 'unicase/u8-ct-toupper'.
28677         * lib/unicase/u8-ct-toupper.c: New file.
28678         * modules/unicase/u8-ct-toupper: New file.
28679
28680         Add context arguments to u*_casemap functions.
28681         * lib/unicase/unicasemap.h: Include unicase.h.
28682         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
28683         suffix_context arguments.
28684         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
28685         functions.
28686         (FUNC): Add prefix_context and suffix_context arguments. Use
28687         uc_is_cased and uc_is_case_ignorable.
28688         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
28689         * lib/unicase/u16-casemap.c: Likewise.
28690         * lib/unicase/u32-casemap.c: Likewise.
28691         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
28692         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28693         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
28694         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28695         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
28696         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28697
28698         New module 'unicase/u32-suffix-context'.
28699         * lib/unicase/u32-suffix-context.c: New file.
28700         * modules/unicase/u32-suffix-context: New file.
28701
28702         New module 'unicase/u16-suffix-context'.
28703         * lib/unicase/u16-suffix-context.c: New file.
28704         * modules/unicase/u16-suffix-context: New file.
28705
28706         New module 'unicase/u8-suffix-context'.
28707         * lib/unicase/u8-suffix-context.c: New file.
28708         * lib/unicase/u-suffix-context.h: New file.
28709         * modules/unicase/u8-suffix-context: New file.
28710
28711         New module 'unicase/empty-suffix-context'.
28712         * lib/unicase/empty-suffix-context.c: New file.
28713         * modules/unicase/empty-suffix-context: New file.
28714
28715         New module 'unicase/u32-prefix-context'.
28716         * lib/unicase/u32-prefix-context.c: New file.
28717         * modules/unicase/u32-prefix-context: New file.
28718
28719         New module 'unicase/u16-prefix-context'.
28720         * lib/unicase/u16-prefix-context.c: New file.
28721         * modules/unicase/u16-prefix-context: New file.
28722
28723         New module 'unicase/u8-prefix-context'.
28724         * lib/unicase/u8-prefix-context.c: New file.
28725         * lib/unicase/u-prefix-context.h: New file.
28726         * lib/unicase/context.h: New file.
28727         * modules/unicase/u8-prefix-context: New file.
28728
28729         New module 'unicase/empty-prefix-context'.
28730         * lib/unicase/empty-prefix-context.c: New file.
28731         * modules/unicase/empty-prefix-context: New file.
28732
28733         New module 'unicase/ignorable'.
28734         * lib/unicase/ignorable.c: New file.
28735         * modules/unicase/ignorable: New file.
28736
28737         New module 'unicase/cased'.
28738         * lib/unicase/caseprop.h: New file.
28739         * lib/unicase/cased.c: New file.
28740         * modules/unicase/cased: New file.
28741
28742         New functions for case mapping of substrings.
28743         * lib/unicase.h (casing_prefix_context_t): New type.
28744         (unicase_empty_prefix_context): New variable.
28745         (u8_casing_prefix_context, u16_casing_prefix_context,
28746         u32_casing_prefix_context, u8_casing_prefixes_context,
28747         u16_casing_prefixes_context, u32_casing_prefixes_context): New
28748         declarations.
28749         (casing_suffix_context_t): New type.
28750         (unicase_empty_suffix_context): New variable.
28751         (u8_casing_suffix_context, u16_casing_suffix_context,
28752         u32_casing_suffix_context, u8_casing_suffixes_context,
28753         u16_casing_suffixes_context, u32_casing_suffixes_context,
28754         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
28755         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
28756         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
28757         declarations.
28758
28759 2009-06-28  Jim Meyering  <meyering@redhat.com>
28760
28761         boostrap: indent only with spaces
28762         * build-aux/bootstrap: Indent only with spaces, never TABs.
28763
28764         bootstrap: split long lines
28765         * build-aux/bootstrap: Keep line length < 80.
28766
28767         bootstrap: sync from coreutils
28768         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
28769         just as autoreconf does.  Verify a list of prerequisite
28770         package-name,version-number pairs if defined in bootstrap.conf.
28771         Refer to README-prereq, if prerequisites are not satisfied.
28772
28773 2009-06-27  Eric Blake  <ebb9@byu.net>
28774
28775         tests: add test for bogus NULL definition
28776         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
28777         * tests/test-stdlib.c: Likewise.
28778         * tests/test-string.c: Likewise.
28779         * tests/test-locale.c: Likewise.
28780         * tests/test-unistd.c: Likewise.
28781         * modules/stdio-tests (Depends-on): Add verify.
28782         * modules/stdlib-tests (Depends-on): Likewise.
28783         * modules/string-tests (Depends-on): Likewise.
28784         * modules/locale-tests (Depends-on): Likewise.
28785         * modules/unistd-tests (Depends-on): Likewise.
28786
28787 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
28788
28789         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
28790         self-explaining comment.
28791         * m4/selinux-selinux-h: Update serial.
28792         (gl_LIBSELINUX): New macro, adding a warning for missing development
28793         packages to code extracted from...
28794         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
28795         Add warning for missing development packages here, too.
28796
28797 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
28798
28799         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
28800
28801 2009-06-25  Eric Blake  <ebb9@byu.net>
28802
28803         version-etc: fix regression
28804         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
28805         gcc.
28806         (version_etc): Use it, to catch bugs with trailing NULL.
28807         * lib/version-etc.c (version_etc_arn): Delete unused argument.
28808         (version_etc_va): Fix logic bug.
28809         * modules/version-etc-tests: Add test.
28810         * tests/test-version-etc.c: New file.
28811         * tests/test-version-etc.sh: Likewise.
28812
28813 2009-06-25  Sam Steingold  <sds@gnu.org>
28814
28815         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
28816         mbtowc declaration.
28817
28818 2009-06-25  Eric Blake  <ebb9@byu.net>
28819
28820         fpurge: migrate into <stdio.h>
28821         * lib/fpurge.h: Delete...
28822         * lib/stdio.in.h (fpurge): ...and declare here, instead.
28823         * lib/fpurge.c (fpurge): Change declaring header.
28824         * modules/fpurge (Files): Drop deleted file.
28825         (Depends-on): Add stdio.
28826         (configure.ac): Set witness.
28827         * modules/stdio (Makefile.am): Support fpurge macros.
28828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28829         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
28830         * lib/fflush.c: Update client.
28831         * tests/test-fpurge.c: Likewise.
28832         * NEWS: Mention the change.
28833
28834 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28835
28836         * lib/argp-version-etc.c (program_authors): Add const
28837         qualifier.
28838         * lib/version-etc.c: Fix typos in the comments.
28839         * modules/argp-version-etc: Depends on version-etc.
28840
28841 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28842
28843         argp-version-etc: new module.
28844
28845         * lib/argp-version-etc.c: New file.
28846         * lib/argp-version-etc.h: New file.
28847         * modules/argp-version-etc: New file.
28848         * modules/argp-version-etc-tests: New file.
28849         * tests/test-argp-version-etc.c: New test.
28850         * tests/test-argp-version-etc-1.sh: New test.
28851
28852 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28853
28854         Provide additional interfaces and documentation for version-etc
28855         module.
28856
28857         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
28858         interfaces.
28859         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
28860         prototypes.
28861
28862 2009-06-24  Bruno Haible  <bruno@clisp.org>
28863
28864         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
28865         HAVE_LIB${NAME} macro.
28866         Reported by Sam Steingold <sds@gnu.org>.
28867
28868 2009-06-23  Simon Josefsson  <simon@josefsson.org>
28869
28870         * modules/hash-tests (test_hash_LDADD): Link to libintl when
28871         needed.
28872
28873 2009-06-21  Bruno Haible  <bruno@clisp.org>
28874
28875         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
28876         work.
28877         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
28878         together with LIB${NAME}, LTLIB${NAME}.
28879         Reported by Sam Steingold <sds@gnu.org>.
28880
28881 2009-06-20  Jim Meyering  <meyering@redhat.com>
28882
28883         tests: make sc_require_test_exit_idiom more generic
28884         * top/maint.mk (Exit_witness_file): New overridable variable.
28885         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
28886         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
28887
28888 2009-06-19  Jim Meyering  <meyering@redhat.com>
28889
28890         hash: reverse order of src/dst parameters in an internal interface
28891         * lib/hash.c (transfer_entries): Reverse order of parameters to
28892         put DST before SRC.  Adjust callers.
28893
28894         tests: test-hash: avoid wholesale duplication
28895         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
28896         Instead, use a loop and add a single conditional.
28897
28898         tests: test-hash: allow seed selection via a command line argument
28899         * tests/test-hash.c (get_seed): New function.
28900         (main): Use it.
28901
28902 2009-06-19  Eric Blake  <ebb9@byu.net>
28903
28904         hash: avoid memory leak on allocation failure
28905         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
28906         failure.  Factor repeated algorithm...
28907         (transfer_entries): ...into new helper routine.
28908         (hash_delete): React to hash_rehash return value.
28909
28910         hash: reduce memory pressure in hash_rehash no-op case
28911         * lib/hash.c (next_prime): Avoid overflow.
28912         (hash_initialize): Factor bucket size computation...
28913         (compute_bucket_size): ...into new helper function.
28914         (hash_rehash): Use new function and open coding to reduce memory
28915         pressure, and avoid a memory leak in USE_OBSTACK code.
28916         Reported by Jim Meyering.
28917
28918 2009-06-18  Eric Blake  <ebb9@byu.net>
28919
28920         hash: make rotation more obvious
28921         * modules/hash (Depends-on): Add bitrotate and stdint.
28922         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
28923         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
28924         (SIZE_MAX): Rely on headers for definition.
28925         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
28926         (raw_hasher): Use rotr_sz.
28927         Suggested by Jim Meyering.
28928
28929         hash: fix memory leak in last patch
28930         * lib/hash.c (hash_rehash): Avoid memory leak.
28931
28932         hash: avoid no-op rehashing
28933         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
28934
28935         hash: provide default callback functions
28936         * lib/hash.c (raw_hasher, raw_comparator): New functions.
28937         (hash_initialize): Use them as defaults.
28938         * tests/test-hash.c (main): Test this.
28939
28940         hash: minor optimization
28941         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
28942         when possible.
28943         (hash_initialize): Document this promise.
28944         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
28945         * tests/test-hash.c (hash_compare_strings): Test this.
28946
28947 2009-06-18  Bruno Haible  <bruno@clisp.org>
28948
28949         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
28950         going to be replaced anyway.
28951
28952 2009-06-18  Bruno Haible  <bruno@clisp.org>
28953
28954         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
28955         in one place.
28956         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
28957         be replaced anyway.
28958
28959 2009-06-18  Eric Blake  <ebb9@byu.net>
28960
28961         hash: check for resize before insertion
28962         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
28963         threshold before insertion, so that a pathological hash_rehash
28964         that fills every bucket can still trigger another rehash.
28965
28966 2009-06-18  Jim Meyering  <meyering@redhat.com>
28967
28968         hash-tests: add a loop around the small tests
28969         * tests/test-hash.c (main): Repeat small tests with selected
28970         small initial table sizes.
28971
28972 2009-06-17  Eric Blake  <ebb9@byu.net>
28973
28974         hash: minor cleanups
28975         * lib/hash.h (hash_entry): Make opaque, by moving...
28976         * lib/hash.c (hash_entry): ...here.
28977         (hash_insert): Clarify restrictions on what can be inserted.
28978         (hash_get_next): Clarify when it is safe to remove an element
28979         during traversal.
28980         (check_tuning): Skip verification when tuning is known safe.
28981         (hash_initialize): Clarify restrictions on tuning.
28982
28983 2009-06-17  Jim Meyering  <jim@meyering.net>
28984         and Eric Blake  <ebb9@byu.net>
28985
28986         hash-tests: new module
28987         * modules/hash-tests: New file.
28988         * tests/test-hash.c: New file.
28989
28990 2009-06-17  Eric Blake  <ebb9@byu.net>
28991
28992         strstr-simple: document new module
28993         * MODULES.html.sh: Document new module.
28994
28995         strstr, strcasestr: replace on platforms with broken memchr
28996         * modules/strstr: Split into...
28997         * modules/strstr-simple: ...new module that does not care about
28998         performance, but does care about glibc bug.
28999         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
29000         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
29001         if platform memchr is broken, per Debian bug 521737.
29002         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
29003         memchr.
29004         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
29005         * doc/posix-functions/strstr.texi (strstr): Document the fix.
29006         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29007         * modules/mountlist (Depends-on): Add strstr-simple.
29008         * modules/gen-uni-tables (Depends-on): Likewise.
29009         * modules/argz (Depends-on): Add strstr.
29010
29011 2009-06-17  Bruno Haible  <bruno@clisp.org>
29012
29013         * modules/posix_spawn-internal (Depends-on): Add errno.
29014
29015 2009-06-17  Bruno Haible  <bruno@clisp.org>
29016
29017         Define missing ESTALE on Interix 3.5.
29018         * lib/errno.in.h (ESTALE): Assign a value if missing.
29019         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
29020         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
29021         missing.
29022         * doc/posix-headers/errno.texi: Mention the Interix bug.
29023         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
29024
29025 2009-06-15  Eric Blake  <ebb9@byu.net>
29026
29027         memchr, memchr2: add valgrind exception
29028         * lib/memchr.valgrind: New file.
29029         * lib/memchr2.valgrind: New file.
29030         * modules/memchr (Files): Distribute valgrind file.
29031         * modules/memchr2 (Files): Likewise.
29032
29033         docs: memchr is no longer obsolete
29034         * MODULES.html.sh: Move memchr from obsolete to string.h section.
29035         * lib/string.in.h (memchr): Simplify logic.
29036
29037 2009-06-14  Jim Meyering  <meyering@redhat.com>
29038
29039         link-follow: fix the "checking..." message to not mention trailing slash
29040         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
29041         never considered trailing slashes.
29042
29043 2009-06-14  Bruno Haible  <bruno@clisp.org>
29044
29045         * m4/memchr.m4: Mention also the bug on IA-64.
29046         * doc/posix-functions/memchr.texi: Likewise.
29047
29048 2009-06-12  Eric Blake  <ebb9@byu.net>
29049
29050         memchr: detect broken x86_64 and alpha implementations
29051         * modules/memchr-tests (Depends-on): Move mmap detection...
29052         * modules/memchr (Depends-on): ...here.
29053         (configure.ac): Set indicator.
29054         * lib/string.in.h (memchr): Declare replacement.
29055         * modules/string (Makefile.am): Trigger replacement.
29056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29057         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
29058         bugs.
29059         * doc/posix-functions/memchr.texi (memchr): Document the bug.
29060         * modules/getpagesize (License): Relax license.
29061
29062 2009-06-11  Bruno Haible  <bruno@clisp.org>
29063
29064         * lib/idpriv.h: Add more references.
29065
29066 2009-06-08  Bruno Haible  <bruno@clisp.org>
29067
29068         Tests for module 'idpriv-droptemp'.
29069         * modules/idpriv-droptemp-tests: New file.
29070         * tests/test-idpriv-droptemp.sh: New file.
29071         * tests/test-idpriv-droptemp.su.sh: New file.
29072         * tests/test-idpriv-droptemp.c: New file.
29073
29074         New module 'idpriv-droptemp'.
29075         * lib/idpriv-droptemp.c: New file.
29076         * modules/idpriv-droptemp: New file.
29077
29078 2009-06-08  Bruno Haible  <bruno@clisp.org>
29079
29080         Tests for module 'idpriv-drop'.
29081         * modules/idpriv-drop-tests: New file.
29082         * tests/test-idpriv-drop.sh: New file.
29083         * tests/test-idpriv-drop.su.sh: New file.
29084         * tests/test-idpriv-drop.c: New file.
29085
29086         New module 'idpriv-drop'.
29087         * lib/idpriv.h: New file.
29088         * lib-idpriv-drop.c: New file.
29089         * m4/idpriv.m4: New file.
29090         * modules/idpriv-drop: New file.
29091
29092 2009-06-08  Bruno Haible  <bruno@clisp.org>
29093
29094         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
29095         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29096         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29097         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29098         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29099         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29100         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29101
29102 2009-06-08  Eric Blake  <ebb9@byu.net>
29103
29104         test-strstr: use memory fence, when possible
29105         * tests/test-strstr.c (main): Use memory fence, in order to be
29106         more likely to trigger Debian bug 521737.
29107         * modules/strstr-tests (Files): Pull in additional files.
29108
29109         memchr: no longer obsolete, for wider field testing
29110         * modules/memchr (Status, Notice): Delete, this module is no
29111         longer obsolete.
29112         * modules/vasnprintf (Depends-on): Add memchr.
29113
29114 2009-06-07  Jim Meyering  <meyering@redhat.com>
29115
29116         hash: declare some functions with the warn_unused_result attribute
29117         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
29118
29119 2009-06-07  Bruno Haible  <bruno@clisp.org>
29120
29121         * tests/test-alignof.c: Don't test int64_t if it does not exist.
29122         Reported by Eric Blake.
29123
29124 2009-06-06  Eric Blake  <ebb9@byu.net>
29125
29126         test-alignof: fix typo with long double
29127         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
29128         compiler error.
29129
29130 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
29131
29132         Escape non-texinfo { and }s.
29133         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
29134         markup error.
29135
29136 2009-06-04  Jim Meyering  <meyering@redhat.com>
29137
29138         gitlog-to-changelog: don't infloop on an empty commit log
29139         * build-aux/gitlog-to-changelog: Warn about an empty log message.
29140         Reported by Boris Petersen <transacid@centerim.org>.
29141
29142 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
29143
29144         version-etc: extend for packagers
29145         Add three new configure options, intended for packagers:
29146           --with-packager="packager name"
29147           --with-packager-version="packager-specific version"
29148           --with-packager-bug-reports="packager bug reporting"
29149         An example with coreutils:
29150           $ ./configure \
29151             --with-packager=Gentoo \
29152             --with-packager-bug-report=http://bugs.gentoo.org/ \
29153             --with-packager-version="patchset 1.6"
29154           $ ./src/ls --version | head -n2
29155           ls (GNU coreutils) 7.1-dirty
29156           Packaged by Gentoo (patchset 1.6)
29157         Note that the bug reporting info via --help doesn't show up because
29158         coreutils uses its own custom emit_bug_reporting_address() implementation
29159         in src/system.h.  If it didn't, it'd look like:
29160           $ ./src/ls --help | tail -n4
29161           Report bugs to <bug-coreutils@gnu.org>.
29162           Report Gentoo bugs to <http://bugs.gentoo.org/>.
29163           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
29164           General help using GNU software: <http://www.gnu.org/gethelp/>.
29165         * lib/version-etc.c: Print new information, if provided.
29166         * m4/version-etc.m4: New file.
29167         * modules/version-etc (Files): Add m4/version-etc.m4.
29168         (configure.ac): Add gl_VERSION_ETC.
29169
29170 2009-05-31  Bruno Haible  <bruno@clisp.org>
29171
29172         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
29173         and 'int64_t'.
29174         * modules/alignof-tests (Dependencies): Add stdint.
29175         Reported by Eric Blake.
29176
29177 2009-05-31  Bruno Haible  <bruno@clisp.org>
29178
29179         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
29180         restriction due to compiler bugs.
29181         Reported by Eric Blake.
29182
29183 2009-05-31  Simon Josefsson  <simon@josefsson.org>
29184             Bruno Haible  <bruno@clisp.org>
29185
29186         Fix test-alignof failure.
29187         * lib/alignof.h (alignof_slot): New macro.
29188         (alignof_type): New macro, with the same semantics as the previous
29189         'alignof'.
29190         (alignof): Alias to alignof_slot.
29191         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
29192         check that the results are usable as constant expressions.
29193
29194 2009-05-31  Bruno Haible  <bruno@clisp.org>
29195
29196         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
29197         * tests/test-memchr.c (main): Check that memchr does not read past the
29198         first occurrence of the byte.
29199         * tests/test-strstr.c (main): Update comment.
29200         Suggested by Eric Blake.
29201
29202 2009-05-30  Bruno Haible  <bruno@clisp.org>
29203
29204         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
29205         detail how to use dumpbin.
29206         Reported by David Byron <dbyron@dbyron.com>.
29207
29208 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29209
29210         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
29211
29212 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29213
29214         * m4/manywarnings.m4: Add GCC 4.4 warnings.
29215
29216 2009-05-28  Bruno Haible  <bruno@clisp.org>
29217
29218         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
29219         build-aux/ files.
29220
29221 2009-05-28  Simon Josefsson  <simon@josefsson.org>
29222
29223         * gnulib-tool (func_import): Transform license on build-aux/ files too.
29224
29225 2009-05-27  Simon Josefsson  <simon@josefsson.org>
29226
29227         * gnulib-tool (sed_transform_main_lib_file)
29228         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
29229         regexps.
29230
29231 2009-05-26  Simon Josefsson  <simon@josefsson.org>
29232
29233         * tests/test-strstr.c: Add another self-test.
29234         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
29235         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
29236
29237 2009-05-23  Bruno Haible  <bruno@clisp.org>
29238
29239         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
29240         change.
29241
29242 2009-05-21  Bruno Haible  <bruno@clisp.org>
29243
29244         Simplify use of mode_t varargs.
29245         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
29246         uses 'mode_t' or 'int'.
29247         * lib/openat.c (openat): Likewise.
29248         * lib/open-safer.c (open_safer): Likewise.
29249         * m4/mode_t.m4: New file.
29250         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
29251         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
29252         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
29253         * modules/open (Files): Add m4/mode_t.m4.
29254         * modules/openat (Files): Likewise.
29255         * modules/fcntl-safer (Files): Likewise.
29256         Suggested by Eric Blake.
29257
29258 2009-05-21  Pádraig Brady  <P@draigbrady.com>
29259
29260         * doc/glibc-functions/fallocate.texi: New file.
29261         * doc/gnulib.texi: Include it.
29262
29263 2009-05-21  Eric Blake  <ebb9@byu.net>
29264             Bruno Haible  <bruno@clisp.org>
29265
29266         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
29267         invocations.
29268         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29269
29270 2009-05-21  Eric Blake  <ebb9@byu.net>
29271             Bruno Haible  <bruno@clisp.org>
29272
29273         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
29274         include_next. Fix of 2008-11-20 commit.
29275         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
29276         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
29277         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
29278         NEXT_MATH_H.
29279         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
29280         instead of NEXT_MATH_H.
29281
29282 2009-05-21  Bruno Haible  <bruno@clisp.org>
29283
29284         Avoid redefinition warnings for SIZE_MAX.
29285         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
29286         Reported by Simon Josefsson.
29287
29288 2009-05-21  Bruno Haible  <bruno@clisp.org>
29289
29290         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
29291         AC_CACHE_VAL.
29292
29293 2009-05-20  Bruno Haible  <bruno@clisp.org>
29294
29295         Make zeroptr.h work on mingw.
29296         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
29297         mprotect.
29298         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
29299         * modules/memchr2-tests (configure.ac): Likewise.
29300         * modules/memcmp-tests (configure.ac): Likewise.
29301         * modules/memmem-tests (configure.ac): Likewise.
29302         * modules/memrchr-tests (configure.ac): Likewise.
29303         Reported by Simon Josefsson.
29304
29305 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29306
29307         * tests/test-glob.c: Include string.h for strcmp prototype.
29308
29309 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29310
29311         * modules/getdelim (Depends-on): Add explicit stdint, although it
29312         was implicitly already pulled in via realloc-posix.
29313         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
29314
29315 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29316
29317         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
29318         G. Christensen" <tgc@jupiterrise.com>.
29319         * m4/sys_socket_h.m4: Check for sa_family_t.
29320         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
29321         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
29322         * tests/test-sys_socket.c: Check that sa_family_t works.
29323
29324 2009-05-18  Eric Blake  <ebb9@byu.net>
29325
29326         maint.mk: allow gnulib_dir in VPATH build
29327         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
29328
29329 2009-05-15  Jim Meyering  <meyering@redhat.com>
29330
29331         maint.mk: Give gnulib_dir a default definition.
29332         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
29333         Thus, most packages no longer need to specify this variable in cfg.mk
29334
29335 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
29336
29337         rename.m4: fix typos that would make non-mingw cross-configure fail
29338         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
29339
29340 2009-05-13  Eric Blake  <ebb9@byu.net>
29341
29342         mmap-anon: avoid out-of-order autoconf expansion
29343         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
29344         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
29345         * modules/memchr-tests (Depends-on): Add extensions.
29346         * modules/memchr2-tests (Depends-on): Add extensions.
29347         * modules/memcmp-tests (Depends-on): Add extensions.
29348         * modules/memmem-tests (Depends-on): Add extensions.
29349         * modules/memrchr-tests (Depends-on): Add extensions.
29350
29351 2009-05-13  Bruno Haible  <bruno@clisp.org>
29352
29353         Make some tests ISO C 99 compliant.
29354         * tests/zerosize-ptr.h: New file.
29355         * tests/test-memchr.c: Include zerosize-ptr.h.
29356         (main): Use a zero-size object pointer instead of NULL.
29357         * tests/test-memchr2.c: Include zerosize-ptr.h.
29358         (main): Use a zero-size object pointer instead of NULL.
29359         * tests/test-memcmp.c: Include zerosize-ptr.h.
29360         (main): Use a zero-size object pointer instead of NULL.
29361         * tests/test-memmem.c: Include zerosize-ptr.h.
29362         (main): Use a zero-size object pointer instead of NULL.
29363         * tests/test-memrchr.c: Include zerosize-ptr.h.
29364         (main): Use a zero-size object pointer instead of NULL.
29365         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
29366         m4/mmap-anon.m4.
29367         (Depends-on): Add getpagesize.
29368         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29369         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
29370         m4/mmap-anon.m4.
29371         (Depends-on): Add getpagesize.
29372         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29373         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
29374         m4/mmap-anon.m4.
29375         (Depends-on): Add getpagesize.
29376         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29377         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
29378         m4/mmap-anon.m4.
29379         (Depends-on): Add getpagesize.
29380         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29381         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
29382         m4/mmap-anon.m4.
29383         (Depends-on): Add getpagesize.
29384         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29385
29386 2009-05-12  Bruno Haible  <bruno@clisp.org>
29387
29388         Tests for module 'alignof'.
29389         * modules/alignof-tests: New file.
29390         * tests/test-alignof.c: New file.
29391
29392 2009-05-12  Bruno Haible  <bruno@clisp.org>
29393
29394         Fix alignof macro.
29395         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
29396         vendor compilers that are always correct.
29397
29398 2009-05-12  Bruno Haible  <bruno@clisp.org>
29399
29400         Make the MAP_ANONYMOUS detection work on HP-UX 11.
29401         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
29402         not whether its fully works.
29403
29404 2009-05-12  Bruno Haible  <bruno@clisp.org>
29405
29406         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
29407
29408 2009-05-12  Jim Meyering  <meyering@redhat.com>
29409
29410         * top/maint.mk: Adjust backslash alignment.
29411
29412 2009-05-11  Simon Josefsson  <simon@josefsson.org>
29413
29414         * top/maint.mk: Make $(srcdir)/build-aux configurable.
29415
29416 2009-05-11  Eric Blake  <ebb9@byu.net>
29417
29418         argp: avoid undefined behavior
29419         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
29420         macros.
29421
29422 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29423
29424         * tests/test-vc-list-files-git.sh: Do git config of user.email and
29425         user.name to prevent git commit from complaining.
29426
29427 2009-05-10  Bruno Haible  <bruno@clisp.org>
29428
29429         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
29430         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
29431         it rewrites every file name only once.
29432         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
29433
29434 2009-05-08  Bruno Haible  <bruno@clisp.org>
29435
29436         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
29437         instead of 'max'.
29438
29439 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29440
29441         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
29442         sockaddr_storage test.
29443
29444 2009-05-07  Simon Josefsson  <simon@josefsson.org>
29445
29446         * modules/sys_socket (Makefile.am): Substitute
29447         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
29448         * m4/sys_socket_h.m4: Check for sockaddr_storage.
29449         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
29450         * tests/test-sys_socket.c: Check sockaddr_storage.
29451
29452 2009-05-08  Bruno Haible  <bruno@clisp.org>
29453
29454         New module 'alignof'.
29455         * lib/alignof.h: New file.
29456         * modules/alignof: New file.
29457
29458 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29459             Bruno Haible  <bruno@clisp.org>
29460
29461         Fix test-file-has-acl on FreeBSD.
29462         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
29463         mask is implicitly added.
29464         * tests/test-file-has-acl.c: Include <signal.h>.
29465         (main): Terminate the test after 5 seconds.
29466         * modules/acl-tests (configure.ac): Check for alarm function.
29467
29468 2009-05-04  Bruno Haible  <bruno@clisp.org>
29469
29470         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
29471         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
29472         * modules/errno (configure.ac): Drop AC_REQUIRE.
29473         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
29474         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
29475
29476 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29477
29478         * modules/glob-tests: New module.
29479         * tests/test-glob.c: Add.
29480
29481 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29482
29483         * modules/fnmatch-tests: New module.
29484         * tests/test-fnmatch.c: Add.
29485
29486 2009-05-04  Eric Blake  <ebb9@byu.net>
29487
29488         maint: make the new no-submodule-changes rule VPATH-safe
29489         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
29490
29491 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29492             Bruno Haible  <bruno@clisp.org>
29493
29494         acl: Fix infinite loop on FreeBSD.
29495         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
29496         of return value from acl_get_entry.
29497         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
29498         Likewise.
29499
29500 2009-05-03  Bruno Haible  <bruno@clisp.org>
29501
29502         * lib/acl-internal.h (acl_entries): Clarify return value.
29503         * lib/acl_entries.c (acl_entries): Likewise.
29504
29505 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29506
29507         Bug fix in acl module.
29508         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
29509
29510 2009-05-03  Bruno Haible  <bruno@clisp.org>
29511
29512         Create gperf-generated file in the source dir, not in the build dir.
29513         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
29514         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
29515         * modules/unicase/locale-language (unicase/locale-languages.h):
29516         Likewise.
29517         * modules/unicase/special-casing (unicase/special-casing-table.h):
29518         Likewise.
29519         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
29520         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
29521         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
29522         Reported by Ralf Wildenhues.
29523
29524 2009-05-03  Bruno Haible  <bruno@clisp.org>
29525
29526         * modules/fnmatch (Description, configure.ac): Taken from
29527         fnmatch-posix.
29528         * modules/fnmatch-posix: Turn into a symbolic reference to the
29529         'fnmatch' module, and deprecate.
29530         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
29531
29532 2009-05-03  Bruno Haible  <bruno@clisp.org>
29533
29534         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
29535         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
29536         Reported by Ralf Wildenhues.
29537
29538 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29539
29540         * m4/fnmatch.m4: Fix fnmatch re-define.
29541
29542 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29543
29544         priv-set: new module and tests; adapt write-any-file
29545         * lib/priv-set.c: New file.
29546         * lib/priv-set.h: New file.
29547         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
29548         * lib/write-any-file.c: Simplify by using priv-set module.
29549         * m4/priv-set.m4: New file.
29550         * modules/priv-set: New file.
29551         * modules/unlinkdir: Add dependency on priv-set module.
29552         * modules/write-any-file: Likewise.
29553
29554         Tests for module 'priv-set'.
29555         * modules/priv-set-tests: New file.
29556         * tests/test-priv-set.c: New file.
29557
29558 2009-05-03  Jim Meyering  <meyering@redhat.com>
29559             Bruno Haible  <bruno@clisp.org>
29560
29561         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
29562         use the converted UTF-8 variant of the name instead.
29563
29564 2009-05-03  Jim Meyering  <meyering@redhat.com>
29565
29566         tests: tighten some getdate tests
29567         * tests/test-getdate.c (main): Tighten tests: require equality,
29568         not just greater than.  Set TZ envvar to UTC0.
29569
29570 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29571
29572         getdate: correctly interpret "next monday" when run on a Monday
29573         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
29574         that e.g., "next tues" (when run on a tuesday) results in a date
29575         that is one week in the future, and not today's date.
29576         I.e., add a week when the wday is the same as the current one.
29577         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
29578         and earlier by Martin Bernreuther and Jan Minář.
29579         * tests/test-getdate.c (main): Check that "next DAY" is always in
29580         the future and that "last DAY" is always in the past.
29581
29582 2009-05-02  Jim Meyering  <meyering@redhat.com>
29583
29584         build: ensure that a release build fails when a submodule is unclean
29585         * top/maint.mk (no-submodule-changes): New rule.
29586         (alpha beta major): Depend on it.
29587
29588 2009-05-02  Bruno Haible  <bruno@clisp.org>
29589
29590         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
29591         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
29592         shell variable gl_fnmatch_required to detect which variant is
29593         requested.
29594         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
29595         gl_FUNC_FNMATCH_POSIX.
29596         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
29597         exclude fnmatch-posix.
29598
29599 2009-05-02  Bruno Haible  <bruno@clisp.org>
29600
29601         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29602         * modules/mbsrtowcs (License): Change to LGPLv2+.
29603         * modules/strnlen1 (License): Likewise.
29604         Reported by Simon Josefsson.
29605
29606 2009-05-02  Bruno Haible  <bruno@clisp.org>
29607
29608         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29609         "cross".
29610         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29611         gnulib-tool was called with option --source-base=lib.
29612
29613 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29614
29615         Use automake *-local hooks without commands, for extensibility.
29616         * modules/localcharset (Makefile.am): Rename install-exec-local
29617         rule to install-exec-localcharset, and make it a prerequisite of
29618         install-exec-local.  Likewise, rename the uninstall-local rule to
29619         uninstall-localcharset, and make it a prerequisite of the former.
29620
29621 2009-05-01  Bruno Haible  <bruno@clisp.org>
29622
29623         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29624         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29625         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29626         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29627         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29628         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29629         m4/locale-zh.m4, m4/codeset.m4.
29630
29631         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29632         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
29633         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29634         m4/locale-zh.m4.
29635
29636         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
29637         REPLACE_WCRTOMB if mbstate_t must be replaced.
29638         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
29639         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
29640
29641 2009-05-01  Bruno Haible  <bruno@clisp.org>
29642
29643         Avoid compiler warnings when redefining macros defined by <libintl.h>.
29644         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
29645         dngettext, dcngettext, textdomain, bindtextdomain,
29646         bind_textdomain_codeset): Undefine before redefining.
29647
29648 2009-04-30  Bruno Haible  <bruno@clisp.org>
29649
29650         Fix bug introduced on 2009-04-25.
29651         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
29652         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
29653         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
29654         is defined.
29655         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
29656         is defined.
29657         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
29658         is defined.
29659         Reported by Elbert_Pol <elbert.pol@gmail.com>.
29660
29661 2009-04-28  Bruno Haible  <bruno@clisp.org>
29662
29663         Comment tweaks.
29664         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
29665         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
29666         * lib/unicase.h (u*_casexfrm): Likewise.
29667         Reported by Paolo Bonzini.
29668
29669 2009-04-28  Bruno Haible  <bruno@clisp.org>
29670
29671         Fix a compilation error.
29672         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
29673         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29674         Reported by Jim Meyering.
29675
29676 2009-04-27  Bruno Haible  <bruno@clisp.org>
29677
29678         New module 'libunistring'.
29679         * modules/libunistring: New file.
29680         * m4/libunistring.m4: New file.
29681         * MODULES.html.sh (Unicode string functions): Add it.
29682
29683 2009-04-27  Eric Blake  <ebb9@byu.net>
29684
29685         maint.mk: allow package-specific header to provide <config.h>
29686         * top/maint.mk (sc_require_config_h): New variable.
29687         (sc_require_config_h, sc_require_config_h_first): Use it.
29688
29689 2009-04-27  Simon Josefsson  <simon@josefsson.org>
29690
29691         * top/maint.mk (sc_avoid_if_before_free): Except
29692         useless-if-before-free script.
29693
29694 2009-04-27  Eric Blake  <ebb9@byu.net>
29695
29696         maintainer-makefile: depend on all required helper scripts
29697         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
29698         useless-if-before-free.
29699         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
29700         version, rather than assuming gnulib checkout is available.
29701         Reported by Simen Josefsson.
29702
29703 2009-04-26  Bruno Haible  <bruno@clisp.org>
29704
29705         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
29706         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
29707         "../" or "..".
29708
29709 2009-04-26  Bruno Haible  <bruno@clisp.org>
29710
29711         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
29712         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
29713         AC_LIB_HAVE_LINKFLAGS.
29714
29715 2009-04-26  Bruno Haible  <bruno@clisp.org>
29716
29717         Simplify calling convention of u*_conv_from_encoding.
29718         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
29719         u32_conv_from_encoding): Expect a resultbuf argument and return the
29720         result directly as a pointer.
29721         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
29722         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
29723         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
29724         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
29725         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
29726         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29727         Update.
29728         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
29729         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
29730         * lib/vasnprintf.c (VASNPRINTF): Update.
29731         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
29732         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
29733         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
29734         * NEWS: Mention the change.
29735
29736 2009-04-26  Bruno Haible  <bruno@clisp.org>
29737
29738         Simplify calling convention of u*_conv_to_encoding.
29739         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29740         u32_conv_to_encoding): Expect a resultbuf argument and return the
29741         result directly as a pointer.
29742         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29743         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
29744         freeing scaled_offsets if mem_iconveha failed.
29745         * lib/unicase/u-casexfrm.h (FUNC): Update.
29746         * lib/uninorm/u-normxfrm.h (FUNC): Update.
29747         * lib/vasnprintf.c (VASNPRINTF): Update.
29748         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
29749         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
29750         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
29751         * NEWS: Mention the change.
29752
29753 2009-04-26  Bruno Haible  <bruno@clisp.org>
29754
29755         Avoid test failures on AIX and OSF/1.
29756         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
29757         malloc(0).
29758         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29759         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29760         Likewise.
29761         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
29762         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
29763         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
29764         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
29765         * doc/posix-functions/malloc.texi: Document the portability problem
29766         related to malloc(0).
29767
29768 2009-04-26  Bruno Haible  <bruno@clisp.org>
29769
29770         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
29771         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
29772         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
29773
29774 2009-04-25  Bruno Haible  <bruno@clisp.org>
29775
29776         Avoid link error when creating a namespace clean library.
29777         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
29778         as macro with arguments if already defined as an alias.
29779         * lib/signbitf.c (gl_signbitf): Don't undefine.
29780         * lib/signbitd.c (gl_signbitd): Don't undefine.
29781         * lib/signbitl.c (gl_signbitl): Don't undefine.
29782
29783 2009-04-25  Jim Meyering  <meyering@redhat.com>
29784
29785         vc-list-files: fix another quoting bug
29786         * build-aux/vc-list-files: Avoid sed backslash expansion
29787         of pathological directory names.
29788
29789 2009-04-25  Eric Blake  <ebb9@byu.net>
29790
29791         vc-list-files: fix shell quoting error
29792         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
29793         timestamp.
29794
29795 2009-04-25  Jim Meyering  <meyering@redhat.com>
29796
29797         vc-list-files: restore lost functionality with subdir argument
29798         * build-aux/vc-list-files: When given a non-"." sub-directory
29799         argument, substitute the $dir/ prefix back onto each resulting name.
29800         Otherwise, coreutils' root_tests check would fail.
29801
29802 2009-04-24  Eric Blake  <ebb9@byu.net>
29803
29804         vc-list-files: ignore git symlinks
29805         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
29806         than ls-files, to ignore git symlinks.
29807
29808         maint.mk: import improvements from m4
29809         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
29810         (move_if_change): Delete unused macro.
29811         (news-date-check, vc-diff-check): Support VPATH builds.
29812         (announcement): Likewise.  Split --bootstrap-tools list...
29813         (boostrap-tools): ...into separate list, which can be overridden
29814         in cfg.mk.
29815         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
29816         requiring dependency on useless-if-before-free module.
29817         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
29818         Support VPATH builds.
29819
29820 2009-04-24  Jim Meyering  <meyering@redhat.com>
29821
29822         maint.mk: remove coreutils-specific rules and variables
29823         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
29824         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
29825         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
29826
29827         maint.mk: remove obsolete rule
29828         * top/maint.mk (rel-check): Remove rule.
29829         (WGET, WGETFLAGS): Remove now-unused variables.
29830
29831 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29832
29833         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
29834         consistency.
29835
29836         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
29837         '$(PATH_SEPARATOR)' instead of ':'.
29838
29839 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29840
29841         * lib/getopt1.c (main): Use 'const' for static array.
29842
29843 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29844
29845         * top/maint.mk: Sync with coreutils.
29846         * NEWS: Explain incompatibilities.
29847
29848 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29849             Bruno Haible  <bruno@clisp.org>
29850
29851         Fix cross-compilation results.
29852         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
29853         statement, as third argument of AC_TRY_RUN.
29854         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29855         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29856         Likewise.
29857         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29858         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
29859         Likewise.
29860         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29861         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
29862         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
29863
29864 2009-04-20  Bruno Haible  <bruno@clisp.org>
29865
29866         Avoid test failure on mingw.
29867         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
29868
29869 2009-04-20  Bruno Haible  <bruno@clisp.org>
29870
29871         Avoid compilation error on mingw.
29872         * modules/localename-tests (Depends-on): Add locale.
29873
29874 2009-04-19  Bruno Haible  <bruno@clisp.org>
29875
29876         Support for building a shared library on Windows platforms.
29877         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
29878         (main): Test the presence of UNINORM_NFC here.
29879         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
29880         (main): Test the presence of UNINORM_NFD here.
29881         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
29882         (main): Test the presence of UNINORM_NFKC here.
29883         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
29884         (main): Test the presence of UNINORM_NFKD here.
29885
29886 2009-04-19  Bruno Haible  <bruno@clisp.org>
29887
29888         Avoid a compiler warning.
29889         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
29890         Change type of variable 'sequence'.
29891
29892 2009-04-19  Bruno Haible  <bruno@clisp.org>
29893
29894         * modules/configmake (Makefile.am): When the contents of configmake.h
29895         does not change, arrange to preserve its modification time.
29896
29897 2009-04-17  Simon Josefsson  <simon@josefsson.org>
29898
29899         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
29900         gettext domain.
29901
29902 2009-04-16  Jim Meyering  <meyering@redhat.com>
29903
29904         useless-if-before-free: improve conversion code
29905         * build-aux/useless-if-before-free: Adjust code-in-comment to match
29906         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
29907
29908 2009-04-14  Bruno Haible  <bruno@clisp.org>
29909
29910         * modules/fcntl (Depends-on): Add extensions.
29911         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
29912
29913 2009-04-12  Ben Pfaff  <blp@gnu.org>
29914
29915         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
29916         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
29917
29918 2009-03-20  Ben Pfaff  <blp@gnu.org>
29919
29920         Make rename replace existing destinations on Windows.
29921         * m4/rename.m4: Add test for Mingw.
29922         * lib/rename.c: Add rename replacement that uses MoveFileEx with
29923         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
29924         * doc/posix-functions/rename.texi: Document.
29925
29926 2009-04-10  Bruno Haible  <bruno@clisp.org>
29927
29928         New include file "iconveh.h".
29929         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
29930         * lib/striconveh.h: Include it.
29931         (enum iconv_ilseq_handler): Remove definition.
29932         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
29933         striconveh.h.
29934         * lib/striconveha.c: Include striconveh.h.
29935         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
29936         * modules/striconveh (Files): Add lib/iconveh.h.
29937         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
29938         lib/striconveh.h.
29939
29940 2009-04-10  Bruno Haible  <bruno@clisp.org>
29941
29942         * lib/uniconv.h: Update comment.
29943
29944 2009-04-10  Bruno Haible  <bruno@clisp.org>
29945
29946         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
29947         always.
29948         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29949         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29950         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29951         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
29952         "unistring-notinline.h", so that the function gets defined always.
29953         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29954         * lib/unistr/u8-uctomb.c: Likewise.
29955         * lib/unistr/u16-mbtouc.c: Likewise.
29956         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29957         * lib/unistr/u16-uctomb.c: Likewise.
29958         * lib/unistr/u32-mbtouc.c: Likewise.
29959         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29960         * lib/unistr/u32-uctomb.c: Likewise.
29961
29962 2009-04-10  Bruno Haible  <bruno@clisp.org>
29963
29964         Mark 'utime' obsolete.
29965         * modules/utime (Status, Notice): New sections.
29966         Suggested by Jim Meyering.
29967
29968         Fix cross-compile guess for utime test.
29969         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
29970         autoconf.
29971         * doc/posix-functions/utime.texi: Give more precisions.
29972         Reported by Jan <ipif@ymail.com>.
29973
29974 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
29975
29976         filevercmp: correct today's change
29977         * lib/filevercmp.c: Also handle coreutils' test inputs.
29978         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
29979
29980         Fix regression in 'filevercmp' module. Thanks Sven Joachim
29981         for reporting it.
29982         * lib/filevercmp.c: Special handle for "", "." and "..".
29983         * tests/test-filevercmp.c: Enlarge the set suite.
29984
29985 2009-04-07  Jim Meyering  <meyering@redhat.com>
29986
29987         useless-if-before-free: show how to remove braced useless free, too
29988         * build-aux/useless-if-before-free: still only in a comment, though.
29989
29990 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
29991
29992         maint.mk: import changes to syntax-check macros from coreutils
29993         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
29994         Use them in the relevant macros.
29995
29996 2009-04-06  Bruno Haible  <bruno@clisp.org>
29997
29998         Fix unportable use of bit-fields.
29999         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
30000         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
30001         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
30002
30003 2009-04-06  Bruno Haible  <bruno@clisp.org>
30004
30005         Avoid test failures on AIX and OSF/1.
30006         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
30007         that malloc(0) = NULL.
30008         * tests/unicase/test-u8-tolower.c (check): Likewise.
30009         * tests/unicase/test-u8-totitle.c (check): Likewise.
30010         * tests/unicase/test-u8-toupper.c (check): Likewise.
30011         * tests/unicase/test-u16-casefold.c (check): Likewise.
30012         * tests/unicase/test-u16-tolower.c (check): Likewise.
30013         * tests/unicase/test-u16-totitle.c (check): Likewise.
30014         * tests/unicase/test-u16-toupper.c (check): Likewise.
30015         * tests/unicase/test-u32-casefold.c (check): Likewise.
30016         * tests/unicase/test-u32-tolower.c (check): Likewise.
30017         * tests/unicase/test-u32-totitle.c (check): Likewise.
30018         * tests/unicase/test-u32-toupper.c (check): Likewise.
30019         * tests/uninorm/test-u8-nfc.c (check): Likewise.
30020         * tests/uninorm/test-u8-nfd.c (check): Likewise.
30021         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
30022         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
30023         * tests/uninorm/test-u16-nfc.c (check): Likewise.
30024         * tests/uninorm/test-u16-nfd.c (check): Likewise.
30025         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
30026         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
30027         * tests/uninorm/test-u32-nfc.c (check): Likewise.
30028         * tests/uninorm/test-u32-nfd.c (check): Likewise.
30029         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
30030         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
30031
30032 2009-04-05  Bruno Haible  <bruno@clisp.org>
30033
30034         Work around an autoconf limitation.
30035         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
30036         comment line if it would be longer than 3 KB.
30037
30038 2009-04-05  Bruno Haible  <bruno@clisp.org>
30039
30040         Avoid test failure with libiconv-1.13.
30041         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
30042         of the expected test results.
30043
30044 2009-04-05  Bruno Haible  <bruno@clisp.org>
30045
30046         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
30047         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
30048         that it should be installed.
30049
30050 2009-04-05  Bruno Haible  <bruno@clisp.org>
30051
30052         * gnulib-tool: New option --copy-file.
30053         (func_usage): Document it.
30054         (func_dest_tmpfilename): Moved out of func_import.
30055         (func_add_file, func_update_file): New functions, extracted from
30056         func_import.
30057         (func_import): Update.
30058
30059 2009-04-05  Karl Berry  <karl@gnu.org>
30060
30061         * README: prominently mention gnulib-tool.
30062         Rearrange sections so getting the code is near the top.
30063
30064 2009-04-05  Bruno Haible  <bruno@clisp.org>
30065
30066         * lib/unicase.h: Mention u*_cmp2.
30067         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30068         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
30069         * lib/unicase/ulc-casecmp.c: Likewise.
30070         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
30071         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
30072         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
30073         unistr/u8-cmp.
30074         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
30075         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
30076         unistr/u16-cmp.
30077         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
30078         unistr/u32-cmp.
30079
30080         * lib/uninorm.h: Mention u*_cmp2.
30081         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30082         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
30083         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
30084         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
30085         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
30086         unistr/u8-cmp.
30087         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
30088         unistr/u16-cmp.
30089         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
30090         unistr/u32-cmp.
30091
30092         New module 'unistr/u32-cmp2'.
30093         * lib/unistr/u32-cmp2.c: New file.
30094         * modules/unistr/u32-cmp2: New file.
30095
30096         New module 'unistr/u16-cmp2'.
30097         * lib/unistr/u16-cmp2.c: New file.
30098         * modules/unistr/u16-cmp2: New file.
30099
30100         New module 'unistr/u8-cmp2'.
30101         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
30102         * lib/unistr/u8-cmp2.c: New file.
30103         * lib/unistr/u-cmp2.h: New file.
30104         * modules/unistr/u8-cmp2: New file.
30105
30106 2009-04-05  Bruno Haible  <bruno@clisp.org>
30107
30108         * lib/unictype.h (uc_property_is_valid): New macro.
30109         * tests/unictype/test-pr_byname.c (main): Use it.
30110
30111         * lib/unistr.h: Doc fixes.
30112         * lib/uniconv.h: Doc fixes.
30113         * lib/unictype.h: Doc fixes.
30114
30115 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
30116
30117         Port coreutils 7.2 to Solaris 8.
30118
30119         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
30120         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
30121         for Solaris 8.  This is a bit of a hack, as it means it's the
30122         caller's responsibility to add -lnsl if needed, but most likely it
30123         won't be needed since only getaddrinfo uses this and getaddrinfo
30124         isn't needed on Solaris 8.
30125
30126         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
30127         problem to Solaris 8 encountered with coreutils 7.2, which
30128         resulted in a message "fnmatch.c:292: warning: passing argument 4
30129         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
30130         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
30131
30132 2009-04-03  Simon Josefsson  <simon@josefsson.org>
30133
30134         * m4/ld-version-script.m4: Add FIXME comment.
30135
30136 2009-04-02  Simon Josefsson  <simon@josefsson.org>
30137
30138         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
30139         SOVERSION variable.
30140
30141 2009-04-02  Bruno Haible  <bruno@clisp.org>
30142
30143         * Makefile (info, html, dvi, pdf): Combine the rules.
30144         Suggested by Jim Meyering.
30145
30146 2009-04-01  Bruno Haible  <bruno@clisp.org>
30147
30148         * Makefile (info, html, dvi, pdf): New targets.
30149         Reported by Reuben Thomas <rrt@sc3d.org>.
30150
30151 2009-04-01  Bruno Haible  <bruno@clisp.org>
30152
30153         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
30154         can be put into PATH.
30155         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
30156
30157 2009-04-01  Bruno Haible  <bruno@clisp.org>
30158
30159         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
30160
30161 2009-04-01  Bruno Haible  <bruno@clisp.org>
30162
30163         Rename module 'visibility'.
30164         * modules/lib-symbol-visibility: Renamed from modules/visibility.
30165         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
30166         * doc/gnulib.texi: Update.
30167         * MODULES.html.sh (Misc): Update.
30168         * NEWS: Mention the change.
30169
30170 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30171
30172         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
30173         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
30174         Eric Blake <ebb9@byu.net> for review.
30175         * MODULES.html.sh: Add lib-msvc-compat.
30176         * doc/gnulib.texi: Link to new section.
30177         * m4/ld-output-def.m4: New file.
30178         * doc/ld-output-def.texi: New file.
30179
30180 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30181
30182         Rename ld-version-script to lib-symbol-versions.  Suggested by
30183         Bruno Haible <bruno@clisp.org>.
30184         * modules/ld-version-script: Renamed to lib-symbol-versions.
30185         * doc/ld-version-script.texi: Fix module name.
30186         * MODULES.html.sh: Add lib-symbol-versions.
30187
30188 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30189
30190         * modules/u64-tests: New file.
30191         * tests/test-u64.c: New file.
30192
30193 2009-03-04  Simon Josefsson  <simon@josefsson.org>
30194
30195         * MODULES.html.sh: Mention u64.
30196         * modules/u64: New module.
30197         * modules/crypto/sha512: Depend on u64 module instead of providing
30198         u64.h.
30199
30200 2009-03-27  Eric Blake  <ebb9@byu.net>
30201
30202         test-strerror: make debugging EAI_SYSTEM easier
30203         * modules/getaddrinfo-tests (Depends-on): Add strerror.
30204         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
30205         failure was EAI_SYSTEM.
30206
30207 2009-03-25  Bruno Haible  <bruno@clisp.org>
30208
30209         Fix a problem with --enable-relocatable on Solaris 7.
30210         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
30211         since 2008-02-24.
30212
30213 2009-03-25  Eric Blake  <ebb9@byu.net>
30214
30215         test-sockets: avoid gcc warning
30216         * tests/test-sockets.c (main): Silence compiler warning.
30217
30218 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
30219
30220         New modules nproc, pthread, contributed by Glen Lenker.
30221
30222         * MODULES.html.sh: Add pthread, nproc.
30223         * lib/nproc.c: New file.
30224         * lib/nproc.h: New file.
30225         * lib/pthread.in.h: New file.
30226         * m4/pthread.m4: New file.
30227         * modules/nproc: New file.
30228         * modules/pthread: New file.
30229
30230 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30231
30232         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
30233         New variable.
30234
30235 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
30236
30237         filevercmp: handle simple~ and numbered.~3~ backup suffixes
30238         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
30239         * tests/test-filevercmp.c: Add tests for backup suffixes.
30240
30241 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30242
30243         * modules/stdlib (Depends-on): Add stdint, needed when defining
30244         struct random_data on, for example, HP-UX 10.20.  Reported by
30245         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30246
30247 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30248
30249         * lib/readline.c (readline): Call fflush on stdout after printing
30250         prompt.
30251
30252 2009-03-20  Bruno Haible  <bruno@clisp.org>
30253
30254         Remove dependency from 'close' module to -lws2_32 on native Windows.
30255         * lib/close-hook.h: New file.
30256         * lib/close-hook.c: New file.
30257         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
30258         w32sock.h.
30259         (_gl_close_fd_maybe_socket): Remove function.
30260         (rpl_close): Invoke execute_all_close_hooks instead of
30261         _gl_close_fd_maybe_socket.
30262         * lib/sockets.c: Include close-hook.h, w32sock.h.
30263         (close_fd_maybe_socket): New function, essentially from lib/close.c.
30264         (close_sockets_hook): New variable.
30265         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
30266         (gl_sockets_cleanup): Unregister it.
30267         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
30268         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
30269         * modules/close-hook: New file.
30270         * modules/close (Files): Remove lib/w32sock.h.
30271         (Depends-on): Add close-hook.
30272         (Link): Remove section.
30273         * modules/sockets (Files): Add lib/w32sock.h.
30274         (Depends-on): Add close-hook.
30275         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
30276         invocation.
30277         * NEWS: Mention that LIB_CLOSE is gone.
30278
30279 2009-03-23  Eric Blake  <ebb9@byu.net>
30280
30281         signal-tests: test previous patch
30282         * tests/test-signal.c: New file.
30283         * modules/signal-tests: Likewise.
30284
30285         signal.h: always support 'volatile sig_atomic_t'
30286         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
30287         (gl_SIGNAL_H_DEFAULTS): Add a default.
30288         * modules/signal (Makefile.am): Substitute if needed.
30289         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
30290         users can blindly add volatile.
30291         * doc/posix-headers/signal.texi (signal.h): Document it.
30292         Reported by Matthew Woehlke.
30293
30294 2009-03-23  Jim Meyering  <meyering@redhat.com>
30295
30296         pathmax: PATH_MAX: use pathconf only when available
30297         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
30298         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
30299         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
30300         This avoids a link failure in a PSP cross-compilation environment
30301         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
30302
30303         * lib/vasnprintf.c (divide): Fix typo in comment.
30304
30305 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30306
30307         * gnulib-tool (func_filter_filelist): Fix comment.
30308
30309 2009-03-20  Bruno Haible  <bruno@clisp.org>
30310
30311         Make sockets.h self-contained.
30312         * lib/sockets.c: Include sockets.h first.
30313         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
30314
30315 2009-03-19  Eric Blake  <ebb9@byu.net>
30316
30317         doc: mention more functions added in cygwin 1.7.0
30318         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
30319         addition.
30320         * doc/posix-functions/log2f.texi: Likewise.
30321
30322 2009-03-19  Jim Meyering  <meyering@redhat.com>
30323
30324         fsusage: avoid syntax error due to statement-before-declaration
30325         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
30326         after all declarations.  Reported by Matthew Woehlke in
30327         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
30328
30329 2009-03-18  Eric Blake  <ebb9@byu.net>
30330
30331         build-aux/compile: sync from automake
30332         * build-aux/compile: New file, from automake.
30333         * config/srclist.txt: Mention build-aux/compile.
30334
30335 2009-03-17  Bruno Haible  <bruno@clisp.org>
30336
30337         * lib/git-merge-changelog.c: Fix typo in comment.
30338         Reported by Reuben Thomas <rrt@sc3d.org>.
30339
30340 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
30341
30342         * m4/regex.m4: update and improve help for
30343         --without-included-regex.
30344
30345 2009-03-17  Simon Josefsson  <simon@josefsson.org>
30346
30347         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
30348         failure on missing include files.
30349
30350 2009-03-17  Eric Blake  <ebb9@byu.net>
30351
30352         doc: mention more functions added in cygwin 1.7.0
30353         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
30354         addition.
30355         * doc/posix-functions/fwscanf.texi: Likewise.
30356         * doc/posix-functions/swprintf.texi: Likewise.
30357         * doc/posix-functions/swscanf.texi: Likewise.
30358         * doc/posix-functions/vfwprintf.texi: Likewise.
30359         * doc/posix-functions/vfwscanf.texi: Likewise.
30360         * doc/posix-functions/vswprintf.texi: Likewise.
30361         * doc/posix-functions/vswscanf.texi: Likewise.
30362         * doc/posix-functions/vwprintf.texi: Likewise.
30363         * doc/posix-functions/vwscanf.texi: Likewise.
30364         * doc/posix-functions/wcscasecmp.texi: Likewise.
30365         * doc/posix-functions/wcsdup.texi: Likewise.
30366         * doc/posix-functions/wcsftime.texi: Likewise.
30367         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30368         * doc/posix-functions/wprintf.texi: Likewise.
30369         * doc/posix-functions/wscanf.texi: Likewise.
30370         * doc/glibc-functions/gethostbyname2.texi: Likewise.
30371
30372 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30373
30374         maint.mk: really add $(AM_MAKEFLAGS)
30375         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
30376         was inadvertently omitted in the last commit.
30377         Spotted by Bruno Haible.
30378
30379         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
30380         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
30381         $(AM_MAKEFLAGS)' rather than plain `make'.
30382
30383         gnulib-tool: execute $MAKE not make
30384         * gnulib-tool: Default $MAKE to 'make'.
30385         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
30386         than make.  Initialize $MAKE in the do-autobuild script.
30387
30388         gnulib-tool: use $MAKE not make in generated files
30389         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
30390         make, in generated files.  Initialize $MAKE in the do-autobuild
30391         script.
30392
30393         * top/GNUmakefile (_have-git-version-gen): Fix typo.
30394
30395         GNUmakefile: disable parallelism only for multiple, recursive targets
30396         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
30397         additions in the Makefile.
30398         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
30399         by Automake.
30400         (.NOTPARALLEL): Only disable parallel builds if multiple targets
30401         are listed on the command line and at least one of them is
30402         listed in $(ALL_RECURSIVE_TARGETS).
30403
30404 2009-03-14  Bruno Haible  <bruno@clisp.org>
30405
30406         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
30407         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
30408         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
30409         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
30410         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
30411         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
30412         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
30413         unistr/u8-uctomb.
30414         * modules/unistr/u8-strchr (Depends-on): Likewise.
30415         * modules/unistr/u8-strrchr (Depends-on): Likewise.
30416         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
30417         unistr/u16-uctomb.
30418         * modules/unistr/u16-strchr (Depends-on): Likewise.
30419         * modules/unistr/u16-strrchr (Depends-on): Likewise.
30420
30421 2009-03-12  Bruno Haible  <bruno@clisp.org>
30422
30423         Work around select() bug on Interix 3.5.
30424         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
30425         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
30426         * m4/select.m4: New file.
30427         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
30428         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
30429         * modules/select (Files): Add m4/select.m4.
30430         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
30431         * modules/nanosleep (Depends-on): Add select.
30432         * modules/poll (Depends-on): Likewise.
30433         * doc/posix-functions/select.texi: Mention the Interix bug.
30434         Reported by Markus Duft <mduft@gentoo.org>.
30435
30436         * lib/select.c: Renamed from lib/winsock-select.c.
30437         * modules/select (Files): Add lib/select.c, remove
30438         lib/winsock-select.c.
30439         (configure.ac): Update.
30440
30441 2009-03-12  Jim Meyering  <meyering@redhat.com>
30442
30443         avoid gcc warnings about unused macro definitions
30444         * lib/readtokens.c (STREQ): Remove unused definition.
30445         * lib/xmalloc.c (SIZE_MAX): Likewise.
30446         * lib/openat-die.c (N_): Likewise.
30447         * lib/mountlist.c (SIZE_MAX): Remove definition.
30448         Instead, include <stdint.h>.
30449         * lib/readutmp.c: Likewise.
30450         * modules/readutmp (Depends-on): Add stdint.
30451         * modules/mountlist (Depends-on): Add stdint.
30452         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
30453
30454 2009-03-10  Bruno Haible  <bruno@clisp.org>
30455
30456         Tests for module 'mbmemcasecoll'.
30457         * modules/mbmemcasecoll-tests: New file.
30458         * tests/test-mbmemcasecoll1.sh: New file.
30459         * tests/test-mbmemcasecoll2.sh: New file.
30460         * tests/test-mbmemcasecoll3.sh: New file.
30461         * tests/test-mbmemcasecoll.c: New file.
30462
30463         New module 'mbmemcasecoll'.
30464         * lib/mbmemcasecoll.h: New file.
30465         * lib/mbmemcasecoll.c: New file.
30466         * modules/mbmemcasecoll: New file.
30467
30468         * tests/test-mbmemcasecmp.h: New file, extracted from
30469         tests/test-mbmemcasecmp.c.
30470         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
30471         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
30472         (main): Update.
30473         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
30474
30475 2009-03-09  Bruno Haible  <bruno@clisp.org>
30476
30477         Tests for module 'mbmemcasecmp'.
30478         * modules/mbmemcasecmp-tests: New file.
30479         * tests/test-mbmemcasecmp1.sh: New file.
30480         * tests/test-mbmemcasecmp2.sh: New file.
30481         * tests/test-mbmemcasecmp3.sh: New file.
30482         * tests/test-mbmemcasecmp.c: New file.
30483
30484         New module 'mbmemcasecmp'.
30485         * lib/mbmemcasecmp.h: New file.
30486         * lib/mbmemcasecmp.c: New file.
30487         * modules/mbmemcasecmp: New file.
30488
30489 2009-03-09  Bruno Haible  <bruno@clisp.org>
30490
30491         Tests for module 'unicase/ulc-casecoll'.
30492         * modules/unicase/ulc-casecoll-tests: New file.
30493         * tests/unicase/test-ulc-casecoll1.sh: New file.
30494         * tests/unicase/test-ulc-casecoll2.sh: New file.
30495         * tests/unicase/test-ulc-casecoll.c: New file.
30496
30497         New module 'unicase/ulc-casecoll'.
30498         * lib/unicase.h (ulc_casecoll): New declaration.
30499         * lib/unicase/ulc-casecoll.c: New file.
30500         * modules/unicase/ulc-casecoll: New file.
30501
30502         New module 'unicase/ulc-casexfrm'.
30503         * lib/unicase.h (ulc_casexfrm): New declaration.
30504         * lib/unicase/ulc-casexfrm.c: New file.
30505         * modules/unicase/ulc-casexfrm: New file.
30506
30507 2009-03-09  Bruno Haible  <bruno@clisp.org>
30508
30509         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
30510         invocations.
30511
30512         * m4/mbscasecmp.m4: Remove file.
30513         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
30514         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
30515
30516         * m4/mbscasestr.m4: Remove file.
30517         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
30518         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
30519
30520         * m4/mbschr.m4: Remove file.
30521         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
30522         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
30523
30524         * m4/mbscspn.m4: Remove file.
30525         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
30526         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
30527
30528         * m4/mbslen.m4: Remove file.
30529         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
30530         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
30531
30532         * m4/mbsncasecmp.m4: Remove file.
30533         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
30534         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
30535
30536         * m4/mbsnlen.m4: Remove file.
30537         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
30538         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
30539
30540         * m4/mbspbrk.m4: Remove file.
30541         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
30542         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
30543
30544         * m4/mbspcasecmp.m4: Remove file.
30545         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
30546         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
30547
30548         * m4/mbsrchr.m4: Remove file.
30549         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
30550         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
30551
30552         * m4/mbssep.m4: Remove file.
30553         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
30554         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
30555
30556         * m4/mbsspn.m4: Remove file.
30557         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
30558         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
30559
30560         * m4/mbsstr.m4: Remove file.
30561         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
30562         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
30563
30564         * m4/mbstok_r.m4: Remove file.
30565         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
30566         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
30567
30568         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
30569
30570         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
30571         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
30572
30573         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
30574
30575 2009-03-08  Bruno Haible  <bruno@clisp.org>
30576
30577         Tests for module 'unicase/ulc-casecmp'.
30578         * modules/unicase/ulc-casecmp-tests: New file.
30579         * tests/unicase/test-ulc-casecmp1.sh: New file.
30580         * tests/unicase/test-ulc-casecmp2.sh: New file.
30581         * tests/unicase/test-ulc-casecmp.c: New file.
30582
30583         New module 'unicase/ulc-casecmp'.
30584         * lib/unicase.h (ulc_casecmp): New declaration.
30585         * lib/unicase/ulc-casecmp.c: New file.
30586         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
30587         'const SRC_UNIT *'.
30588         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
30589         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
30590         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
30591         * modules/unicase/ulc-casecmp: New file.
30592
30593         Tests for module 'unicase/u32-is-cased'.
30594         * modules/unicase/u32-is-cased-tests: New file.
30595         * tests/unicase/test-u32-is-cased.c: New file.
30596
30597         Tests for module 'unicase/u16-is-cased'.
30598         * modules/unicase/u16-is-cased-tests: New file.
30599         * tests/unicase/test-u16-is-cased.c: New file.
30600
30601         Tests for module 'unicase/u8-is-cased'.
30602         * modules/unicase/u8-is-cased-tests: New file.
30603         * tests/unicase/test-u8-is-cased.c: New file.
30604         * tests/unicase/test-is-cased.h: New file.
30605
30606         New module 'unicase/u32-is-cased'.
30607         * lib/unicase/u32-is-cased.c: New file.
30608         * modules/unicase/u32-is-cased: New file.
30609
30610         New module 'unicase/u16-is-cased'.
30611         * lib/unicase/u16-is-cased.c: New file.
30612         * modules/unicase/u16-is-cased: New file.
30613
30614         New module 'unicase/u8-is-cased'.
30615         * lib/unicase/u8-is-cased.c: New file.
30616         * lib/unicase/u-is-cased.h: New file.
30617         * modules/unicase/u8-is-cased: New file.
30618
30619         Tests for module 'unicase/u32-is-casefolded'.
30620         * modules/unicase/u32-is-casefolded-tests: New file.
30621         * tests/unicase/test-u32-is-casefolded.c: New file.
30622
30623         Tests for module 'unicase/u16-is-casefolded'.
30624         * modules/unicase/u16-is-casefolded-tests: New file.
30625         * tests/unicase/test-u16-is-casefolded.c: New file.
30626
30627         Tests for module 'unicase/u8-is-casefolded'.
30628         * modules/unicase/u8-is-casefolded-tests: New file.
30629         * tests/unicase/test-u8-is-casefolded.c: New file.
30630         * tests/unicase/test-is-casefolded.h: New file.
30631
30632         New module 'unicase/u32-is-casefolded'.
30633         * lib/unicase/u32-is-casefolded.c: New file.
30634         * modules/unicase/u32-is-casefolded: New file.
30635
30636         New module 'unicase/u16-is-casefolded'.
30637         * lib/unicase/u16-is-casefolded.c: New file.
30638         * modules/unicase/u16-is-casefolded: New file.
30639
30640         New module 'unicase/u8-is-casefolded'.
30641         * lib/unicase/u8-is-casefolded.c: New file.
30642         * modules/unicase/u8-is-casefolded: New file.
30643
30644         Tests for module 'unicase/u32-is-titlecase'.
30645         * modules/unicase/u32-is-titlecase-tests: New file.
30646         * tests/unicase/test-u32-is-titlecase.c: New file.
30647
30648         Tests for module 'unicase/u16-is-titlecase'.
30649         * modules/unicase/u16-is-titlecase-tests: New file.
30650         * tests/unicase/test-u16-is-titlecase.c: New file.
30651
30652         Tests for module 'unicase/u8-is-titlecase'.
30653         * modules/unicase/u8-is-titlecase-tests: New file.
30654         * tests/unicase/test-u8-is-titlecase.c: New file.
30655         * tests/unicase/test-is-titlecase.h: New file.
30656
30657         New module 'unicase/u32-is-titlecase'.
30658         * lib/unicase/u32-is-titlecase.c: New file.
30659         * modules/unicase/u32-is-titlecase: New file.
30660
30661         New module 'unicase/u16-is-titlecase'.
30662         * lib/unicase/u16-is-titlecase.c: New file.
30663         * modules/unicase/u16-is-titlecase: New file.
30664
30665         New module 'unicase/u8-is-titlecase'.
30666         * lib/unicase/u8-is-titlecase.c: New file.
30667         * modules/unicase/u8-is-titlecase: New file.
30668
30669         Tests for module 'unicase/u32-is-lowercase'.
30670         * modules/unicase/u32-is-lowercase-tests: New file.
30671         * tests/unicase/test-u32-is-lowercase.c: New file.
30672
30673         Tests for module 'unicase/u16-is-lowercase'.
30674         * modules/unicase/u16-is-lowercase-tests: New file.
30675         * tests/unicase/test-u16-is-lowercase.c: New file.
30676
30677         Tests for module 'unicase/u8-is-lowercase'.
30678         * modules/unicase/u8-is-lowercase-tests: New file.
30679         * tests/unicase/test-u8-is-lowercase.c: New file.
30680         * tests/unicase/test-is-lowercase.h: New file.
30681
30682         New module 'unicase/u32-is-lowercase'.
30683         * lib/unicase/u32-is-lowercase.c: New file.
30684         * modules/unicase/u32-is-lowercase: New file.
30685
30686         New module 'unicase/u16-is-lowercase'.
30687         * lib/unicase/u16-is-lowercase.c: New file.
30688         * modules/unicase/u16-is-lowercase: New file.
30689
30690         New module 'unicase/u8-is-lowercase'.
30691         * lib/unicase/u8-is-lowercase.c: New file.
30692         * modules/unicase/u8-is-lowercase: New file.
30693
30694         Tests for module 'unicase/u32-is-uppercase'.
30695         * modules/unicase/u32-is-uppercase-tests: New file.
30696         * tests/unicase/test-u32-is-uppercase.c: New file.
30697
30698         Tests for module 'unicase/u16-is-uppercase'.
30699         * modules/unicase/u16-is-uppercase-tests: New file.
30700         * tests/unicase/test-u16-is-uppercase.c: New file.
30701
30702         Tests for module 'unicase/u8-is-uppercase'.
30703         * modules/unicase/u8-is-uppercase-tests: New file.
30704         * tests/unicase/test-u8-is-uppercase.c: New file.
30705         * tests/unicase/test-is-uppercase.h: New file.
30706
30707         New module 'unicase/u32-is-uppercase'.
30708         * lib/unicase/u32-is-uppercase.c: New file.
30709         * modules/unicase/u32-is-uppercase: New file.
30710
30711         New module 'unicase/u16-is-uppercase'.
30712         * lib/unicase/u16-is-uppercase.c: New file.
30713         * modules/unicase/u16-is-uppercase: New file.
30714
30715         New module 'unicase/u8-is-uppercase'.
30716         * lib/unicase/u8-is-uppercase.c: New file.
30717         * modules/unicase/u8-is-uppercase: New file.
30718
30719         New module 'unicase/u32-is-invariant'.
30720         * lib/unicase/u32-is-invariant.c: New file.
30721         * modules/unicase/u32-is-invariant: New file.
30722
30723         New module 'unicase/u16-is-invariant'.
30724         * lib/unicase/u16-is-invariant.c: New file.
30725         * modules/unicase/u16-is-invariant: New file.
30726
30727         New module 'unicase/u8-is-invariant'.
30728         * lib/unicase/u8-is-invariant.c: New file.
30729         * lib/unicase/invariant.h: New file.
30730         * lib/unicase/u-is-invariant.h: New file.
30731         * modules/unicase/u8-is-invariant: New file.
30732
30733         Tests for module 'unicase/u32-casecoll'.
30734         * modules/unicase/u32-casecoll-tests: New file.
30735         * tests/unicase/test-u32-casecoll.c: New file.
30736
30737         Tests for module 'unicase/u16-casecoll'.
30738         * modules/unicase/u16-casecoll-tests: New file.
30739         * tests/unicase/test-u16-casecoll.c: New file.
30740
30741         Tests for module 'unicase/u8-casecoll'.
30742         * modules/unicase/u8-casecoll-tests: New file.
30743         * tests/unicase/test-u8-casecoll.c: New file.
30744
30745         New module 'unicase/u32-casecoll'.
30746         * lib/unicase/u32-casecoll.c: New file.
30747         * modules/unicase/u32-casecoll: New file.
30748
30749         New module 'unicase/u16-casecoll'.
30750         * lib/unicase/u16-casecoll.c: New file.
30751         * modules/unicase/u16-casecoll: New file.
30752
30753         New module 'unicase/u8-casecoll'.
30754         * lib/unicase/u8-casecoll.c: New file.
30755         * lib/unicase/u-casecoll.h: New file.
30756         * modules/unicase/u8-casecoll: New file.
30757
30758         New module 'unicase/u32-casexfrm'.
30759         * lib/unicase/u32-casexfrm.c: New file.
30760         * modules/unicase/u32-casexfrm: New file.
30761
30762         New module 'unicase/u16-casexfrm'.
30763         * lib/unicase/u16-casexfrm.c: New file.
30764         * modules/unicase/u16-casexfrm: New file.
30765
30766         New module 'unicase/u8-casexfrm'.
30767         * lib/unicase/u8-casexfrm.c: New file.
30768         * lib/unicase/u-casexfrm.h: New file.
30769         * modules/unicase/u8-casexfrm: New file.
30770
30771         Tests for module 'unicase/u32-casecmp'.
30772         * modules/unicase/u32-casecmp-tests: New file.
30773         * tests/unicase/test-u32-casecmp.c: New file.
30774
30775         Tests for module 'unicase/u16-casecmp'.
30776         * modules/unicase/u16-casecmp-tests: New file.
30777         * tests/unicase/test-u16-casecmp.c: New file.
30778
30779         Tests for module 'unicase/u8-casecmp'.
30780         * modules/unicase/u8-casecmp-tests: New file.
30781         * tests/unicase/test-u8-casecmp.c: New file.
30782         * tests/unicase/test-casecmp.h: New file.
30783
30784         New module 'unicase/u32-casecmp'.
30785         * lib/unicase/u32-casecmp.c: New file.
30786         * modules/unicase/u32-casecmp: New file.
30787
30788         New module 'unicase/u16-casecmp'.
30789         * lib/unicase/u16-casecmp.c: New file.
30790         * modules/unicase/u16-casecmp: New file.
30791
30792         New module 'unicase/u8-casecmp'.
30793         * lib/unicase/u8-casecmp.c: New file.
30794         * lib/unicase/u-casecmp.h: New file.
30795         * modules/unicase/u8-casecmp: New file.
30796
30797         Tests for module 'unicase/u32-casefold'.
30798         * modules/unicase/u32-casefold-tests: New file.
30799         * tests/unicase/test-u32-casefold.c: New file.
30800
30801         Tests for module 'unicase/u16-casefold'.
30802         * modules/unicase/u16-casefold-tests: New file.
30803         * tests/unicase/test-u16-casefold.c: New file.
30804
30805         Tests for module 'unicase/u8-casefold'.
30806         * modules/unicase/u8-casefold-tests: New file.
30807         * tests/unicase/test-u8-casefold.c: New file.
30808
30809         New module 'unicase/u32-casefold'.
30810         * lib/unicase/u32-casefold.c: New file.
30811         * modules/unicase/u32-casefold: New file.
30812
30813         New module 'unicase/u16-casefold'.
30814         * lib/unicase/u16-casefold.c: New file.
30815         * modules/unicase/u16-casefold: New file.
30816
30817         New module 'unicase/u8-casefold'.
30818         * lib/unicase/u8-casefold.c: New file.
30819         * lib/unicase/u-casefold.h: New file.
30820         * modules/unicase/u8-casefold: New file.
30821
30822         New module 'unicase/tocasefold'.
30823         * lib/unicase/casefold.h: New file.
30824         * lib/unicase/tocasefold.c: New file.
30825         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
30826         * modules/unicase/tocasefold: New file.
30827
30828         Tests for module 'unicase/u32-totitle'.
30829         * modules/unicase/u32-totitle-tests: New file.
30830         * tests/unicase/test-u32-totitle.c: New file.
30831
30832         Tests for module 'unicase/u16-totitle'.
30833         * modules/unicase/u16-totitle-tests: New file.
30834         * tests/unicase/test-u16-totitle.c: New file.
30835
30836         Tests for module 'unicase/u8-totitle'.
30837         * modules/unicase/u8-totitle-tests: New file.
30838         * tests/unicase/test-u8-totitle.c: New file.
30839
30840         New module 'unicase/u32-totitle'.
30841         * lib/unicase/u32-totitle.c: New file.
30842         * modules/unicase/u32-totitle: New file.
30843
30844         New module 'unicase/u16-totitle'.
30845         * lib/unicase/u16-totitle.c: New file.
30846         * modules/unicase/u16-totitle: New file.
30847
30848         New module 'unicase/u8-totitle'.
30849         * lib/unicase/u8-totitle.c: New file.
30850         * lib/unicase/u-totitle.h: New file.
30851         * modules/unicase/u8-totitle: New file.
30852
30853         Tests for module 'unicase/u32-tolower'.
30854         * modules/unicase/u32-tolower-tests: New file.
30855         * tests/unicase/test-u32-tolower.c: New file.
30856
30857         Tests for module 'unicase/u16-tolower'.
30858         * modules/unicase/u16-tolower-tests: New file.
30859         * tests/unicase/test-u16-tolower.c: New file.
30860
30861         Tests for module 'unicase/u8-tolower'.
30862         * modules/unicase/u8-tolower-tests: New file.
30863         * tests/unicase/test-u8-tolower.c: New file.
30864
30865         New module 'unicase/u32-tolower'.
30866         * lib/unicase/u32-tolower.c: New file.
30867         * modules/unicase/u32-tolower: New file.
30868
30869         New module 'unicase/u16-tolower'.
30870         * lib/unicase/u16-tolower.c: New file.
30871         * modules/unicase/u16-tolower: New file.
30872
30873         New module 'unicase/u8-tolower'.
30874         * lib/unicase/u8-tolower.c: New file.
30875         * modules/unicase/u8-tolower: New file.
30876
30877         Tests for module 'unicase/u32-toupper'.
30878         * modules/unicase/u32-toupper-tests: New file.
30879         * tests/unicase/test-u32-toupper.c: New file.
30880
30881         Tests for module 'unicase/u16-toupper'.
30882         * modules/unicase/u16-toupper-tests: New file.
30883         * tests/unicase/test-u16-toupper.c: New file.
30884
30885         Tests for module 'unicase/u8-toupper'.
30886         * modules/unicase/u8-toupper-tests: New file.
30887         * tests/unicase/test-u8-toupper.c: New file.
30888
30889         New module 'unicase/u32-toupper'.
30890         * lib/unicase/u32-toupper.c: New file.
30891         * modules/unicase/u32-toupper: New file.
30892
30893         New module 'unicase/u16-toupper'.
30894         * lib/unicase/u16-toupper.c: New file.
30895         * modules/unicase/u16-toupper: New file.
30896
30897         New module 'unicase/u8-toupper'.
30898         * lib/unicase/u8-toupper.c: New file.
30899         * modules/unicase/u8-toupper: New file.
30900
30901         New module 'unicase/u32-casemap'.
30902         * lib/unicase/u32-casemap.c: New file.
30903         * modules/unicase/u32-casemap: New file.
30904
30905         New module 'unicase/u16-casemap'.
30906         * lib/unicase/u16-casemap.c: New file.
30907         * modules/unicase/u16-casemap: New file.
30908
30909         New module 'unicase/u8-casemap'.
30910         * lib/unicase/unicasemap.h: New file.
30911         * lib/unicase/u8-casemap.c: New file.
30912         * lib/unicase/u-casemap.h: New file.
30913         * modules/unicase/u8-casemap: New file.
30914
30915         New module 'unicase/special-casing'.
30916         * lib/unicase/special-casing.h: New file.
30917         * lib/unicase/special-casing.c: New file.
30918         * lib/unicase/special-casing-table.gperf: New file, generated by
30919         gen-uni-tables.c.
30920         * modules/unicase/special-casing: New file.
30921
30922         Tests for module 'unicase/locale-language'.
30923         * modules/unicase/locale-language-tests: New file.
30924         * tests/unicase/test-locale-language.sh: New file.
30925         * tests/unicase/test-locale-language.c: New file.
30926
30927         New module 'unicase/locale-language'.
30928         * lib/unicase/locale-language.c: New file.
30929         * lib/unicase/locale-languages.gperf: New file.
30930         * modules/unicase/locale-language: New file.
30931
30932         Generate more tables for case conversion and case folding.
30933         * lib/gen-uni-tables.c (SCC_*): New enum items.
30934         (struct special_casing_rule): New type.
30935         (casing_rules, num_casing_rules, allocated_casing_rules): New
30936         variables.
30937         (add_casing_rule, fill_casing_rules): New functions.
30938         (struct casefold_rule): New type.
30939         (casefolding_rules, num_casefolding_rules,
30940         allocated_casefolding_rules): New variables.
30941         (fill_casefolding_rules): New function.
30942         (unicode_casefold): New variable.
30943         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
30944         sort_casing_rules, output_casing_rules): New functions.
30945         (main): Accept to more arguments: SpecialCasing.txt and
30946         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
30947         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
30948         Output mapping for casefolding.
30949
30950         * lib/unicase.h: Include stdbool.h, uninorm.h.
30951         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
30952         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
30953         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
30954         arguments.
30955         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
30956         resultp arguments.
30957         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
30958         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
30959         resultp arguments.
30960         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
30961         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
30962         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
30963         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
30964         declarations.
30965         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
30966
30967 2009-03-08  Bruno Haible  <bruno@clisp.org>
30968
30969         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30970         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
30971         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
30972         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30973
30974 2009-03-07  Bruno Haible  <bruno@clisp.org>
30975
30976         Adjust u*_normcmp, u*_normcoll API.
30977         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30978         u16_normcoll, u32_normcoll): Change failure conventions.
30979         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
30980         errno and return -1.
30981         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30982
30983 2009-03-07  Bruno Haible  <bruno@clisp.org>
30984
30985         Tests for module 'uninorm/u32-normcoll'.
30986         * modules/uninorm/u32-normcoll-tests: New file.
30987         * tests/uninorm/test-u32-normcoll.c: New file.
30988
30989         Tests for module 'uninorm/u16-normcoll'.
30990         * modules/uninorm/u16-normcoll-tests: New file.
30991         * tests/uninorm/test-u16-normcoll.c: New file.
30992
30993         Tests for module 'uninorm/u8-normcoll'.
30994         * modules/uninorm/u8-normcoll-tests: New file.
30995         * tests/uninorm/test-u8-normcoll.c: New file.
30996
30997 2009-03-07  Bruno Haible  <bruno@clisp.org>
30998
30999         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
31000         tests/uninorm/test-u32-normcmp.c.
31001         * tests/uninorm/test-u32-normcmp.c: Include it.
31002         (test_nonascii): New function, extracted from main. Add some more
31003         tests.
31004         (main): Invoke test_ascii and test_nonascii.
31005         * modules/uninorm/u32-normcmp-tests (Files): Add
31006         tests/uninorm/test-u32-normcmp.h.
31007         (Depends-on): Remove uninorm/u32-normcmp.
31008
31009         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
31010         tests/uninorm/test-u16-normcmp.c.
31011         * tests/uninorm/test-u16-normcmp.c: Include it.
31012         (test_nonascii): New function, extracted from main. Add some more
31013         tests.
31014         (main): Invoke test_ascii and test_nonascii.
31015         * modules/uninorm/u16-normcmp-tests (Files): Add
31016         tests/uninorm/test-u16-normcmp.h.
31017         (Depends-on): Remove uninorm/u16-normcmp.
31018
31019         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
31020         tests/uninorm/test-u8-normcmp.c.
31021         * tests/uninorm/test-u8-normcmp.c: Include it.
31022         (test_nonascii): New function, extracted from main. Add some more
31023         tests.
31024         (main): Invoke test_ascii and test_nonascii.
31025         * modules/uninorm/u8-normcmp-tests (Files): Add
31026         tests/uninorm/test-u8-normcmp.h.
31027         (Depends-on): Remove uninorm/u8-normcmp.
31028
31029 2009-03-07  Bruno Haible  <bruno@clisp.org>
31030
31031         New module 'uninorm/u32-normcoll'.
31032         * lib/uninorm/u32-normcoll.c: New file.
31033         * modules/uninorm/u32-normcoll: New file.
31034
31035         New module 'uninorm/u16-normcoll'.
31036         * lib/uninorm/u16-normcoll.c: New file.
31037         * modules/uninorm/u16-normcoll: New file.
31038
31039         New module 'uninorm/u8-normcoll'.
31040         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
31041         declarations.
31042         * lib/uninorm/u8-normcoll.c: New file.
31043         * lib/uninorm/u-normcoll.h: New file.
31044         * modules/uninorm/u8-normcoll: New file.
31045
31046         New module 'uninorm/u32-normxfrm'.
31047         * lib/uninorm/u32-normxfrm.c: New file.
31048         * modules/uninorm/u32-normxfrm: New file.
31049
31050         New module 'uninorm/u16-normxfrm'.
31051         * lib/uninorm/u16-normxfrm.c: New file.
31052         * modules/uninorm/u16-normxfrm: New file.
31053
31054         New module 'uninorm/u8-normxfrm'.
31055         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
31056         declarations.
31057         * lib/uninorm/u8-normxfrm.c: New file.
31058         * lib/uninorm/u-normxfrm.h: New file.
31059         * modules/uninorm/u8-normxfrm: New file.
31060
31061 2009-03-07  Bruno Haible  <bruno@clisp.org>
31062
31063         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
31064         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
31065         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
31066
31067 2009-03-07  Bruno Haible  <bruno@clisp.org>
31068
31069         New module 'memxfrm'.
31070         * lib/memxfrm.h: New file.
31071         * lib/memxfrm.c: New file.
31072         * modules/memxfrm: New file.
31073
31074 2009-03-07  Bruno Haible  <bruno@clisp.org>
31075
31076         New module 'memcmp2'.
31077         * lib/memcmp2.h: New file.
31078         * lib/memcmp2.c: New file.
31079         * modules/memcmp2: New file.
31080
31081 2009-03-07  Bruno Haible  <bruno@clisp.org>
31082
31083         Tests for module 'uninorm/decomposing-form'.
31084         * modules/uninorm/decomposing-form-tests: New file.
31085         * tests/uninorm/test-decomposing-form.c: New file.
31086
31087         New module 'uninorm/decomposing-form'.
31088         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
31089         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
31090         Add 'decomposing_variant' field.
31091         * lib/uninorm/decomposing-form.c: New file.
31092         * lib/uninorm/nfc.c (uninorm_nfc): Update.
31093         * lib/uninorm/nfd.c (uninorm_nfd): Update.
31094         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
31095         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
31096         * modules/uninorm/decomposing-form: New file.
31097         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
31098         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
31099
31100 2009-03-07  Bruno Haible  <bruno@clisp.org>
31101
31102         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
31103         strings.
31104
31105 2009-03-06  Bruno Haible  <bruno@clisp.org>
31106
31107         Tests for module 'uninorm/u32-normcmp'.
31108         * tests/uninorm/test-u32-normcmp.c: New file.
31109         * modules/uninorm/u32-normcmp-tests: New file.
31110
31111         Tests for module 'uninorm/u16-normcmp'.
31112         * tests/uninorm/test-u16-normcmp.c: New file.
31113         * modules/uninorm/u16-normcmp-tests: New file.
31114
31115         Tests for module 'uninorm/u8-normcmp'.
31116         * tests/uninorm/test-u8-normcmp.c: New file.
31117         * modules/uninorm/u8-normcmp-tests: New file.
31118
31119         New module 'uninorm/u32-normcmp'.
31120         * lib/uninorm/u32-normcmp.c: New file.
31121         * modules/uninorm/u32-normcmp: New file.
31122
31123         New module 'uninorm/u16-normcmp'.
31124         * lib/uninorm/u16-normcmp.c: New file.
31125         * modules/uninorm/u16-normcmp: New file.
31126
31127         New module 'uninorm/u8-normcmp'.
31128         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
31129         declarations.
31130         * lib/uninorm/u8-normcmp.c: New file.
31131         * lib/uninorm/u-normcmp.h: New file.
31132         * modules/uninorm/u8-normcmp: New file.
31133
31134 2009-03-06  Bruno Haible  <bruno@clisp.org>
31135
31136         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
31137         Reported by Eric Blake.
31138
31139 2009-03-06  Eric Blake  <ebb9@byu.net>
31140             Bruno Haible  <bruno@clisp.org>
31141
31142         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
31143         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
31144         condition.
31145         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31146         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
31147         condition.
31148         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31149
31150 2009-03-06  Eric Blake  <ebb9@byu.net>
31151
31152         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
31153         to avoid compiler warnings.
31154         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
31155
31156 2009-03-05  Bruno Haible  <bruno@clisp.org>
31157
31158         * tests/test-ftell.c (main): Disable test beyond end of file on
31159         FreeMiNT.
31160         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31161
31162 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
31163
31164         * lib/filevercmp.c: Move hidden files up in ordering.
31165         * tests/test-filevercmp.c: Add tests for hidden files.
31166
31167 2009-03-04  Bruno Haible  <bruno@clisp.org>
31168
31169         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
31170         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
31171         AM_CFLAGS.
31172         Reported by Simon Josefsson.
31173
31174 2009-03-03  Bruno Haible  <bruno@clisp.org>
31175
31176         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
31177         Reported by Simon Josefsson.
31178
31179         * doc/ld-version-script.texi: Update node reference.
31180
31181 2009-03-03  Bruno Haible  <bruno@clisp.org>
31182
31183         * modules/visibility (License): Change to 'unlimited'.
31184         Suggested by Simon Josefsson.
31185
31186 2009-03-03  Jim Meyering  <meyering@redhat.com>
31187
31188         unlinkdir: cannot_unlink_dir may modify process state
31189         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
31190         it's neither thread-safe nor appropriate for use in a library.
31191
31192 2009-03-03  Eric Blake  <ebb9@byu.net>
31193
31194         test-closein: silence test under Darwin
31195         * tests/test-closein.sh: Ignore stderr from cat, since we don't
31196         care if it dies from EPIPE or EBADF.
31197
31198 2009-03-03  Bruno Haible  <bruno@clisp.org>
31199
31200         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
31201         earlier.
31202         * doc/visibility.texi: Fix @node and @section.
31203
31204 2009-03-03  Simon Josefsson  <simon@josefsson.org>
31205
31206         * doc/gnulib.texi: Link to sections for ld version script and
31207         visibility.
31208         * doc/visibility.texi: Add @node and @section.
31209         * modules/ld-version-script: New module.
31210         * m4/ld-version-script.m4: New file.
31211         * doc/ld-version-script.texi: New file.
31212
31213 2009-03-02  David Lutterkort  <lutter@redhat.com>
31214
31215         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
31216         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31217
31218 2009-03-02  Bruno Haible  <bruno@clisp.org>
31219
31220         * doc/visibility.texi: Mention libtool's -export-symbols option.
31221
31222 2009-03-02  Jim Meyering  <meyering@redhat.com>
31223
31224         announce-gen: new option: --no-print-checksums
31225         * build-aux/announce-gen (usage): Describe it.
31226         (print_checksums): Print a newline here, not in the [*] footnote.
31227         (main): Honor it.
31228
31229 2009-03-01  Bruno Haible  <bruno@clisp.org>
31230
31231         Use socklen_t in the native Windows replacements prototypes.
31232         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
31233         instead of 'int'.
31234         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31235         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31236         * modules/getsockopt (Depends-on): Add socklen.
31237         * modules/setsockopt (Depends-on): Add socklen.
31238
31239 2009-03-01  Bruno Haible  <bruno@clisp.org>
31240
31241         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
31242         least 4.2.
31243
31244 2009-03-01  Eric Blake  <ebb9@byu.net>
31245             Bruno Haible  <bruno@clisp.org>
31246
31247         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
31248         error messages.
31249         * lib/wait-process.c (wait_subprocess): Omit error message about
31250         deadly signal sent to the child of termsigp != NULL.
31251
31252 2009-03-01  Eric Blake  <ebb9@byu.net>
31253
31254         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
31255
31256 2009-03-01  Bruno Haible  <bruno@clisp.org>
31257
31258         Avoid a gcc warning.
31259         * tests/test-sched.c (b): Make global.
31260         Reported by Eric Blake.
31261
31262 2009-01-19  Martin Lambers  <marlam@marlam.de>
31263
31264         Provide POSIX semantics for socket timeout options on W32.
31265         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
31266         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
31267         * modules/setsockopt: Depend on sys_time module for struct timeval.
31268         * modules/getsockopt: Depend on sys_time module for struct timeval.
31269
31270 2009-03-01  Simon Josefsson  <simon@josefsson.org>
31271
31272         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
31273         __USE_GNU, for consistency with netdb.in.h.
31274         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31275
31276 2009-03-01  Bruno Haible  <bruno@clisp.org>
31277
31278         More support for FreeMiNT.
31279         * lib/fseeko.c (rpl_fseeko): Complete last commit.
31280         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31281
31282 2009-03-01  Bruno Haible  <bruno@clisp.org>
31283
31284         More support for FreeMiNT.
31285         * lib/fpurge.c (fpurge): Correct last commit.
31286         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31287
31288 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31289
31290         Fix unportable awk script in vc-list-files.
31291         * build-aux/vc-list-files: In the replacement awk script, use
31292         substr with a second argument of 1, not zero.
31293         Report by Simon Josefsson.
31294
31295 2009-02-28  Bruno Haible  <bruno@clisp.org>
31296
31297         More support for FreeMiNT.
31298         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
31299         to FreeMiNT today.
31300         * lib/fwriting.c (fwriting): Likewise.
31301         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
31302
31303 2009-02-28  Bruno Haible  <bruno@clisp.org>
31304
31305         * tests/test-freadseek.c (main): Disable test beyond end of file on
31306         FreeMiNT.
31307         * tests/test-ftello.c (main): Likewise.
31308         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31309
31310 2009-02-28  Bruno Haible  <bruno@clisp.org>
31311
31312         Add tentative support for FreeMiNT.
31313         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
31314         * lib/fpurge.c (fpurge): Likewise.
31315         * lib/freadable.c (freadable): Likewise.
31316         * lib/freading.c (freading): Likewise.
31317         * lib/freadptr.c (freadptr): Likewise.
31318         * lib/freadseek.c (freadptrinc): Likewise.
31319         * lib/fseeko.c (rpl_fseeko): Likewise.
31320         * lib/fseterr.c (fseterr): Likewise.
31321         * lib/fwritable.c (fwritable): Likewise.
31322         * lib/fwriting.c (fwriting): Likewise.
31323         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
31324         Hourihane.
31325         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31326
31327 2009-02-28  Bruno Haible  <bruno@clisp.org>
31328
31329         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
31330         SIGCHLD.
31331         Reported by Jim Meyering.
31332
31333 2009-02-28  Bruno Haible  <bruno@clisp.org>
31334
31335         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
31336         Mention the results of these tests on various platforms.
31337         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
31338         order.
31339         * doc/posix-functions/printf.texi: Likewise.
31340         * doc/posix-functions/snprintf.texi: Likewise.
31341         * doc/posix-functions/sprintf.texi: Likewise.
31342         * doc/posix-functions/vfprintf.texi: Likewise.
31343         * doc/posix-functions/vprintf.texi: Likewise.
31344         * doc/posix-functions/vsnprintf.texi: Likewise.
31345         * doc/posix-functions/vsprintf.texi: Likewise.
31346         * doc/glibc-functions/obstack_printf.texi: Likewise.
31347         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31348
31349 2009-02-28  Bruno Haible  <bruno@clisp.org>
31350
31351         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
31352         Reported by Loïc Minier <lool@dooz.org>.
31353
31354 2009-02-27  Bruno Haible  <bruno@clisp.org>
31355
31356         * gnulib-tool (func_import): Make the sed expression used to create the
31357         sed script for updating the .gitignore file POSIX compliant.
31358         Reported by Eric Blake.
31359
31360 2009-02-27  Bruno Haible  <bruno@clisp.org>
31361
31362         * gnulib-tool (sed): Don't alias as "sed --posix".
31363         Reported by Eric Blake.
31364
31365 2009-02-27  Bruno Haible  <bruno@clisp.org>
31366
31367         Avoid test link errors.
31368         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
31369         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
31370         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
31371         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
31372         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31373
31374 2009-02-27  Bruno Haible  <bruno@clisp.org>
31375
31376         Avoid spurious "(cached)" in configure output.
31377         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
31378         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
31379         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31380         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31381         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31382         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31383         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31384         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31385         Reported by Eric Blake.
31386
31387 2009-02-27  Eric Blake  <ebb9@byu.net>
31388
31389         printf: fix regression in previous patch
31390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
31391
31392 2009-02-27  Bruno Haible  <bruno@clisp.org>
31393
31394         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
31395         value.
31396         * lib/stdint.in.h: Likewise.
31397         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
31398
31399 2009-02-27  Eric Blake  <ebb9@byu.net>
31400
31401         doc: mention more functions added in cygwin 1.7.0
31402         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
31403         addition.
31404         * doc/posix-functions/open_wmemstream.texi: Likewise.
31405         * doc/posix-functions/wcsnlen.texi: Likewise.
31406         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31407         * doc/posix-functions/wcstod.texi: Likewise.
31408         * doc/posix-functions/wcstof.texi: Likewise.
31409         * doc/posix-functions/wcstoimax.texi: Likewise.
31410         * doc/posix-functions/wcstok.texi: Likewise.
31411         * doc/posix-functions/wcstoumax.texi: Likewise.
31412
31413         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
31414         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
31415         * doc/posix-functions/fprintf.texi: Update.
31416         * doc/posix-functions/printf.texi: Update.
31417         * doc/posix-functions/snprintf.texi: Update.
31418         * doc/posix-functions/sprintf.texi: Update.
31419         * doc/posix-functions/vfprintf.texi: Update.
31420         * doc/posix-functions/vprintf.texi: Update.
31421         * doc/posix-functions/vsnprintf.texi: Update.
31422         * doc/posix-functions/vsprintf.texi: Update.
31423         * doc/glibc-functions/obstack_printf.texi: Update.
31424         * doc/glibc-functions/obstack_vprintf.texi: Update.
31425
31426 2009-02-26  Eric Blake  <ebb9@byu.net>
31427
31428         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
31429         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
31430         compilation bug by using runtime conversion.
31431         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31432         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
31433         * modules/ceill-tests (Files): Use nan.h.
31434         * modules/floorl-tests (Files): Likewise.
31435         * modules/frexpl-tests (Files): Likewise.
31436         * modules/isnanl-tests (Files): Likewise.
31437         * modules/ldexpl-tests (Files): Likewise.
31438         * modules/roundl-tests (Files): Likewise.
31439         * modules/truncl-tests (Files): Likewise.
31440         * tests/test-ceill.c (main): Use a working NaN.
31441         * tests/test-floorl.c (main): Likewise.
31442         * tests/test-frexpl.c (main): Likewise.
31443         * tests/test-isnan.c (test_long_double): Likewise.
31444         * tests/test-isnanl.h (main): Likewise.
31445         * tests/test-ldexpl.h (main): Likewise.
31446         * tests/test-roundl.h (main): Likewise.
31447         * tests/test-truncl.h (main): Likewise.
31448         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
31449
31450 2009-02-26  Eric Blake  <ebb9@byu.net>
31451             Bruno Haible  <bruno@clisp.org>
31452
31453         Work around a *printf bug with %ls on Solaris.
31454         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
31455         precision is specified, sprintf stops converting the wide string
31456         argument when the number of bytes that have been produced by this
31457         conversion equals or exceeds the precision.
31458         * doc/posix-functions/fprintf.texi: Update.
31459         * doc/posix-functions/printf.texi: Update.
31460         * doc/posix-functions/snprintf.texi: Update.
31461         * doc/posix-functions/sprintf.texi: Update.
31462         * doc/posix-functions/vfprintf.texi: Update.
31463         * doc/posix-functions/vprintf.texi: Update.
31464         * doc/posix-functions/vsnprintf.texi: Update.
31465         * doc/posix-functions/vsprintf.texi: Update.
31466         * doc/glibc-functions/obstack_printf.texi: Update.
31467         * doc/glibc-functions/obstack_vprintf.texi: Update.
31468
31469 2009-02-26  Eric Blake  <ebb9@byu.net>
31470
31471         stdlib: favor compiler check of random.h
31472         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
31473         to avoid an ObjC random.h installed by Swarm.
31474
31475 2009-02-26  Bruno Haible  <bruno@clisp.org>
31476
31477         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
31478         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
31479         Reported by Gary V. Vaughan <gary@gnu.org>.
31480
31481 2009-02-26  Bruno Haible  <bruno@clisp.org>
31482
31483         Fix *printf behaviour regarding the %ls directive.
31484         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
31485         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
31486         NEED_PRINTF_DIRECTIVE_LS.
31487         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
31488         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31489         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31490         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
31491         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
31492         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
31493         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31494         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31495         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31496         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31497         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31498         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
31499         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31500         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31501         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31502         * doc/posix-functions/fprintf.texi: Update.
31503         * doc/posix-functions/printf.texi: Update.
31504         * doc/posix-functions/snprintf.texi: Update.
31505         * doc/posix-functions/sprintf.texi: Update.
31506         * doc/posix-functions/vfprintf.texi: Update.
31507         * doc/posix-functions/vprintf.texi: Update.
31508         * doc/posix-functions/vsnprintf.texi: Update.
31509         * doc/posix-functions/vsprintf.texi: Update.
31510         * doc/glibc-functions/obstack_printf.texi: Update.
31511         * doc/glibc-functions/obstack_vprintf.texi: Update.
31512         Reported by Eric Blake.
31513
31514 2009-02-25  Bruno Haible  <bruno@clisp.org>
31515
31516         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
31517         with known value.
31518         Reported by Gary V. Vaughan <gary@gnu.org>.
31519
31520 2009-02-25  Bruno Haible  <bruno@clisp.org>
31521
31522         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
31523         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
31524         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
31525         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
31526         Reported by Gary V. Vaughan <gary@gnu.org>.
31527
31528 2009-02-25  Bruno Haible  <bruno@clisp.org>
31529
31530         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
31531         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
31532         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
31533         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
31534         Reported by Gary V. Vaughan <gary@gnu.org>.
31535
31536 2009-02-25  Eric Blake  <ebb9@byu.net>
31537
31538         tests: skip fseek/ftell tests if ungetc is broken
31539         * m4/ungetc.m4: New file.
31540         * modules/fseek-tests: Split test, so ungetc dependency is
31541         separate from rest of test.
31542         * modules/fseeko-tests: Likewise.
31543         * modules/ftell-tests: Likewise.
31544         * modules/ftello-tests: Likewise.
31545         * tests/test-fseek.c (main): Isolate ungetc dependency.
31546         * tests/test-fseeko.c (main): Likewise.
31547         * tests/test-ftell.c (main): Likewise.
31548         * tests/test-ftello.c (main): Likewise.
31549         * tests/test-fseek2.sh: New file.
31550         * tests/test-fseeko2.sh: Likewise.
31551         * tests/test-ftell2.sh: Likewise.
31552         * tests/test-ftello2.sh: Likewise.
31553
31554 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
31555
31556         test-getaddrinfo: fix usage of skip return code 77
31557         * tests/test-gettaddrinfo.c: Return skip code 77 only
31558         for first occurance of skip (4x77 is not 77)
31559
31560 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
31561
31562         strtod: avoid C99 decl-after-statement
31563         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
31564
31565 2009-02-24  Eric Blake  <ebb9@byu.net>
31566
31567         strtod: detect HP-UX 11.31 bug
31568         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
31569         Reported by Gary V. Vaughan.
31570
31571 2009-02-23  Bruno Haible  <bruno@clisp.org>
31572
31573         Fix invalid read past end of memory block.
31574         * lib/vasnprintf.c (DCHAR_SET): Define.
31575         (local_wcslen): Define only when needed.
31576         (local_strnlen, local_wcsnlen): New functions.
31577         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
31578         directives that involve a conversion ourselves.
31579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
31580         wcsnlen, mbrtowc, wcrtomb.
31581         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
31582         * tests/test-vasprintf-posix.c (test_function): Likewise.
31583         * tests/test-snprintf-posix.h (test_function): Likewise.
31584         * tests/test-sprintf-posix.h (test_function): Likewise.
31585         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31586
31587 2009-02-22  Bruno Haible  <bruno@clisp.org>
31588
31589         Implement new clarified decomposition of Hangul syllables.
31590         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
31591         of type LTV, return only a pairwise decomposition.
31592         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
31593         Likewise.
31594         * tests/uninorm/test-decomposition.c (main): Updated expected result.
31595         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
31596         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
31597
31598 2009-02-22  Bruno Haible  <bruno@clisp.org>
31599
31600         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31601         zero-length results and shrink excess allocated memory.
31602         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31603         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31604         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31605         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31606         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31607         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31608         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31609         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31610         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31611         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31612         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31613         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31614
31615 2009-02-21  Bruno Haible  <bruno@clisp.org>
31616
31617         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31618         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31619         spaces after a period. Put a space between a macro name and its
31620         argument list. Trivial rewordings.
31621         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31622         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31623         (main): Return 0 explicitly.
31624
31625 2009-02-21  Bruno Haible  <bruno@clisp.org>
31626
31627         Tests for module 'uninorm/filter'.
31628         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
31629         * modules/uninorm/filter-tests: New file.
31630
31631         New module 'uninorm/filter'.
31632         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
31633         uninorm_filter_flush, uninorm_filter_free): New declarations.
31634         * lib/uninorm/uninorm-filter.c: New file.
31635         * modules/uninorm/filter: New file.
31636
31637 2009-02-21  Bruno Haible  <bruno@clisp.org>
31638
31639         Tests for module 'uninorm/nfkc'.
31640         * tests/uninorm/test-nfkc.c: New file.
31641         * tests/uninorm/test-u8-nfkc.c: New file.
31642         * tests/uninorm/test-u16-nfkc.c: New file.
31643         * tests/uninorm/test-u32-nfkc.c: New file.
31644         * tests/uninorm/test-u32-nfkc-big.sh: New file.
31645         * tests/uninorm/test-u32-nfkc-big.c: New file.
31646         * modules/uninorm/nfkc-tests: New file.
31647
31648         New module 'uninorm/nfkc'.
31649         * lib/uninorm/nfkc.c: New file.
31650         * modules/uninorm/nfkc: New file.
31651
31652         Tests for module 'uninorm/nfkd'.
31653         * tests/uninorm/test-nfkd.c: New file.
31654         * tests/uninorm/test-u8-nfkd.c: New file.
31655         * tests/uninorm/test-u16-nfkd.c: New file.
31656         * tests/uninorm/test-u32-nfkd.c: New file.
31657         * tests/uninorm/test-u32-nfkd-big.sh: New file.
31658         * tests/uninorm/test-u32-nfkd-big.c: New file.
31659         * modules/uninorm/nfkd-tests: New file.
31660
31661         New module 'uninorm/nfkd'.
31662         * lib/uninorm/nfkd.c: New file.
31663         * modules/uninorm/nfkd: New file.
31664
31665         Tests for module 'uninorm/nfc'.
31666         * tests/uninorm/test-nfc.c: New file.
31667         * tests/uninorm/test-u8-nfc.c: New file.
31668         * tests/uninorm/test-u16-nfc.c: New file.
31669         * tests/uninorm/test-u32-nfc.c: New file.
31670         * tests/uninorm/test-u32-nfc-big.sh: New file.
31671         * tests/uninorm/test-u32-nfc-big.c: New file.
31672         * modules/uninorm/nfc-tests: New file.
31673
31674         New module 'uninorm/nfc'.
31675         * lib/uninorm/nfc.c: New file.
31676         * modules/uninorm/nfc: New file.
31677
31678         Tests for module 'uninorm/nfd'.
31679         * tests/uninorm/test-nfd.c: New file.
31680         * tests/uninorm/test-u8-nfd.c: New file.
31681         * tests/uninorm/test-u16-nfd.c: New file.
31682         * tests/uninorm/test-u32-nfd.c: New file.
31683         * tests/uninorm/test-u32-nfd-big.sh: New file.
31684         * tests/uninorm/test-u32-nfd-big.c: New file.
31685         * tests/uninorm/test-u32-normalize-big.h: New file.
31686         * tests/uninorm/test-u32-normalize-big.c: New file.
31687         * tests/uninorm/NormalizationTest.txt: New file, created from
31688         Unicode 5.1.0 NormalizationTest.txt.
31689         * modules/uninorm/nfd-tests: New file.
31690
31691         New module 'uninorm/nfd'.
31692         * lib/uninorm/nfd.c: New file.
31693         * modules/uninorm/nfd: New file.
31694
31695         New module 'uninorm/u32-normalize'.
31696         * lib/uninorm/u32-normalize.c: New file.
31697         * modules/uninorm/u32-normalize: New file.
31698
31699         New module 'uninorm/u16-normalize'.
31700         * lib/uninorm/u16-normalize.c: New file.
31701         * modules/uninorm/u16-normalize: New file.
31702
31703         New module 'uninorm/u8-normalize'.
31704         * lib/uninorm/u8-normalize.c: New file.
31705         * lib/uninorm/normalize-internal.h: New file.
31706         * lib/uninorm/u-normalize-internal.h: New file.
31707         * modules/uninorm/u8-normalize: New file.
31708
31709         New module 'uninorm/decompose-internal'.
31710         * lib/uninorm/decompose-internal.c: New file.
31711         * modules/uninorm/decompose-internal: New file.
31712
31713         Tests for module 'uninorm/composition'.
31714         * tests/uninorm/test-composition.c: New file.
31715         * modules/uninorm/composition-tests: New file.
31716
31717         New module 'uninorm/composition'.
31718         * lib/uninorm/composition.c: New file.
31719         * lib/uninorm/composition-table.gperf: New file, generated by
31720         gen-uni-tables.
31721         * modules/uninorm/composition: New file.
31722
31723         Tests for module 'uninorm/compat-decomposition'.
31724         * tests/uninorm/test-compat-decomposition.c: New file.
31725         * modules/uninorm/compat-decomposition-tests: New file.
31726
31727         New module 'uninorm/compat-decomposition'.
31728         * lib/uninorm/decompose-internal.h: New file.
31729         * lib/uninorm/compat-decomposition.c: New file.
31730         * modules/uninorm/compat-decomposition: New file.
31731
31732         Tests for module 'uninorm/canonical-decomposition'.
31733         * tests/uninorm/test-canonical-decomposition.c: New file.
31734         * modules/uninorm/canonical-decomposition-tests: New file.
31735
31736         New module 'uninorm/canonical-decomposition'.
31737         * lib/uninorm/canonical-decomposition.c: New file.
31738         * modules/uninorm/canonical-decomposition: New file.
31739
31740         Tests for module 'uninorm/decomposition'.
31741         * tests/uninorm/test-decomposition.c: New file.
31742         * modules/uninorm/decomposition-tests: New file.
31743
31744         New module 'uninorm/decomposition'.
31745         * lib/uninorm/decomposition.c: New file.
31746         * modules/uninorm/decomposition: New file.
31747
31748         New module 'uninorm/decomposition-table'.
31749         * lib/uninorm/decomposition-table.h: New file.
31750         * lib/uninorm/decomposition-table.c: New file.
31751         * lib/uninorm/decomposition-table1.h: New file, generated by
31752         gen-uni-tables.
31753         * lib/uninorm/decomposition-table2.h: New file, generated by
31754         gen-uni-tables.
31755         * modules/uninorm/decomposition-table: New file.
31756
31757         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
31758         (UC_DECOMP_*): New enumeration items.
31759         (get_decomposition): New function.
31760         (struct decomp_table): New type.
31761         (output_decomposition, output_decomposition_tables): New functions.
31762         (unicode_composition_exclusions): New variable.
31763         (fill_composition_exclusions, debug_output_composition_tables): New
31764         functions.
31765         (main): Accept one more argument. Invoke fill_composition_exclusions.
31766         Output decomposition and composition tables.
31767
31768         New module 'uninorm/base'.
31769         * lib/uninorm.h: New file.
31770         * lib/unictype.h: Update comment.
31771         * modules/uninorm/base: New file.
31772
31773 2009-02-21  David Lutterkort  <lutter@redhat.com>
31774
31775         Tests for module 'safe-alloc'.
31776         * tests/test-safe-alloc.c: New file.
31777         * modules/safe-alloc-tests: New file.
31778
31779         New module 'safe-alloc'.
31780         * lib/safe-alloc.h: New file.
31781         * lib/safe-alloc.c: New file.
31782         * m4/safe-alloc.m4: New file.
31783         * modules/safe-alloc: New file.
31784         * doc/safe-alloc.texi: New file.
31785         * doc/gnulib.texi: Include it.
31786         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31787         safe-alloc.
31788
31789 2009-02-18  Bruno Haible  <bruno@clisp.org>
31790
31791         Fix link error on non-glibc systems.
31792         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
31793         variable.
31794         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31795
31796 2009-02-18  Jim Meyering  <meyering@redhat.com>
31797
31798         fts: avoid used-uninitialized error due to recent change
31799         * lib/fts.c (fts_read): Guard uses of the new member,
31800         parent->fts_n_dirs_remaining, since it's not relevant for
31801         the parent of a directory specified on the command-line.
31802
31803 2009-02-17  James Youngman  <jay@gnu.org>
31804             Bruno Haible  <bruno@clisp.org>
31805
31806         * m4/include_next.m4: Reformulate comment.
31807
31808 2009-02-16  Jim Meyering  <meyering@redhat.com>
31809
31810         fts: add #if guards so that the fts_lgpl module still builds
31811         * lib/fts.c: Guard just-added hash-table-using parts with
31812         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
31813         Reported by Simon Josefsson.
31814
31815 2009-02-15  Bruno Haible  <bruno@clisp.org>
31816
31817         * modules/array-mergesort-tests: New file.
31818         * tests/test-array-mergesort.c: New file.
31819
31820         New module 'array-mergesort'.
31821         * modules/array-mergesort: New file.
31822         * lib/array-mergesort.h: New file.
31823
31824 2009-02-15  Bruno Haible  <bruno@clisp.org>
31825
31826         Fix 2009-02-07 commit.
31827         * lib/gen-uni-tables.c (output_predicate, output_category,
31828         output_combclass, output_bidi_category, output_decimal_digit,
31829         output_digit, output_numeric, output_mirror, output_scripts,
31830         output_ident_category, output_simple_mapping): Fix format directives.
31831         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
31832
31833 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
31834
31835         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
31836         fixes are available from IBM.
31837
31838 2009-02-13  Jim Meyering  <meyering@redhat.com>
31839
31840         fts: arrange not to stat non-directories in more cases
31841         This makes GNU find (when it doesn't need to stat each file)
31842         *much* more efficient at traversing reiserfs file systems.
31843         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
31844         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
31845         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
31846         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
31847         (leaf_optimization_applies): New function.
31848         (LCO_hash, LCO_compare): New helper functions.
31849         (link_count_optimize_ok): New function.
31850         (fts_stat): Initialize new member (if dir).
31851         (fts_read): Decrement parent's fts_n_dirs_remaining count if
31852         we've just stat'ed a directory.  Skip the stat call when possible.
31853         ---
31854         Note this AFS-related exchange:
31855         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
31856         and note find's pioctl call in find/fstype.c.
31857         But that is necessary only if you want to enable the
31858         optimization for AFS, and for now, I don't.
31859
31860         fts: move a function definition "up" (no semantic change)
31861         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
31862         "up" to precede upcoming use of a related function.
31863
31864 2009-02-11  Jim Meyering  <meyering@redhat.com>
31865
31866         fts: correct internal computation of nlinks (optimization-related)
31867         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
31868         whether the current entry is a directory, so don't test it.
31869
31870 2009-02-10  Bruno Haible  <bruno@clisp.org>
31871
31872         Tests for module 'uniwbrk/ulc-wordbreaks'.
31873         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
31874         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
31875         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
31876
31877         Tests for module 'uniwbrk/u32-wordbreaks'.
31878         * modules/uniwbrk/u32-wordbreaks-tests: New file.
31879         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
31880
31881         Tests for module 'uniwbrk/u16-wordbreaks'.
31882         * modules/uniwbrk/u16-wordbreaks-tests: New file.
31883         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
31884
31885         Tests for module 'uniwbrk/u8-wordbreaks'.
31886         * modules/uniwbrk/u8-wordbreaks-tests: New file.
31887         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
31888
31889 2009-02-10  Bruno Haible  <bruno@clisp.org>
31890
31891         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
31892         property.
31893         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
31894         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
31895         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
31896
31897 2009-02-10  Simon Josefsson  <simon@josefsson.org>
31898
31899         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
31900         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
31901
31902 2009-02-10  Bruno Haible  <bruno@clisp.org>
31903
31904         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
31905         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
31906         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
31907         * lib/unilbrk/u8-possible-linebreaks.c: Update.
31908         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
31909         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
31910
31911 2009-02-09  Simon Josefsson  <simon@josefsson.org>
31912
31913         * lib/sockets.h (gl_fd_to_handle): New function.
31914
31915         * tests/test-sockets.c: Call gl_fd_to_handle.
31916
31917 2009-02-09  Bruno Haible  <bruno@clisp.org>
31918
31919         * doc/havelib.texi: Document the conventions on bi-arch systems.
31920
31921 2009-02-08  Bruno Haible  <bruno@clisp.org>
31922
31923         Document the AC_LIB_LINKFLAGS macro.
31924         * doc/havelib.texi: New file, mostly written on 2005-05-24.
31925         * doc/gnulib.texi: Include it.
31926
31927 2009-02-08  Bruno Haible  <bruno@clisp.org>
31928
31929         Fix wrong order of sections, compared to TOC.
31930         * doc/gnulib.texi: Include relocatable-maint.texi after the
31931         "Regular expressions" node, not before.
31932
31933 2009-02-08  Bruno Haible  <bruno@clisp.org>
31934
31935         Tests for module 'unicase/totitle'.
31936         * modules/unicase/totitle-tests: New file.
31937
31938         Tests for module 'unicase/tolower'.
31939         * modules/unicase/tolower-tests: New file.
31940
31941         Tests for module 'unicase/toupper'.
31942         * modules/unicase/toupper-tests: New file.
31943         * tests/unicase/test-mapping-part1.h: New file.
31944         * tests/unicase/test-mapping-part2.h: New file.
31945
31946         New module 'unicase/totitle'.
31947         * modules/unicase/totitle: New file.
31948         * lib/unicase/totitle.c: New file.
31949
31950         New module 'unicase/tolower'.
31951         * modules/unicase/tolower: New file.
31952         * lib/unicase/tolower.c: New file.
31953
31954         New module 'unicase/toupper'.
31955         * modules/unicase/toupper: New file.
31956         * lib/unicase/toupper.c: New file.
31957         * lib/unicase/simple-mapping.h: New file.
31958
31959         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
31960         (mapping_table): New structure.
31961         (output_simple_mapping): New function.
31962         (main): Invoke output_simple_mapping_test and output_simple_mapping.
31963         * modules/gen-uni-tables (Description): Update.
31964         * lib/unicase/toupper.h: New file, automatically generated by
31965         gen-uni-tables.
31966         * lib/unicase/tolower.h: New file, automatically generated by
31967         gen-uni-tables.
31968         * lib/unicase/totitle.h: New file, automatically generated by
31969         gen-uni-tables.
31970         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
31971         gen-uni-tables.
31972         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
31973         gen-uni-tables.
31974         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
31975         gen-uni-tables.
31976
31977         New module 'unicase/base'.
31978         * modules/unicase/base: New file.
31979         * lib/unicase.h: New file.
31980
31981 2009-02-08  Bruno Haible  <bruno@clisp.org>
31982
31983         New module 'uniwbrk/ulc-wordbreaks'.
31984         * modules/uniwbrk/ulc-wordbreaks: New file.
31985         * lib/uniwbrk/ulc-wordbreaks.c: New file.
31986
31987         New module 'uniwbrk/u32-wordbreaks'.
31988         * modules/uniwbrk/u32-wordbreaks: New file.
31989         * lib/uniwbrk/u32-wordbreaks.c: New file.
31990
31991         New module 'uniwbrk/u16-wordbreaks'.
31992         * modules/uniwbrk/u16-wordbreaks: New file.
31993         * lib/uniwbrk/u16-wordbreaks.c: New file.
31994
31995         New module 'uniwbrk/u8-wordbreaks'.
31996         * modules/uniwbrk/u8-wordbreaks: New file.
31997         * lib/uniwbrk/u8-wordbreaks.c: New file.
31998         * lib/uniwbrk/u-wordbreaks.h: New file.
31999
32000         New module 'uniwbrk/table'.
32001         * modules/uniwbrk/table: New file.
32002         * lib/uniwbrk/wbrktable.h: New file.
32003         * lib/uniwbrk/wbrktable.c: New file.
32004
32005         New module 'uniwbrk/wordbreak-property'.
32006         * modules/uniwbrk/wordbreak-property: New file.
32007         * lib/uniwbrk/wordbreak-property.c: New file.
32008
32009         * lib/gen-uni-tables.c (WBP_*): New enum items.
32010         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
32011         (unicode_org_wbp): New variable.
32012         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
32013         New functions.
32014         (wbp_table): New structure.
32015         (output_wbp, output_wbrk_tables): New functions.
32016         (main): Accept additional argument. Invoke fill_org_wbp,
32017         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
32018         output_wbrk_tables.
32019         * modules/gen-uni-tables (Description): Update.
32020         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
32021         gen-uni-tables.
32022
32023         New module 'uniwbrk/base'.
32024         * modules/uniwbrk/base: New file.
32025         * lib/uniwbrk.h: New file.
32026
32027 2009-02-08  Bruno Haible  <bruno@clisp.org>
32028
32029         Update to Unicode 5.1.0.
32030         * lib/gen-uni-tables.c (is_property_alphabetic): Include
32031         U+2185..U+2188.
32032         (is_property_default_ignorable_code_point): Don't include characters
32033         of category Cc or Cs and not-a-characters.
32034         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
32035         U+0D79, U+109E, U+109F, U+A60C.
32036         * lib/unictype/bidi_of.h: Regenerated.
32037         * lib/unictype/blocks.h: Regenerated.
32038         * lib/unictype/categ_C.h: Regenerated.
32039         * lib/unictype/categ_Cf.h: Regenerated.
32040         * lib/unictype/categ_Cn.h: Regenerated.
32041         * lib/unictype/categ_L.h: Regenerated.
32042         * lib/unictype/categ_Ll.h: Regenerated.
32043         * lib/unictype/categ_Lm.h: Regenerated.
32044         * lib/unictype/categ_Lo.h: Regenerated.
32045         * lib/unictype/categ_Lu.h: Regenerated.
32046         * lib/unictype/categ_M.h: Regenerated.
32047         * lib/unictype/categ_Mc.h: Regenerated.
32048         * lib/unictype/categ_Me.h: Regenerated.
32049         * lib/unictype/categ_Mn.h: Regenerated.
32050         * lib/unictype/categ_N.h: Regenerated.
32051         * lib/unictype/categ_Nd.h: Regenerated.
32052         * lib/unictype/categ_Nl.h: Regenerated.
32053         * lib/unictype/categ_No.h: Regenerated.
32054         * lib/unictype/categ_P.h: Regenerated.
32055         * lib/unictype/categ_Pd.h: Regenerated.
32056         * lib/unictype/categ_Pe.h: Regenerated.
32057         * lib/unictype/categ_Pf.h: Regenerated.
32058         * lib/unictype/categ_Pi.h: Regenerated.
32059         * lib/unictype/categ_Po.h: Regenerated.
32060         * lib/unictype/categ_Ps.h: Regenerated.
32061         * lib/unictype/categ_S.h: Regenerated.
32062         * lib/unictype/categ_Sk.h: Regenerated.
32063         * lib/unictype/categ_Sm.h: Regenerated.
32064         * lib/unictype/categ_So.h: Regenerated.
32065         * lib/unictype/categ_of.h: Regenerated.
32066         * lib/unictype/combining.h: Regenerated.
32067         * lib/unictype/ctype_alnum.h: Regenerated.
32068         * lib/unictype/ctype_alpha.h: Regenerated.
32069         * lib/unictype/ctype_graph.h: Regenerated.
32070         * lib/unictype/ctype_lower.h: Regenerated.
32071         * lib/unictype/ctype_print.h: Regenerated.
32072         * lib/unictype/ctype_punct.h: Regenerated.
32073         * lib/unictype/ctype_upper.h: Regenerated.
32074         * lib/unictype/decdigit.h: Regenerated.
32075         * lib/unictype/digit.h: Regenerated.
32076         * lib/unictype/mirror.h: Regenerated.
32077         * lib/unictype/numeric.h: Regenerated.
32078         * lib/unictype/pr_alphabetic.h: Regenerated.
32079         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
32080         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
32081         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
32082         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
32083         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
32084         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
32085         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
32086         * lib/unictype/pr_combining.h: Regenerated.
32087         * lib/unictype/pr_dash.h: Regenerated.
32088         * lib/unictype/pr_decimal_digit.h: Regenerated.
32089         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
32090         * lib/unictype/pr_deprecated.h: Regenerated.
32091         * lib/unictype/pr_diacritic.h: Regenerated.
32092         * lib/unictype/pr_extender.h: Regenerated.
32093         * lib/unictype/pr_format_control.h: Regenerated.
32094         * lib/unictype/pr_grapheme_base.h: Regenerated.
32095         * lib/unictype/pr_grapheme_extend.h: Regenerated.
32096         * lib/unictype/pr_grapheme_link.h: Regenerated.
32097         * lib/unictype/pr_id_continue.h: Regenerated.
32098         * lib/unictype/pr_id_start.h: Regenerated.
32099         * lib/unictype/pr_ideographic.h: Regenerated.
32100         * lib/unictype/pr_ignorable_control.h: Regenerated.
32101         * lib/unictype/pr_lowercase.h: Regenerated.
32102         * lib/unictype/pr_math.h: Regenerated.
32103         * lib/unictype/pr_numeric.h: Regenerated.
32104         * lib/unictype/pr_other_alphabetic.h: Regenerated.
32105         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
32106         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
32107         * lib/unictype/pr_other_id_continue.h: Regenerated.
32108         * lib/unictype/pr_other_lowercase.h: Regenerated.
32109         * lib/unictype/pr_other_math.h: Regenerated.
32110         * lib/unictype/pr_punctuation.h: Regenerated.
32111         * lib/unictype/pr_sentence_terminal.h: Regenerated.
32112         * lib/unictype/pr_soft_dotted.h: Regenerated.
32113         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
32114         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
32115         * lib/unictype/pr_unified_ideograph.h: Regenerated.
32116         * lib/unictype/pr_uppercase.h: Regenerated.
32117         * lib/unictype/pr_xid_continue.h: Regenerated.
32118         * lib/unictype/pr_xid_start.h: Regenerated.
32119         * lib/unictype/pr_zero_width.h: Regenerated.
32120         * lib/unictype/scripts.h: Regenerated.
32121         * lib/unictype/scripts_byname.gperf: Regenerated.
32122         * lib/unictype/sy_java_ident.h: Regenerated.
32123         * lib/unilbrk/lbrkprop1.h: Regenerated.
32124         * lib/unilbrk/lbrkprop2.h: Regenerated.
32125         * tests/unictype/test-categ_C.c: Regenerated.
32126         * tests/unictype/test-categ_Cf.c: Regenerated.
32127         * tests/unictype/test-categ_Cn.c: Regenerated.
32128         * tests/unictype/test-categ_L.c: Regenerated.
32129         * tests/unictype/test-categ_Ll.c: Regenerated.
32130         * tests/unictype/test-categ_Lm.c: Regenerated.
32131         * tests/unictype/test-categ_Lo.c: Regenerated.
32132         * tests/unictype/test-categ_Lu.c: Regenerated.
32133         * tests/unictype/test-categ_M.c: Regenerated.
32134         * tests/unictype/test-categ_Mc.c: Regenerated.
32135         * tests/unictype/test-categ_Me.c: Regenerated.
32136         * tests/unictype/test-categ_Mn.c: Regenerated.
32137         * tests/unictype/test-categ_N.c: Regenerated.
32138         * tests/unictype/test-categ_Nd.c: Regenerated.
32139         * tests/unictype/test-categ_Nl.c: Regenerated.
32140         * tests/unictype/test-categ_No.c: Regenerated.
32141         * tests/unictype/test-categ_P.c: Regenerated.
32142         * tests/unictype/test-categ_Pd.c: Regenerated.
32143         * tests/unictype/test-categ_Pe.c: Regenerated.
32144         * tests/unictype/test-categ_Pf.c: Regenerated.
32145         * tests/unictype/test-categ_Pi.c: Regenerated.
32146         * tests/unictype/test-categ_Po.c: Regenerated.
32147         * tests/unictype/test-categ_Ps.c: Regenerated.
32148         * tests/unictype/test-categ_S.c: Regenerated.
32149         * tests/unictype/test-categ_Sk.c: Regenerated.
32150         * tests/unictype/test-categ_Sm.c: Regenerated.
32151         * tests/unictype/test-categ_So.c: Regenerated.
32152         * tests/unictype/test-ctype_alnum.c: Regenerated.
32153         * tests/unictype/test-ctype_alpha.c: Regenerated.
32154         * tests/unictype/test-ctype_graph.c: Regenerated.
32155         * tests/unictype/test-ctype_lower.c: Regenerated.
32156         * tests/unictype/test-ctype_print.c: Regenerated.
32157         * tests/unictype/test-ctype_punct.c: Regenerated.
32158         * tests/unictype/test-ctype_upper.c: Regenerated.
32159         * tests/unictype/test-decdigit.h: Regenerated.
32160         * tests/unictype/test-digit.h: Regenerated.
32161         * tests/unictype/test-numeric.h: Regenerated.
32162         * tests/unictype/test-pr_alphabetic.c: Regenerated.
32163         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
32164         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
32165         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
32166         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
32167         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
32168         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
32169         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
32170         * tests/unictype/test-pr_combining.c: Regenerated.
32171         * tests/unictype/test-pr_dash.c: Regenerated.
32172         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
32173         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
32174         * tests/unictype/test-pr_deprecated.c: Regenerated.
32175         * tests/unictype/test-pr_diacritic.c: Regenerated.
32176         * tests/unictype/test-pr_extender.c: Regenerated.
32177         * tests/unictype/test-pr_format_control.c: Regenerated.
32178         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
32179         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
32180         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
32181         * tests/unictype/test-pr_id_continue.c: Regenerated.
32182         * tests/unictype/test-pr_id_start.c: Regenerated.
32183         * tests/unictype/test-pr_ideographic.c: Regenerated.
32184         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
32185         * tests/unictype/test-pr_lowercase.c: Regenerated.
32186         * tests/unictype/test-pr_math.c: Regenerated.
32187         * tests/unictype/test-pr_numeric.c: Regenerated.
32188         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
32189         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
32190         Regenerated.
32191         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
32192         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
32193         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
32194         * tests/unictype/test-pr_other_math.c: Regenerated.
32195         * tests/unictype/test-pr_punctuation.c: Regenerated.
32196         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
32197         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
32198         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
32199         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
32200         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
32201         * tests/unictype/test-pr_uppercase.c: Regenerated.
32202         * tests/unictype/test-pr_xid_continue.c: Regenerated.
32203         * tests/unictype/test-pr_xid_start.c: Regenerated.
32204         * tests/unictype/test-pr_zero_width.c: Regenerated.
32205
32206         Update to Unicode 5.1.0.
32207         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
32208         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
32209         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
32210         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
32211         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
32212         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
32213         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
32214         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
32215         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
32216         (nonspacing_table_ind): Update.
32217         * tests/uniwidth/test-uc_width2.sh: Update expected result.
32218
32219         Update to Unicode 5.1.0.
32220         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
32221         code transform.
32222         * lib/uniname/uniname.c (unicode_character_name,
32223         unicode_name_character): Add the range 0x1Fxxx to the code transform.
32224         * lib/uniname/uninames.h: Regenerated.
32225         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
32226
32227 2009-02-07  Bruno Haible  <bruno@clisp.org>
32228
32229         Merge gen-ctype and gen-lbrk into a single program.
32230         * lib/gen-uni-tables.c: New file, incorporating
32231         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
32232         Add directory prefixes to the names of the generated files.
32233         * lib/unictype/gen-ctype.c: Remove file.
32234         * lib/unilbrk/gen-lbrk.c: Remove file.
32235         * modules/gen-uni-tables: New file.
32236         * modules/unictype/gen-ctype: Remove file.
32237         * modules/unilbrk/gen-lbrk: Remove file.
32238
32239 2009-02-07  Bruno Haible  <bruno@clisp.org>
32240
32241         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
32242
32243         New module 'unistr/u32-strcoll'.
32244         * modules/unistr/u32-strcoll: New file.
32245         * lib/unistr/u32-strcoll.c: New file.
32246
32247         New module 'unistr/u16-strcoll'.
32248         * modules/unistr/u16-strcoll: New file.
32249         * lib/unistr/u16-strcoll.c: New file.
32250
32251         New module 'unistr/u8-strcoll'.
32252         * modules/unistr/u8-strcoll: New file.
32253         * lib/unistr/u8-strcoll.c: New file.
32254         * lib/unistr/u-strcoll.h: New file.
32255
32256 2009-02-07  Bruno Haible  <bruno@clisp.org>
32257
32258         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
32259         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32260         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32261         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
32262         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
32263         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
32264
32265 2009-02-07  Bruno Haible  <bruno@clisp.org>
32266
32267         Make 64-bit clean.
32268         * lib/unictype/gen-ctype.c (output_predicate, output_category,
32269         output_combclass, output_bidi_category, output_decimal_digit,
32270         output_digit, output_numeric, output_mirror, output_scripts,
32271         output_ident_category): Use proper width specifier in format strings.
32272
32273 2009-02-07  Bruno Haible  <bruno@clisp.org>
32274
32275         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
32276         failure behaviour.
32277
32278 2009-02-07  Jim Meyering  <meyering@redhat.com>
32279
32280         regex: avoid compilation failure with upcoming gcc-4.4
32281         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
32282         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
32283         "... error: integer overflow in preprocessor expression".
32284
32285 2009-02-05  Ben Pfaff  <blp@gnu.org>
32286
32287         Fix link errors on Windows when close module is used.
32288         * modules/close: Add $(LIB_CLOSE) to Link section.
32289         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
32290         $(LIB_CLOSE) on Windows.
32291
32292 2009-02-05  Jim Meyering  <meyering@redhat.com>
32293
32294         still avoid unused-parameter warnings, but do it cleanly
32295         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
32296         (get_fs_usage): Cast to void instead.
32297         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
32298         (dev_from_mount_options, read_file_system_list): Cast to void.
32299         Prompted by Bruno Haible.
32300
32301 2009-02-04  Jim Meyering  <meyering@redhat.com>
32302
32303         fsusage.c: correct copyright year
32304         * lib/fsusage.c: Reflect year in which the change is pushed into
32305
32306         avoid misc. warnings
32307         * lib/fsusage.c (UNUSED_PARAM): Define.
32308         (get_fs_usage): Mark parameter "disk" as unused.
32309         * lib/getugroups.c (getgrent): Use "void" in prototype.
32310         * lib/mountlist.c: Mark unused parameters.
32311         (read_file_system_list): Declare a local with "const".
32312         * lib/nanosleep.c (getnow): Declare static.
32313         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
32314
32315         dirfd: set errno upon failure
32316         * lib/dirfd.c: Include <errno.h>.
32317         Set errno to ENOTSUP when returning -1.
32318         * modules/dirfd (Depends-on): Add errno.
32319         Suggested by John Kodis <kodis@comcast.net>.
32320
32321 2009-02-01  Bruno Haible  <bruno@clisp.org>
32322
32323         Don't assume sizeof (long) >= sizeof (void *).
32324         * lib/memcmp.c: Include stdint.h.
32325         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
32326         srcp2 to 'const byte *'.
32327         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
32328         types to uintptr_t.
32329         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
32330         * modules/memcmp (Depends-on): Add stdint.
32331         Reported by Ozkan Sezer <sezeroz@gmail.com>.
32332
32333 2009-01-30  Eric Blake  <ebb9@byu.net>
32334
32335         fix more require-before-expand issues
32336         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
32337         expand, AC_PROG_AWK.
32338         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
32339
32340 2009-01-28  Eric Blake  <ebb9@byu.net>
32341
32342         version-etc: use consistent URL formatting
32343         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
32344         Improve formatting.  Use fputs for string without %.
32345
32346 2009-01-28  Jim Meyering  <meyering@redhat.com>
32347
32348         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
32349         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
32350         "underquoted definition of NAME" from autoconf-2.59.
32351
32352 2009-01-28  Bruno Haible  <bruno@clisp.org>
32353
32354         * doc/gnulib.texi: Add "Obsolete modules" to index.
32355
32356 2009-01-28  Jim Meyering  <meyering@redhat.com>
32357
32358         useless-if-before-free: recognize more variants
32359         * build-aux/useless-if-before-free: Also recognize e.g.,
32360         if (NULL != p) free (p);
32361
32362 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
32363
32364         test-getaddrinfo: skip (don't fail) this test when there's no network
32365         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
32366         on the presumption that it means you lack network access.
32367
32368 2009-01-26  Jim Meyering  <meyering@redhat.com>
32369
32370         fflush: avoid warnings on modern systems
32371         * lib/fflush.c (rpl_fflush): Move declarations of locals,
32372         pos and result, into scopes where they're used.
32373
32374 2009-01-26  Eric Blake  <ebb9@byu.net>
32375
32376         Silence warning reintroduced by recent extensions patch.
32377         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
32378         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
32379         autoconf.
32380
32381         Backport improved autoconf semantics of AC_DEFUN_ONCE.
32382         * m4/00gnulib.m4: New file.
32383         * gnulib-tool (func_get_filelist): Always use it.
32384         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
32385         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
32386
32387 2009-01-25  Bruno Haible  <bruno@clisp.org>
32388
32389         Make test-quotearg work on MacOS X and AIX.
32390         * tests/test-quotearg.sh: New file.
32391         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
32392         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
32393         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
32394         include <libintl.h>.
32395         (fake_locale): Remove variable.
32396         (gettext, dgettext, dcgettext): Remove functions.
32397         (main): Instead of setting a fake locale, set a real locale. Call
32398         textdomain and bindtextdomain.
32399         * modules/quotearg-tests (Files): Add the new files.
32400         (Depends-on): Add gettext, setenv, unsetenv.
32401         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32402         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
32403         Augment TESTS_ENVIRONMENT.
32404
32405 2009-01-25  Bruno Haible  <bruno@clisp.org>
32406
32407         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
32408         fr_FR.ISO8859-1 locale on MacOS X.
32409         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
32410         ja_JP.eucJP locale on MacOS X.
32411         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
32412         zh_CN.GB18030 locale on MacOS X.
32413
32414 2009-01-25  Bruno Haible  <bruno@clisp.org>
32415
32416         Avoid link errors on MacOS X 10.3.
32417         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
32418         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32419
32420 2009-01-25  Bruno Haible  <bruno@clisp.org>
32421
32422         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32423         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
32424         * modules/pipe (Files): Remove m4/posix_spawn.m4.
32425         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32426         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
32427         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32428         posix_spawnattr_init, posix_spawnattr_setsigmask,
32429         posix_spawnattr_setflags, posix_spawnattr_destroy.
32430
32431         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32432         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
32433         * modules/execute (Files): Remove m4/posix_spawn.m4.
32434         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32435         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32436         posix_spawnattr_init, posix_spawnattr_setsigmask,
32437         posix_spawnattr_setflags, posix_spawnattr_destroy.
32438
32439 2009-01-25  Bruno Haible  <bruno@clisp.org>
32440
32441         * lib/glthread/threadlib.c: Include <stdlib.h>.
32442
32443 2009-01-25  Bruno Haible  <bruno@clisp.org>
32444
32445         * lib/glthread/threadlib.c (dummy): New declaration.
32446
32447 2009-01-25  Bruno Haible  <bruno@clisp.org>
32448
32449         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
32450         multibyte characters also for the GB18030 encoding. Don't crash when
32451         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
32452
32453 2009-01-25  Bruno Haible  <bruno@clisp.org>
32454
32455         Avoid redefining 'struct random_data' on OSF/1 5.1.
32456         * lib/stdlib.in.h: Include <random.h> if it exists.
32457         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
32458         HAVE_RANDOM_H. Include <random.h> when testing whether
32459         'struct random_data' exists.
32460         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
32461
32462 2009-01-25  Bruno Haible  <bruno@clisp.org>
32463
32464         Don't install charset.alias on MacOS X >= 10.3.
32465         * lib/localcharset.c (DARWIN7): New macro.
32466         (get_charset_aliases): Hardcode the result for Darwin7.
32467         * modules/localcharset (install-exec-local): Don't install
32468         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
32469
32470 2009-01-25  Bruno Haible  <bruno@clisp.org>
32471
32472         Don't install charset.alias on mingw and Cygwin.
32473         * modules/localcharset (install-exec-local): Don't install
32474         charset.alias on mingw and Cygwin, if the file does not yet exist.
32475         The result for these platforms is hardcoded in localcharset.c.
32476
32477 2009-01-25  Bruno Haible  <bruno@clisp.org>
32478
32479         Make it possible again to use AC_GNU_SOURCE together with gnulib.
32480         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
32481         before requiring AC_USE_SYSTEM_EXTENSIONS.
32482
32483 2009-01-25  Jim Meyering  <meyering@redhat.com>
32484
32485         c-strtod: avoid warnings
32486         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
32487         "assignment discards qualifiers from pointer target type" warnings.
32488
32489 2009-01-24  Bruno Haible  <bruno@clisp.org>
32490
32491         Add support for non-UTF-8 locales on MacOS X.
32492         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
32493         canonical encodings. For Darwin 7 and newer, don't map traditional
32494         encodings to UTF-8.
32495         Reported by Vincent Lefevre <vincent@vinc17.org>
32496         at <http://savannah.gnu.org/bugs/?25235>.
32497
32498 2009-01-24  Bruno Haible  <bruno@clisp.org>
32499
32500         * doc/gnulib.texi (Obsolete modules): New section.
32501         Reported by Mike Frysinger <vapier@gentoo.org>.
32502
32503 2009-01-24  Bruno Haible  <bruno@clisp.org>
32504
32505         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
32506         (%.dvi): New rule.
32507
32508 2009-01-24  Bruno Haible  <bruno@clisp.org>
32509
32510         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
32511         Reported by Eric Blake.
32512
32513 2009-01-24  Bruno Haible  <bruno@clisp.org>
32514
32515         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
32516         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
32517         Reported by Gary V. Vaughan <gary@gnu.org>.
32518
32519 2009-01-24  Bruno Haible  <bruno@clisp.org>
32520
32521         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
32522
32523 2009-01-23  Bruno Haible  <bruno@clisp.org>
32524
32525         Make c-strtod, c-strtold usable in libraries.
32526         * lib/c-strtod.c: Include string.h instead of xalloc.h.
32527         (C_STRTOD): Call strdup instead of xstrdup.
32528         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
32529         * modules/c-strtold (Depends-on): Likewise.
32530         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
32531         * NEWS: Mention the change.
32532         Reported by Michael Gold <mgold@ncf.ca>.
32533
32534 2009-01-23  Jim Meyering  <meyering@redhat.com>
32535
32536         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
32537         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
32538         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
32539
32540 2009-01-23  Simon Josefsson  <simon@josefsson.org>
32541
32542         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
32543         GNU CoreUtils.
32544         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
32545         * modules/version-etc (Description): Update.
32546
32547 2009-01-22  Bruno Haible  <bruno@clisp.org>
32548
32549         Cache the C locale object.
32550         * lib/c-strtod.c (c_locale_cache): New variable.
32551         (c_locale): New function.
32552         (C_STRTOD): Use it, and don't call freelocale.
32553         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
32554         Suggested by Paolo Bonzini.
32555
32556 2009-01-21  Bruno Haible  <bruno@clisp.org>
32557
32558         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
32559         conditions other than overflow.
32560
32561 2009-01-21  Bruno Haible  <bruno@clisp.org>
32562
32563         * lib/c-strtod.c: Include errno.h.
32564         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
32565         value from STRTOD_L and STRTOD.
32566
32567 2009-01-21  Bruno Haible  <bruno@clisp.org>
32568         and Jim Meyering  <meyering@redhat.com>
32569
32570         nanosleep: skip configure test (fail it) for apple universal builds
32571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
32572         universal builds, assume that nanosleep does not work.
32573         * modules/nanosleep (Depends-on): Add multiarch.
32574
32575         mktime: skip configure test (fail it) for apple universal builds
32576         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
32577         universal builds, assume that mktime does not work.
32578         * modules/mktime (Depends-on): Add multiarch.
32579
32580 2009-01-21  Eric Blake  <ebb9@byu.net>
32581
32582         multiarch: avoid expand-before-require warning
32583         * modules/multiarch (configure.ac): Require, rather than expand,
32584         gl_MULTIARCH.
32585         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
32586         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
32587         enforce that all clients require it.  Partial reversion of
32588         2008-12-29 patch.
32589
32590         error: avoid expand-before-require warning
32591         * modules/errno (configure.ac): Require, rather than expand,
32592         gl_HEADER_ERRNO_H.
32593         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
32594         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
32595         enforce that all clients require it.
32596
32597         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
32598         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
32599         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32600         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32601
32602 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32603
32604         Revert:
32605         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32606
32607         regex: do not depend on obsolete modules.
32608         * modules/regex: Remove memcmp and memmove.
32609
32610 2009-01-20  Bruno Haible  <bruno@clisp.org>
32611
32612         Make the 'link' module link on Windows NT 4.
32613         * lib/link.c (_WIN32_WINNT): Don't define.
32614         (CreateHardLinkFuncType): New type.
32615         (CreateHardLinkFunc, initialized): New variables.
32616         (initialize): New function.
32617         (link): Invoke CreateHardLink indirectly through the function pointer.
32618
32619 2009-01-20  Bruno Haible  <bruno@clisp.org>
32620
32621         Fix compilation failure on mingw.
32622         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32623
32624 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32625
32626         * doc/c-strtod.texi: Mention a couple of restrictions.
32627
32628 2009-01-20  Jim Meyering  <meyering@redhat.com>
32629
32630         gettimeofday: move more declarations out of functions
32631         * lib/gettimeofday.c: Move extern declarations of tzset and
32632         gmtime out of containing functions.  Prompted by Bruno Haible.
32633
32634 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32635
32636         regex: do not depend on obsolete modules.
32637         * modules/regex: Remove memcmp and memmove.
32638
32639 2009-01-19  Bruno Haible  <bruno@clisp.org>
32640
32641         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32642         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
32643         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32644         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
32645         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
32646
32647 2009-01-19  Bruno Haible  <bruno@clisp.org>
32648
32649         * tests/test-link.c: Include <errno.h>.
32650         (main): Exit with code 77 when a hard link cannot be created due to
32651         the file system.
32652         * tests/test-link.sh: Skip test when a hard link cannot be created due
32653         to the file system.
32654         Suggested by Eric Blake.
32655
32656 2009-01-19  Martin Lambers  <marlam@marlam.de>
32657
32658         * modules/link-tests: New file.
32659         * tests/test-link.sh: New file.
32660         * tests/test-link.c: New file.
32661
32662 2009-01-19  Eric Blake  <ebb9@byu.net>
32663
32664         doc: mention another function added in cygwin 1.7.0
32665         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
32666         Another new function in cygwin 1.7.
32667
32668 2009-01-19  Bruno Haible  <bruno@clisp.org>
32669
32670         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32671         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
32672         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
32673         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32674         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32675         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32676         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32677         * m4/md4.m4 (gl_MD4): Likewise.
32678         * m4/md5.m4 (gl_MD5): Likewise.
32679         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
32680         * m4/sha1.m4 (gl_SHA1): Likewise.
32681         * m4/sha256.m4 (gl_SHA256): Likewise.
32682         * m4/sha512.m4 (gl_SHA512): Likewise.
32683
32684 2009-01-19  Bruno Haible  <bruno@clisp.org>
32685
32686         * modules/uniname/uniname-tests (Depends-on): Add progname.
32687         * tests/uniname/test-uninames.c: Include progname.h.
32688         (main): Call set_program_name.
32689
32690         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
32691         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
32692         (main): Call set_program_name.
32693
32694         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
32695         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
32696         (main): Call set_program_name.
32697
32698         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
32699         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
32700         (main): Call set_program_name.
32701
32702         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
32703         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
32704         (main): Call set_program_name.
32705
32706         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
32707         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
32708         (main): Call set_program_name.
32709
32710         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
32711         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
32712         (main): Call set_program_name.
32713
32714         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
32715         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
32716         (main): Call set_program_name.
32717
32718         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
32719         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
32720         (main): Call set_program_name.
32721
32722 2009-01-19  Eric Blake  <ebb9@byu.net>
32723
32724         test-unistd: test previous patch
32725         * tests/test-unistd.c: Test *_FILENO macros.
32726
32727         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
32728         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32729         Guarantee a definition.
32730         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
32731         * modules/unistd-safer (Depends-on): Add dependency on unistd.
32732         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
32733         * lib/dup-safer.c (STDERR_FILENO): Likewise.
32734         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32735         Likewise.
32736         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
32737         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
32738         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32739         Likewise.
32740         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
32741         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
32742         (STDERR_FILENO): Likewise.
32743         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
32744         (STDERR_FILENO): Likewise.
32745         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
32746         (STDERR_FILENO): Likewise.
32747         Reported by Elbert Pol.
32748
32749 2009-01-19  Eric Blake  <ebb9@byu.net>
32750
32751         doc: mention more functions added in cygwin 1.7.0
32752         * doc/posix-functions/abort.texi (abort): Update wording related
32753         to cygwin.
32754         * doc/posix-functions/daylight.texi (daylight): Likewise.
32755         * doc/posix-functions/optarg.texi (optarg): Likewise.
32756         * doc/posix-functions/optarg.texi (opterr): Likewise.
32757         * doc/posix-functions/optarg.texi (optind): Likewise.
32758         * doc/posix-functions/optarg.texi (optopt): Likewise.
32759         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
32760         worked in 1.5.x, and was withdrawn in 1.7.
32761         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
32762         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
32763         cygwin versions.
32764         * doc/posix-functions/perror.texi (perror): Likewise.
32765         * doc/posix-functions/printf.texi (printf): Likewise.
32766         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
32767         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
32768         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32769         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
32770         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32771         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
32772         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32773         Likewise.
32774         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32775         Likewise.
32776         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
32777         this function.
32778         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
32779         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
32780         Likewise.
32781         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
32782         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
32783         * doc/posix-functions/confstr.texi (confstr): Likewise.
32784         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
32785         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
32786         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
32787         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
32788         * doc/posix-functions/fputws.texi (fputws): Likewise.
32789         * doc/posix-functions/fwide.texi (fwide): Likewise.
32790         * doc/posix-functions/getwc.texi (getwc): Likewise.
32791         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
32792         * doc/posix-functions/putwc.texi (putwc): Likewise.
32793         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
32794         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
32795         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
32796         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
32797         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
32798         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
32799         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
32800         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
32801         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
32802         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
32803         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
32804
32805 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32806
32807         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
32808         * lib/ioctl.c: Include <sys/ioctl.h>.
32809
32810 2009-01-19  Simon Josefsson  <simon@josefsson.org>
32811
32812         * modules/getdate-tests (Depends-on): Add progname.
32813         * tests/test-getdate.c: Use progname module, to avoid link errors
32814         on non-glibc systems.
32815
32816 2009-01-18  Simon Josefsson  <simon@josefsson.org>
32817
32818         * modules/filenamecat-tests (Depends-on): Add progname.
32819         * modules/fstrcmp-tests (Depends-on): Likewise.
32820
32821         * tests/test-filenamecat.c: Use progname module, to avoid link
32822         errors on non-glibc systems.
32823         * tests/test-fstrcmp.c: Likewise.
32824
32825 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32826
32827         gettimeofday: avoid warning: nested extern declaration of 'localtime'
32828         * lib/gettimeofday.c: Move extern declaration out of function.
32829
32830 2009-01-18  Bruno Haible  <bruno@clisp.org>
32831
32832         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
32833         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
32834         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
32835
32836 2009-01-18  Bruno Haible  <bruno@clisp.org>
32837
32838         * lib/strftime.c (MEMPCPY): Remove unused macro.
32839         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
32840
32841 2009-01-18  Martin Lambers  <marlam@marlam.de>
32842
32843         New module 'link'.
32844         * lib/unistd.in.h (link): New declaration.
32845         * lib/link.c: New file.
32846         * m4/link.m4: New file.
32847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
32848         HAVE_LINK.
32849         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
32850         * modules/link: New file.
32851         * doc/posix-functions/link.texi: Mention the new module.
32852
32853 2009-01-18  Bruno Haible  <bruno@clisp.org>
32854
32855         * tests/test-avltree_list.c (main): Call set_program_name.
32856         * tests/test-avltree_oset.c (main): Likewise.
32857         * tests/test-obstack-printf.c: Include progname.h.
32858         (main): Call set_program_name.
32859         * tests/test-quotearg.c: Include progname.h.
32860         (main): Call set_program_name.
32861         * tests/test-xmemdup0.c: Include progname.h.
32862         (main): Call set_program_name.
32863
32864 2009-01-18  Bruno Haible  <bruno@clisp.org>
32865
32866         New module 'alphasort'.
32867         * lib/dirent.in.h (alphasort): New declaration.
32868         * lib/alphasort.c: New file, from glibc with modifications.
32869         * m4/alphasort.m4: New file.
32870         * modules/alphasort: New file.
32871         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
32872         HAVE_ALPHASORT.
32873         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
32874         HAVE_ALPHASORT.
32875         * doc/posix-functions/alphasort.texi: Mention the new module and the
32876         portability problems.
32877
32878 2009-01-18  Bruno Haible  <bruno@clisp.org>
32879
32880         New module 'scandir'.
32881         * lib/dirent.in.h (scandir): New declaration.
32882         * lib/scandir.c: New file, from glibc with modifications.
32883         * m4/scandir.m4: New file.
32884         * modules/scandir: New file.
32885         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
32886         HAVE_SCANDIR.
32887         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
32888         HAVE_SCANDIR.
32889         * doc/posix-functions/scandir.texi: Mention the new module and the
32890         portability problems.
32891
32892 2009-01-17  Bruno Haible  <bruno@clisp.org>
32893
32894         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
32895         Update documentation.
32896         (func_remove_suffix): Escape all dots in the suffix. Update
32897         documentation.
32898         (func_filter_filelist): Update documentation.
32899         Reported by Ralf Wildenhues.
32900
32901 2009-01-17  Bruno Haible  <bruno@clisp.org>
32902
32903         * modules/dprintf-posix-tests: New file.
32904         * tests/test-dprintf-posix.sh: New file.
32905         * tests/test-dprintf-posix.c: New file.
32906
32907         New modules 'dprintf', 'dprintf-posix'.
32908         * lib/stdio.in.h (dprintf): New declaration.
32909         * lib/dprintf.c: New file.
32910         * m4/dprintf.m4: New file.
32911         * m4/dprintf-posix.m4: New file.
32912         * modules/dprintf: New file.
32913         * modules/dprintf-posix: New file.
32914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
32915         HAVE_DPRINTF, REPLACE_DPRINTF.
32916         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
32917         HAVE_DPRINTF, REPLACE_DPRINTF.
32918         * doc/posix-functions/dprintf.texi: Mention the new modules.
32919
32920 2009-01-17  Bruno Haible  <bruno@clisp.org>
32921
32922         * modules/vdprintf-posix-tests: New file.
32923         * tests/test-vdprintf-posix.sh: New file.
32924         * tests/test-vdprintf-posix.c: New file.
32925
32926         New modules 'vdprintf', 'vdprintf-posix'.
32927         * lib/stdio.in.h (vdprintf): New declaration.
32928         * lib/vdprintf.c: New file.
32929         * m4/vdprintf.m4: New file.
32930         * m4/vdprintf-posix.m4: New file.
32931         * modules/vdprintf: New file.
32932         * modules/vdprintf-posix: New file.
32933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
32934         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32935         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
32936         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32937         * doc/posix-functions/vdprintf.texi: Mention the new modules.
32938
32939 2009-01-17  Bruno Haible  <bruno@clisp.org>
32940
32941         Fix replacement of fopen on mingw.
32942         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
32943         mingw.
32944
32945 2009-01-17  Bruno Haible  <bruno@clisp.org>
32946
32947         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
32948         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
32949
32950 2009-01-17  Bruno Haible  <bruno@clisp.org>
32951
32952         Avoid test-fflush2.sh failure on mingw.
32953         * tests/test-fflush2.c: Include binary-io.h.
32954         (main): Put standard input into binary mode.
32955         * modules/fflush-tests (Depends-on): Add binary-io.
32956
32957 2009-01-17  Bruno Haible  <bruno@clisp.org>
32958
32959         * lib/wchar.in.h: In another particular situation, include only the
32960         system's <wchar.h> file.
32961         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
32962         Reported by Albert Chin-A-Young <china@thewrittenword.com>
32963         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
32964
32965 2009-01-17  Bruno Haible  <bruno@clisp.org>
32966
32967         Support for stripping executables in --enable-relocatable.
32968         * build-aux/install-reloc: Expect one more argument, or an environment
32969         variable RELOC_STRIP_PROG. If set, strip the destination program and
32970         its wrapper.
32971         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
32972         RELOC_STRIP_PROG.
32973         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
32974         to set RELOCATABLE_STRIP.
32975         * NEWS: Mention the new Makefile requirement.
32976
32977 2009-01-17  Bruno Haible  <bruno@clisp.org>
32978
32979         * build-aux/install-reloc: Remove debugging information left over by
32980         C compiler on MacOS X.
32981
32982 2009-01-17  Bruno Haible  <bruno@clisp.org>
32983
32984         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
32985         * lib/progreloc.c (find_executable): Fix type of pointer passed to
32986         _NSGetExecutablePath.
32987
32988 2009-01-16  Jim Meyering  <meyering@redhat.com>
32989
32990         strerror: avoid warnings about discarding "const"
32991         * lib/strerror.c (rpl_strerror): Instead of returning a const
32992         string from each and every "case", use a variable, and add a single
32993         cast after the switch.
32994
32995 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
32996
32997         * lib/arpa_inet.in.h: Add extern "C" block for C++.
32998
32999 2009-01-16  Bruno Haible  <bruno@clisp.org>
33000
33001         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
33002         array initializer syntax that also works in C++ mode.
33003         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33004
33005 2009-01-16  Jim Meyering  <meyering@redhat.com>
33006
33007         poll: suppress a warning
33008         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
33009         to ignore "...unsigned expression < 0 is always false" warnings.
33010
33011 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
33012
33013         poll: remove declarations of unused variables
33014         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
33015         sockbuf and optlen.
33016
33017 2009-01-15  Bruno Haible  <bruno@clisp.org>
33018
33019         Make fflush-after-ungetc POSIX compliant on BSD systems.
33020         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
33021         (clear_ungetc_buffer): Implement also for other systems.
33022         (rpl_fflush): On glibc systems, invoke
33023         clear_ungetc_buffer_preserving_position. Otherwise, invoke
33024         clear_ungetc_buffer after fetching the stream's position, not before.
33025
33026 2009-01-15  Bruno Haible  <bruno@clisp.org>
33027
33028         Make fflush-after-ungetc POSIX compliant on glibc systems.
33029         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
33030         after ungetc.
33031         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
33032         (rpl_fflush): On glibc systems, simply call the system's fflush
33033         function after clearing the ungetc buffer.
33034         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
33035         Instead, lseek only to the end of file, then use the system's fseeko
33036         for the rest. On glibc systems, reset the EOF indicator bit.
33037
33038 2009-01-15  Jim Meyering  <meyering@redhat.com>
33039
33040         openmp.m4: revert quote-adding change, for portability to older autoconf
33041         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
33042         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
33043         Simon Josefsson noticed the problem when using autoconf-2.61.
33044
33045 2009-01-15  Bruno Haible  <bruno@clisp.org>
33046
33047         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
33048         * tests/test-fflush2.c (ASSERT): Always fail.
33049         (main): Add two tests for fflush() after ungetc(), taking into account
33050         the Austin Group's clarification.
33051         Suggested by Eric Blake.
33052
33053 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
33054
33055         mktime.m4: remove K&R-style function prototypes
33056         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
33057         for the Sun C++ compiler.
33058
33059 2009-01-14  Bruno Haible  <bruno@clisp.org>
33060
33061         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
33062         while including <wchar.h>.
33063         * lib/wchar.in.h: In two particular situations on HP-UX, include only
33064         the system's <wchar.h> file.
33065         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33066
33067 2009-01-14  Bruno Haible  <bruno@clisp.org>
33068
33069         * m4/csharp.m4: Don't mention gettext on the serial number line.
33070         * m4/csharpexec.m4: Likewise.
33071         * m4/eaccess.m4: Likewise.
33072         * m4/javaexec.m4: Likewise.
33073         * m4/sig_atomic_t.m4: Likewise.
33074         * m4/tmpdir.m4: Likewise.
33075         * m4/intldir.m4: Bump gettext version.
33076         * m4/lib-ld.m4: Likewise.
33077
33078 2009-01-14  Bruno Haible  <bruno@clisp.org>
33079
33080         * lib/progname.c (set_program_name): Add more comments.
33081         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33082
33083 2009-01-14  Simon Josefsson  <simon@josefsson.org>
33084
33085         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
33086         were sys/stat.h does not define it.
33087
33088 2009-01-14  Jim Meyering  <meyering@redhat.com>
33089
33090         many *.m4 files: improve m4 quoting
33091         99% of this change was performed by running the following commands:
33092         git ls-files | grep '\.m4$' | xargs perl -pi \
33093           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
33094           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33095           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33096           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
33097         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
33098         The remainder were to add Copyright dates, increment serial numbers,
33099         undo some changes in comments, exclude m4/intl.m4, and add quotes
33100         around the "1" in ",1" where the unusual spacing prohibited the
33101         above regexps from doing the job.  For more details, see
33102         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
33103         * m4/acl.m4: Modified.
33104         * m4/afs.m4: Likewise.
33105         * m4/alloca.m4: Likewise.
33106         * m4/argp.m4: Likewise.
33107         * m4/argz.m4: Likewise.
33108         * m4/atexit.m4: Likewise.
33109         * m4/bison-i18n.m4: Likewise.
33110         * m4/bison.m4: Likewise.
33111         * m4/byteswap.m4: Likewise.
33112         * m4/c-stack.m4: Likewise.
33113         * m4/c-strtod.m4: Likewise.
33114         * m4/calloc.m4: Likewise.
33115         * m4/canonicalize-lgpl.m4: Likewise.
33116         * m4/chown.m4: Likewise.
33117         * m4/clock_time.m4: Likewise.
33118         * m4/codeset.m4: Likewise.
33119         * m4/copy-file.m4: Likewise.
33120         * m4/csharp.m4: Likewise.
33121         * m4/csharpcomp.m4: Likewise.
33122         * m4/csharpexec.m4: Likewise.
33123         * m4/d-ino.m4: Likewise.
33124         * m4/d-type.m4: Likewise.
33125         * m4/dirfd.m4: Likewise.
33126         * m4/double-slash-root.m4: Likewise.
33127         * m4/eaccess.m4: Likewise.
33128         * m4/eealloc.m4: Likewise.
33129         * m4/environ.m4: Likewise.
33130         * m4/errno_h.m4: Likewise.
33131         * m4/euidaccess.m4: Likewise.
33132         * m4/execute.m4: Likewise.
33133         * m4/fatal-signal.m4: Likewise.
33134         * m4/fchdir.m4: Likewise.
33135         * m4/fcntl_h.m4: Likewise.
33136         * m4/fileblocks.m4: Likewise.
33137         * m4/filenamecat.m4: Likewise.
33138         * m4/findprog.m4: Likewise.
33139         * m4/flexmember.m4: Likewise.
33140         * m4/fnmatch.m4: Likewise.
33141         * m4/fopen.m4: Likewise.
33142         * m4/fpending.m4: Likewise.
33143         * m4/fprintf-posix.m4: Likewise.
33144         * m4/free.m4: Likewise.
33145         * m4/frexp.m4: Likewise.
33146         * m4/frexpl.m4: Likewise.
33147         * m4/fsusage.m4: Likewise.
33148         * m4/ftruncate.m4: Likewise.
33149         * m4/gc-camellia.m4: Likewise.
33150         * m4/gc-random.m4: Likewise.
33151         * m4/gc.m4: Likewise.
33152         * m4/getaddrinfo.m4: Likewise.
33153         * m4/getcwd-abort-bug.m4: Likewise.
33154         * m4/getcwd-path-max.m4: Likewise.
33155         * m4/getdate.m4: Likewise.
33156         * m4/getdomainname.m4: Likewise.
33157         * m4/getgroups.m4: Likewise.
33158         * m4/gethostname.m4: Likewise.
33159         * m4/gethrxtime.m4: Likewise.
33160         * m4/getline.m4: Likewise.
33161         * m4/getloadavg.m4: Likewise.
33162         * m4/getndelim2.m4: Likewise.
33163         * m4/getpass.m4: Likewise.
33164         * m4/gettext.m4: Likewise.
33165         * m4/gettime.m4: Likewise.
33166         * m4/gettimeofday.m4: Likewise.
33167         * m4/gnulib-common.m4: Likewise.
33168         * m4/group-member.m4: Likewise.
33169         * m4/host-os.m4: Likewise.
33170         * m4/iconv.m4: Likewise.
33171         * m4/iconv_open.m4: Likewise.
33172         * m4/inet_ntop.m4: Likewise.
33173         * m4/inet_pton.m4: Likewise.
33174         * m4/inline.m4: Likewise.
33175         * m4/intldir.m4: Likewise.
33176         * m4/intlmacosx.m4: Likewise.
33177         * m4/intmax.m4: Likewise.
33178         * m4/intmax_t.m4: Likewise.
33179         * m4/inttypes.m4: Likewise.
33180         * m4/inttypes_h.m4: Likewise.
33181         * m4/inttypes-pri.m4: Likewise.
33182         * m4/isapipe.m4: Likewise.
33183         * m4/isnand.m4: Likewise.
33184         * m4/isnanf.m4: Likewise.
33185         * m4/isnanl.m4: Likewise.
33186         * m4/javacomp.m4: Likewise.
33187         * m4/javaexec.m4: Likewise.
33188         * m4/jm-winsz1.m4: Likewise.
33189         * m4/jm-winsz2.m4: Likewise.
33190         * m4/lchown.m4: Likewise.
33191         * m4/lcmessage.m4: Likewise.
33192         * m4/ldexpl.m4: Likewise.
33193         * m4/lib-ld.m4: Likewise.
33194         * m4/lib-link.m4: Likewise.
33195         * m4/libsigsegv.m4: Likewise.
33196         * m4/link-follow.m4: Likewise.
33197         * m4/localcharset.m4: Likewise.
33198         * m4/locale-fr.m4: Likewise.
33199         * m4/locale-ja.m4: Likewise.
33200         * m4/locale-tr.m4: Likewise.
33201         * m4/locale-zh.m4: Likewise.
33202         * m4/lock.m4: Likewise.
33203         * m4/longlong.m4: Likewise.
33204         * m4/ls-mntd-fs.m4: Likewise.
33205         * m4/lstat.m4: Likewise.
33206         * m4/malloc.m4: Likewise.
33207         * m4/mathl.m4: Likewise.
33208         * m4/mbrtowc.m4: Likewise.
33209         * m4/mbstate_t.m4: Likewise.
33210         * m4/mbswidth.m4: Likewise.
33211         * m4/memchr.m4: Likewise.
33212         * m4/memcmp.m4: Likewise.
33213         * m4/memcpy.m4: Likewise.
33214         * m4/memmem.m4: Likewise.
33215         * m4/memmove.m4: Likewise.
33216         * m4/mempcpy.m4: Likewise.
33217         * m4/memrchr.m4: Likewise.
33218         * m4/memset.m4: Likewise.
33219         * m4/minmax.m4: Likewise.
33220         * m4/mkdir-slash.m4: Likewise.
33221         * m4/mkdtemp.m4: Likewise.
33222         * m4/mktime.m4: Likewise.
33223         * m4/mmap-anon.m4: Likewise.
33224         * m4/mountlist.m4: Likewise.
33225         * m4/nanosleep.m4: Likewise.
33226         * m4/nls.m4: Likewise.
33227         * m4/nocrash.m4: Likewise.
33228         * m4/open.m4: Likewise.
33229         * m4/openat.m4: Likewise.
33230         * m4/openmp.m4: Likewise.
33231         * m4/pathmax.m4: Likewise.
33232         * m4/perl.m4: Likewise.
33233         * m4/physmem.m4: Likewise.
33234         * m4/pipe.m4: Likewise.
33235         * m4/po.m4: Likewise.
33236         * m4/poll.m4: Likewise.
33237         * m4/posixtm.m4: Likewise.
33238         * m4/posixver.m4: Likewise.
33239         * m4/printf-frexp.m4: Likewise.
33240         * m4/printf-frexpl.m4: Likewise.
33241         * m4/printf-posix.m4: Likewise.
33242         * m4/printf-posix-rpl.m4: Likewise.
33243         * m4/printf.m4: Likewise.
33244         * m4/progtest.m4: Likewise.
33245         * m4/putenv.m4: Likewise.
33246         * m4/readline.m4: Likewise.
33247         * m4/readlink.m4: Likewise.
33248         * m4/readutmp.m4: Likewise.
33249         * m4/realloc.m4: Likewise.
33250         * m4/regex.m4: Likewise.
33251         * m4/relocatable.m4: Likewise.
33252         * m4/relocatable-lib.m4: Likewise.
33253         * m4/rename-dest-slash.m4: Likewise.
33254         * m4/rename.m4: Likewise.
33255         * m4/rmdir-errno.m4: Likewise.
33256         * m4/rmdir.m4: Likewise.
33257         * m4/roundf.m4: Likewise.
33258         * m4/roundl.m4: Likewise.
33259         * m4/rpmatch.m4: Likewise.
33260         * m4/save-cwd.m4: Likewise.
33261         * m4/selinux-selinux-h.m4: Likewise.
33262         * m4/setenv.m4: Likewise.
33263         * m4/settime.m4: Likewise.
33264         * m4/sig2str.m4: Likewise.
33265         * m4/sig_atomic_t.m4: Likewise.
33266         * m4/signalblocking.m4: Likewise.
33267         * m4/signbit.m4: Likewise.
33268         * m4/sigpipe.m4: Likewise.
33269         * m4/sockets.m4: Likewise.
33270         * m4/sockpfaf.m4: Likewise.
33271         * m4/st_dm_mode.m4: Likewise.
33272         * m4/stat-time.m4: Likewise.
33273         * m4/stdbool.m4: Likewise.
33274         * m4/stdint.m4: Likewise.
33275         * m4/stdint_h.m4: Likewise.
33276         * m4/stpcpy.m4: Likewise.
33277         * m4/stpncpy.m4: Likewise.
33278         * m4/strcase.m4: Likewise.
33279         * m4/strchrnul.m4: Likewise.
33280         * m4/strcspn.m4: Likewise.
33281         * m4/strdup.m4: Likewise.
33282         * m4/strftime.m4: Likewise.
33283         * m4/strndup.m4: Likewise.
33284         * m4/strnlen.m4: Likewise.
33285         * m4/strpbrk.m4: Likewise.
33286         * m4/strptime.m4: Likewise.
33287         * m4/strsep.m4: Likewise.
33288         * m4/strtod.m4: Likewise.
33289         * m4/strtoimax.m4: Likewise.
33290         * m4/strtok_r.m4: Likewise.
33291         * m4/strtol.m4: Likewise.
33292         * m4/strtoll.m4: Likewise.
33293         * m4/strtoul.m4: Likewise.
33294         * m4/strtoull.m4: Likewise.
33295         * m4/strtoumax.m4: Likewise.
33296         * m4/strverscmp.m4: Likewise.
33297         * m4/threadlib.m4: Likewise.
33298         * m4/timegm.m4: Likewise.
33299         * m4/tm_gmtoff.m4: Likewise.
33300         * m4/tmpdir.m4: Likewise.
33301         * m4/tmpfile.m4: Likewise.
33302         * m4/tzset.m4: Likewise.
33303         * m4/uintmax_t.m4: Likewise.
33304         * m4/unlinkdir.m4: Likewise.
33305         * m4/unlocked-io.m4: Likewise.
33306         * m4/uptime.m4: Likewise.
33307         * m4/userspec.m4: Likewise.
33308         * m4/utimbuf.m4: Likewise.
33309         * m4/utime.m4: Likewise.
33310         * m4/utimes-null.m4: Likewise.
33311         * m4/utimes.m4: Likewise.
33312         * m4/vararrays.m4: Likewise.
33313         * m4/vasnprintf.m4: Likewise.
33314         * m4/vfprintf-posix.m4: Likewise.
33315         * m4/vprintf-posix.m4: Likewise.
33316         * m4/wait-process.m4: Likewise.
33317         * m4/wchar_t.m4: Likewise.
33318         * m4/wint_t.m4: Likewise.
33319         * m4/write-any-file.m4: Likewise.
33320         * m4/yield.m4: Likewise.
33321
33322 2009-01-13  Bruno Haible  <bruno@clisp.org>
33323
33324         Avoid test-copy-file.sh failures when ACL support insufficient.
33325         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
33326         TESTS_ENVIRONMENT.
33327         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
33328         Reported by Jim Meyering.
33329
33330 2009-01-13  Bruno Haible  <bruno@clisp.org>
33331
33332         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
33333         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
33334         * modules/unistdio/u8-printf-parse (Files): Likewise.
33335         * modules/unistdio/u32-printf-parse (Files): Likewise.
33336         * modules/unistdio/ulc-printf-parse (Files): Likewise.
33337
33338 2009-01-13  Simon Josefsson  <simon@josefsson.org>
33339
33340         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
33341         and m4/inttypes_h.m4 too.
33342
33343 2009-01-12  Eric Blake  <ebb9@byu.net>
33344
33345         tests: IRIX 6.2 cc can't compile -0.0 into .data
33346         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
33347         rather than at compile-time.
33348         * tests/test-floorl.c (minus_zero): Likewise.
33349         * tests/test-frexpl.c (minus_zero): Likewise.
33350         * tests/test-isnan.c (minus_zerol): Likewise.
33351         * tests/test-isnanl.h (minus_zero): Likewise.
33352         * tests/test-ldexpl.c (minus_zero): Likewise.
33353         * tests/test-roundl.c (minus_zero): Likewise.
33354         * tests/test-signbit.c (minus_zerol): Likewise.
33355         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33356         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33357         * tests/test-truncl.c (minus_zero): Likewise.
33358         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33359         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33360         Reported by Tom G. Christensen and Nelson H. F. Beebe.
33361
33362 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33363
33364         regex: fix glibc bug 9697
33365         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
33366         handling.
33367
33368 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33369
33370         regex: fix glibc bug 697
33371         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
33372         being NULL also if there are no backreferences.
33373
33374 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33375
33376         regex: merge glibc changes
33377         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
33378         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
33379         re_string_skip_chars, re_string_reconstruct): Likewise.
33380         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
33381
33382 2009-01-07  Jim Meyering  <meyering@redhat.com>
33383
33384         poll: filter through cppi
33385         * lib/poll.c: Indent cpp directives to reflect nesting.
33386
33387 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
33388
33389         poll: don't return uninitialized
33390         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
33391
33392 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
33393
33394         avoid compile failure on AIX 6.1
33395         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
33396         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
33397
33398 2009-01-04  Jim Meyering  <meyering@redhat.com>
33399
33400         remove duplicate inclusion of <stdio.h>
33401         * tests/test-fprintf-posix.c: Likewise.
33402         * tests/test-printf-posix.c: Likewise.
33403         * tests/test-snprintf-posix.c: Likewise.
33404         * tests/test-sprintf-posix.c: Likewise.
33405         * tests/test-vasprintf-posix.c: Likewise.
33406         * tests/test-vfprintf-posix.c: Likewise.
33407         * tests/test-vprintf-posix.c: Likewise.
33408         * tests/test-vsnprintf-posix.c: Likewise.
33409         * tests/test-vsprintf-posix.c: Likewise.
33410
33411 2009-01-03  Jim Meyering  <meyering@redhat.com>
33412
33413         gnulib-tool: fix sed-based filtering
33414         * gnulib-tool (func_filter_filelist): Remove extra backslash
33415         in sed_fff_filter definition.
33416
33417 2009-01-02  Jim Meyering  <meyering@redhat.com>
33418
33419         strftime: avoid compilation failure on Solaris 2.6
33420         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
33421         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
33422         Don't #define mbrlen or mbsinit, since now they're guaranteed to
33423         be available.  Reported by Tom G. Christensen.  Details in
33424         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
33425
33426 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33427             Bruno Haible  <bruno@clisp.org>
33428
33429         Speed up gnulib-tool by doing more string processing through shell
33430         built-ins.
33431         * gnulib-tool (fast_func_append): New variable.
33432         (func_remove_prefix, func_remove_suffix): New functions.
33433         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
33434         (func_filter_filelist): New function.
33435         (func_get_dependencies): Use func_remove_suffix instead of sed.
33436         (func_get_automake_snippet): Use func_filter_filelist instead of a
33437         subshell and sed invocation.
33438
33439 2009-01-01  Bruno Haible  <bruno@clisp.org>
33440
33441         Fix a security bug.
33442         * gnulib-tool (func_import, import, update): Don't allow the characters
33443         '"', '$', '`', '\' in macro arguments that become part of commands that
33444         are evaluated.
33445
33446 2009-01-01  Bruno Haible  <bruno@clisp.org>
33447
33448         * gnulib-tool (func_reset_sigpipe): Add more comments.
33449
33450 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33451
33452         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
33453         func_emit_tests_Makefile_am, func_import): Abort loops early if we
33454         already know the answer.
33455
33456 2009-01-01  Jim Meyering  <meyering@redhat.com>
33457
33458         * lib/version-etc.c (version_etc_va): Update copyright year.
33459
33460 2008-12-30  Bruno Haible  <bruno@clisp.org>
33461
33462         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
33463         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
33464         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
33465
33466 2008-12-29  Eric Blake  <ebb9@byu.net>
33467
33468         multiarch: avoid autoconf AC_REQUIRE bug
33469         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
33470         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
33471         2.63 and older.
33472         Reported by Bruno Haible, and analyzed in
33473         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
33474
33475 2008-12-29  Bruno Haible  <bruno@clisp.org>
33476
33477         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
33478         files in subdirectories correctly.
33479         Reported by Ralf Wildenhues.
33480
33481 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33482
33483         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
33484         rather than 'join FILE -', for Solaris join.
33485
33486 2008-12-29  Bruno Haible  <bruno@clisp.org>
33487
33488         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
33489         quoting.
33490         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
33491         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
33492         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
33493         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
33494         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
33495         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
33496         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
33497         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
33498         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
33499         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
33500         * m4/nls.m4 (AM_NLS): Likewise.
33501         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
33502         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
33503         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
33504         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
33505         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
33506         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
33507         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
33508         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
33509         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
33510         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
33511         * m4/xsize.m4 (gl_XSIZE): Likewise.
33512         Suggested by Jim Meyering.
33513
33514 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33515
33516         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
33517         * lib/parse-duration.c: use a switch instead of cascading if's.
33518
33519 2008-12-29  Eric Blake  <ebb9@byu.net>
33520
33521         wchar.h: supply WEOF on Irix 5.3
33522         * lib/wchar.in.h (wint_t): Also supply WEOF.
33523         * lib/wctype.in.h (wint_t): Likewise.
33524         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
33525         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
33526         Reported by Tom G. Christensen.
33527
33528 2008-12-26  Bruno Haible  <bruno@clisp.org>
33529
33530         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
33531         i486, i586, i686.
33532
33533 2008-12-26  Bruno Haible  <bruno@clisp.org>
33534
33535         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
33536
33537 2008-12-26  Bruno Haible  <bruno@clisp.org>
33538
33539         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
33540         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
33541         not __STDC_CONSTANT_MACROS.
33542         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33543
33544 2008-12-25  Bruno Haible  <bruno@clisp.org>
33545
33546         Add support for universal builds to vasnprintf.
33547         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
33548         universal builds, guess no.
33549         * modules/vasnprintf-posix (Depends-on): Add multiarch.
33550         * modules/vasprintf-posix (Depends-on): Likewise.
33551         * modules/fprintf-posix (Depends-on): Likewise.
33552         * modules/vfprintf-posix (Depends-on): Likewise.
33553         * modules/snprintf-posix (Depends-on): Likewise.
33554         * modules/vsnprintf-posix (Depends-on): Likewise.
33555         * modules/sprintf-posix (Depends-on): Likewise.
33556         * modules/vsprintf-posix (Depends-on): Likewise.
33557         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33558         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33559         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33560         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33561         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33562         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33563         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33564
33565         Add support for universal builds to <inttypes.h>.
33566         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
33567         _SCNu64_PREFIX): In Apple
33568         universal builds, define directly, using _LP64.
33569         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
33570         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
33571         * modules/inttypes (Depends-on): Add multiarch.
33572         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33573
33574         Add support for universal builds to <stdint.h>.
33575         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
33576         universal builds, define directly, using _LP64.
33577         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
33578         Apple universal builds, don't test for the size and suffix of ptrdiff_t
33579         and size_t.
33580         * modules/stdint (Depends-on): Add multiarch.
33581         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33582
33583         New module 'multiarch'.
33584         * modules/multiarch: New file.
33585         * m4/multiarch.m4: New file.
33586
33587 2008-12-25  Bruno Haible  <bruno@clisp.org>
33588
33589         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
33590
33591 2008-12-25  Bruno Haible  <bruno@clisp.org>
33592
33593         * modules/btowc (License): Relicense under LGPLv2+.
33594         * modules/mbsinit (License): Likewise.
33595         * modules/mbrtowc (License): Likewise.
33596         * modules/wcrtomb (License): Likewise.
33597         * modules/streq (License): Likewise.
33598         Reported by David Lutterkort <lutter@redhat.com>.
33599
33600 2008-12-23  Bruno Haible  <bruno@clisp.org>
33601
33602         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33603
33604 2008-12-23  Bruno Haible  <bruno@clisp.org>
33605
33606         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33608         GETADDRINFO_LIB, not in LIBS.
33609         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33610         * modules/canon-host (Link): Likewise.
33611         * NEWS: Mention the change.
33612         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33613         GETADDRINFO_LIB.
33614
33615 2008-12-22  Bruno Haible  <bruno@clisp.org>
33616
33617         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33618         * doc/posix-functions/iswalpha_l.texi: Likewise.
33619         * doc/posix-functions/iswblank_l.texi: Likewise.
33620         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33621         * doc/posix-functions/iswctype_l.texi: Likewise.
33622         * doc/posix-functions/iswdigit_l.texi: Likewise.
33623         * doc/posix-functions/iswgraph_l.texi: Likewise.
33624         * doc/posix-functions/iswlower_l.texi: Likewise.
33625         * doc/posix-functions/iswprint_l.texi: Likewise.
33626         * doc/posix-functions/iswpunct_l.texi: Likewise.
33627         * doc/posix-functions/iswspace_l.texi: Likewise.
33628         * doc/posix-functions/iswupper_l.texi: Likewise.
33629         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33630         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
33631         * doc/posix-functions/open_wmemstream.texi: Likewise.
33632         * doc/posix-functions/swscanf.texi: Likewise.
33633         * doc/posix-functions/towctrans_l.texi: Likewise.
33634         * doc/posix-functions/towlower.texi: Likewise.
33635         * doc/posix-functions/towlower_l.texi: Likewise.
33636         * doc/posix-functions/towupper.texi: Likewise.
33637         * doc/posix-functions/towupper_l.texi: Likewise.
33638         * doc/posix-functions/vfwprintf.texi: Likewise.
33639         * doc/posix-functions/vfwscanf.texi: Likewise.
33640         * doc/posix-functions/vswscanf.texi: Likewise.
33641         * doc/posix-functions/vwprintf.texi: Likewise.
33642         * doc/posix-functions/vwscanf.texi: Likewise.
33643         * doc/posix-functions/wcpcpy.texi: Likewise.
33644         * doc/posix-functions/wcpncpy.texi: Likewise.
33645         * doc/posix-functions/wcscasecmp.texi: Likewise.
33646         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
33647         * doc/posix-functions/wcscoll_l.texi: Likewise.
33648         * doc/posix-functions/wcsdup.texi: Likewise.
33649         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33650         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
33651         * doc/posix-functions/wcsnlen.texi: Likewise.
33652         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33653         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33654         * doc/posix-functions/wctrans_l.texi: Likewise.
33655         * doc/posix-functions/wctype_l.texi: Likewise.
33656         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
33657         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
33658         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
33659         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
33660         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
33661         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
33662         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
33663         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
33664         * doc/glibc-functions/wcschrnul.texi: Likewise.
33665         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33666         * doc/glibc-functions/wcstod_l.texi: Likewise.
33667         * doc/glibc-functions/wcstof_l.texi: Likewise.
33668         * doc/glibc-functions/wcstol_l.texi: Likewise.
33669         * doc/glibc-functions/wcstold_l.texi: Likewise.
33670         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33671         * doc/glibc-functions/wcstoq.texi: Likewise.
33672         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33673         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33674         * doc/glibc-functions/wcstouq.texi: Likewise.
33675         * doc/glibc-functions/wmempcpy.texi: Likewise.
33676
33677 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
33678             Eric Blake  <ebb9@byu.net>
33679             Paolo Bonzini  <bonzini@gnu.org>
33680             Bruno Haible  <bruno@clisp.org>
33681
33682         Make c-stack work on Haiku.
33683         * lib/c-stack.c (SA_ONSTACK): Define fallback.
33684         (c_stack_action): Use SA_ONSTACK flag.
33685
33686 2008-12-22  Bruno Haible  <bruno@clisp.org>
33687
33688         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
33689
33690 2008-12-22  Bruno Haible  <bruno@clisp.org>
33691
33692         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
33693         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
33694         being overridden.
33695         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
33696         New macros.
33697         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
33698         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
33699         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
33700         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
33701
33702 2008-12-22  Bruno Haible  <bruno@clisp.org>
33703
33704         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
33705         from test code.
33706
33707 2008-12-22  Eric Blake  <ebb9@byu.net>
33708
33709         Avoid gcc warnings on cygwin.
33710         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
33711         Avoid unused variable.
33712         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
33713         Likewise.
33714
33715 2008-12-22  Bruno Haible  <bruno@clisp.org>
33716
33717         Remove HAVE_MBRTOWC conditionals.
33718         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
33719         (mbscasecmp): Assume mbrtowc function.
33720         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
33721         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
33722         * lib/mbschr.c: Include mbuiter.h unconditionally.
33723         (mbschr): Assume mbrtowc function.
33724         * lib/mbscspn.c: Include mbuiter.h unconditionally.
33725         (mbscspn): Assume mbrtowc function.
33726         * lib/mbslen.c: Include mbuiter.h unconditionally.
33727         (mbslen): Assume mbrtowc function.
33728         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
33729         (mbsncasecmp): Assume mbrtowc function.
33730         * lib/mbsnlen.c: Include mbiter.h unconditionally.
33731         (mbsnlen): Assume mbrtowc function.
33732         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
33733         (mbspbrk): Assume mbrtowc function.
33734         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
33735         (mbspcasecmp): Assume mbrtowc function.
33736         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
33737         (mbsrchr): Assume mbrtowc function.
33738         * lib/mbssep.c: Include mbuiter.h unconditionally.
33739         (mbssep): Assume mbrtowc function.
33740         * lib/mbsspn.c: Include mbuiter.h unconditionally.
33741         (mbsspn): Assume mbrtowc function.
33742         * lib/mbsstr.c: Include mbuiter.h unconditionally.
33743         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
33744         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
33745         (mbstok_r): Assume mbrtowc function.
33746         * lib/propername.c: Include mbuiter.h unconditionally.
33747         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
33748         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
33749         (trim2): Assume mbrtowc function.
33750         * lib/mbswidth.c (mbsinit): Remove fallback definition.
33751         (mbsnwidth): Assume mbrtowc function.
33752         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
33753         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
33754         fallback definitions.
33755         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
33756
33757 2008-12-22  Bruno Haible  <bruno@clisp.org>
33758
33759         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
33760
33761 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
33762
33763         * modules/regex: Request emulations for the mb*/wc* functions we need.
33764         * m4/regex.m4: Don't look for those functions here.
33765         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
33766
33767 2008-12-22  Bruno Haible  <bruno@clisp.org>
33768
33769         * modules/fnmatch (Depends-on): Remove duplicated dependency.
33770
33771 2008-12-21  Bruno Haible  <bruno@clisp.org>
33772
33773         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
33774         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
33775         (Include): Remove conditionalization.
33776         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
33777         (Include): Remove conditionalization.
33778         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
33779         (Include): Remove conditionalization.
33780         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
33781         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33782         * NEWS: Mention the change.
33783         Reported by Alan Hourihane <alanh@fairlite.co.uk>
33784         via Sergey Poznyakoff <gray@gnu.org.ua>.
33785
33786 2008-12-21  Bruno Haible  <bruno@clisp.org>
33787
33788         * MODULES.html.sh (Extended multibyte and wide character utilities
33789         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
33790         wcrtomb, wcsrtombs.
33791         (Support for systems lacking POSIX:2008): Add accept, bind, close,
33792         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
33793         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
33794         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
33795
33796 2008-12-21  Bruno Haible  <bruno@clisp.org>
33797
33798         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
33799
33800 2008-12-21  Bruno Haible  <bruno@clisp.org>
33801
33802         * modules/wcsnrtombs-tests: New file.
33803         * tests/test-wcsnrtombs1.sh: New file.
33804         * tests/test-wcsnrtombs2.sh: New file.
33805         * tests/test-wcsnrtombs3.sh: New file.
33806         * tests/test-wcsnrtombs4.sh: New file.
33807         * tests/test-wcsnrtombs.c: New file.
33808
33809         New module 'wcsnrtombs'.
33810         * lib/wchar.in.h (wcsnrtombs): New declaration.
33811         * lib/wcsnrtombs.c: New file.
33812         * lib/wcsrtombs-state.c: New file.
33813         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
33814         (internal_state): Remove variable.
33815         * m4/wcsnrtombs.m4: New file.
33816         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
33817         compilation units.
33818         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
33819         HAVE_WCSNRTOMBS.
33820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
33821         HAVE_WCSNRTOMBS.
33822         * modules/wcsnrtombs: New file.
33823         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
33824         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
33825
33826 2008-12-21  Bruno Haible  <bruno@clisp.org>
33827
33828         * modules/wcsrtombs-tests: New file.
33829         * tests/test-wcsrtombs1.sh: New file.
33830         * tests/test-wcsrtombs2.sh: New file.
33831         * tests/test-wcsrtombs3.sh: New file.
33832         * tests/test-wcsrtombs4.sh: New file.
33833         * tests/test-wcsrtombs.c: New file.
33834
33835         New module 'wcsrtombs'.
33836         * lib/wchar.in.h (wcsrtombs): New declaration.
33837         * lib/wcsrtombs.c: New file.
33838         * m4/wcsrtombs.m4: New file.
33839         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
33840         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
33842         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33843         * modules/wcsrtombs: New file.
33844         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
33845         bugs.
33846
33847 2008-12-21  Bruno Haible  <bruno@clisp.org>
33848
33849         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
33850         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
33851         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
33852         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
33853         if not correct.
33854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
33855         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
33856         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33857         m4/locale-zh.m4, m4/codeset.m4.
33858         * doc/posix-functions/wcrtomb.texi: Document the bug.
33859
33860 2008-12-21  Bruno Haible  <bruno@clisp.org>
33861
33862         Work around a btowc() bug on IRIX 6.5.
33863         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
33864         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
33865         REPLACE_WTOBC if not.
33866         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
33867         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
33868         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
33869
33870 2008-12-21  Bruno Haible  <bruno@clisp.org>
33871
33872         * modules/wcrtomb-tests: New file.
33873         * tests/test-wcrtomb.sh: New file.
33874         * tests/test-wcrtomb.c: New file.
33875
33876         New module 'wcrtomb'.
33877         * lib/wchar.in.h (wcrtomb): New declaration.
33878         * lib/wcrtomb.c: New file.
33879         * m4/wcrtomb.m4: New file.
33880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
33881         HAVE_WCRTOMB.
33882         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
33883         HAVE_WCRTOMB.
33884         * modules/wcrtomb: New file.
33885         * doc/posix-functions/wcrtomb.texi: Mention the new module.
33886
33887 2008-12-21  Bruno Haible  <bruno@clisp.org>
33888
33889         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
33890         * modules/mbsrtowcs (Files): Likewise.
33891         * modules/wctob (Files): Likewise.
33892         * modules/c-strcase-tests (Files): Likewise.
33893         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33894         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33895         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33896         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33897         * modules/vasnprintf-posix-tests (Files): Likewise.
33898
33899 2008-12-21  William Pursell  <bill.pursell@gmail.com>
33900
33901         gitlog-to-changelog: pass all command-line arguments to git-log
33902         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
33903         it is sometimes convenient to filter the commits in various ways.
33904         gitlog-to-changelog only allows --since to specify a start date,
33905         but git-log itself supports many other filtering mechanisms.
33906         At the moment, I want to filter by branch name.  Rather than
33907         adding a --branch option to gitlog-to-changelog, it seems more
33908         flexible to simply pass all options directly to git-log and let
33909         git do the work.  Notice that this effectively makes --since a
33910         redundant option for gitlog-to-changelog, but removing it would
33911         require current usage to change since calls would then require
33912         an additional '--'.
33913
33914 2008-12-21  Bruno Haible  <bruno@clisp.org>
33915
33916         * modules/mbsnrtowcs-tests: New file.
33917         * tests/test-mbsnrtowcs1.sh: New file.
33918         * tests/test-mbsnrtowcs2.sh: New file.
33919         * tests/test-mbsnrtowcs3.sh: New file.
33920         * tests/test-mbsnrtowcs4.sh: New file.
33921         * tests/test-mbsnrtowcs.c: New file.
33922
33923         New module 'mbsnrtowcs'.
33924         * lib/wchar.in.h (mbsnrtowcs): New declaration.
33925         * lib/mbsnrtowcs.c: New file.
33926         * lib/mbsrtowcs-state.c: New file.
33927         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
33928         (internal_state): Remove variable.
33929         * m4/mbsnrtowcs.m4: New file.
33930         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
33931         compilation units.
33932         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
33933         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33934         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
33935         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33936         * modules/mbsnrtowcs: New file.
33937         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
33938         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
33939         portability problem.
33940
33941 2008-12-21  Bruno Haible  <bruno@clisp.org>
33942
33943         Work around mbsrtowcs bug.
33944         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
33945         (gl_FUNC_MBSRTOWCS): Invoke it.
33946         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33947         m4/locale-zh.m4.
33948         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
33949
33950 2008-12-21  Bruno Haible  <bruno@clisp.org>
33951
33952         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
33953
33954 2008-12-21  Bruno Haible  <bruno@clisp.org>
33955
33956         Update doc for AIX.
33957         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
33958         16-bit wchar_t type.
33959         * doc/posix-functions/btowc.texi: Likewise.
33960         * doc/posix-functions/fgetwc.texi: Likewise.
33961         * doc/posix-functions/fgetws.texi: Likewise.
33962         * doc/posix-functions/fputwc.texi: Likewise.
33963         * doc/posix-functions/fputws.texi: Likewise.
33964         * doc/posix-functions/fwide.texi: Likewise.
33965         * doc/posix-functions/fwprintf.texi: Likewise.
33966         * doc/posix-functions/fwscanf.texi: Likewise.
33967         * doc/posix-functions/getwchar.texi: Likewise.
33968         * doc/posix-functions/getwc.texi: Likewise.
33969         * doc/posix-functions/iswalnum.texi: Likewise.
33970         * doc/posix-functions/iswalpha.texi: Likewise.
33971         * doc/posix-functions/iswblank.texi: Likewise.
33972         * doc/posix-functions/iswcntrl.texi: Likewise.
33973         * doc/posix-functions/iswctype.texi: Likewise.
33974         * doc/posix-functions/iswdigit.texi: Likewise.
33975         * doc/posix-functions/iswgraph.texi: Likewise.
33976         * doc/posix-functions/iswlower.texi: Likewise.
33977         * doc/posix-functions/iswprint.texi: Likewise.
33978         * doc/posix-functions/iswpunct.texi: Likewise.
33979         * doc/posix-functions/iswspace.texi: Likewise.
33980         * doc/posix-functions/iswupper.texi: Likewise.
33981         * doc/posix-functions/iswxdigit.texi: Likewise.
33982         * doc/posix-functions/mbrtowc.texi: Likewise.
33983         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33984         * doc/posix-functions/mbstowcs.texi: Likewise.
33985         * doc/posix-functions/mbtowc.texi: Likewise.
33986         * doc/posix-functions/putwchar.texi: Likewise.
33987         * doc/posix-functions/putwc.texi: Likewise.
33988         * doc/posix-functions/swprintf.texi: Likewise.
33989         * doc/posix-functions/tolower.texi: Likewise.
33990         * doc/posix-functions/toupper.texi: Likewise.
33991         * doc/posix-functions/towctrans.texi: Likewise.
33992         * doc/posix-functions/ungetwc.texi: Likewise.
33993         * doc/posix-functions/vswprintf.texi: Likewise.
33994         * doc/posix-functions/wcrtomb.texi: Likewise.
33995         * doc/posix-functions/wcscat.texi: Likewise.
33996         * doc/posix-functions/wcschr.texi: Likewise.
33997         * doc/posix-functions/wcscmp.texi: Likewise.
33998         * doc/posix-functions/wcscoll.texi: Likewise.
33999         * doc/posix-functions/wcscpy.texi: Likewise.
34000         * doc/posix-functions/wcscspn.texi: Likewise.
34001         * doc/posix-functions/wcsftime.texi: Likewise.
34002         * doc/posix-functions/wcslen.texi: Likewise.
34003         * doc/posix-functions/wcsncat.texi: Likewise.
34004         * doc/posix-functions/wcsncmp.texi: Likewise.
34005         * doc/posix-functions/wcsncpy.texi: Likewise.
34006         * doc/posix-functions/wcspbrk.texi: Likewise.
34007         * doc/posix-functions/wcsrchr.texi: Likewise.
34008         * doc/posix-functions/wcsrtombs.texi: Likewise.
34009         * doc/posix-functions/wcsspn.texi: Likewise.
34010         * doc/posix-functions/wcsstr.texi: Likewise.
34011         * doc/posix-functions/wcstod.texi: Likewise.
34012         * doc/posix-functions/wcstof.texi: Likewise.
34013         * doc/posix-functions/wcstoimax.texi: Likewise.
34014         * doc/posix-functions/wcstok.texi: Likewise.
34015         * doc/posix-functions/wcstold.texi: Likewise.
34016         * doc/posix-functions/wcstoll.texi: Likewise.
34017         * doc/posix-functions/wcstol.texi: Likewise.
34018         * doc/posix-functions/wcstombs.texi: Likewise.
34019         * doc/posix-functions/wcstoull.texi: Likewise.
34020         * doc/posix-functions/wcstoul.texi: Likewise.
34021         * doc/posix-functions/wcstoumax.texi: Likewise.
34022         * doc/posix-functions/wcswidth.texi: Likewise.
34023         * doc/posix-functions/wcsxfrm.texi: Likewise.
34024         * doc/posix-functions/wctob.texi: Likewise.
34025         * doc/posix-functions/wctomb.texi: Likewise.
34026         * doc/posix-functions/wctrans.texi: Likewise.
34027         * doc/posix-functions/wctype.texi: Likewise.
34028         * doc/posix-functions/wcwidth.texi: Likewise.
34029         * doc/posix-functions/wmemchr.texi: Likewise.
34030         * doc/posix-functions/wmemcmp.texi: Likewise.
34031         * doc/posix-functions/wmemcpy.texi: Likewise.
34032         * doc/posix-functions/wmemmove.texi: Likewise.
34033         * doc/posix-functions/wmemset.texi: Likewise.
34034         * doc/posix-functions/wprintf.texi: Likewise.
34035         * doc/posix-functions/wscanf.texi: Likewise.
34036
34037 2008-12-21  Bruno Haible  <bruno@clisp.org>
34038
34039         Update doc for HP-UX 11.11.
34040         * doc/posix-functions/btowc.texi: Clarify that the function is missing
34041         in HP-UX version 11.00, not in all versions of HP-UX 11.
34042         * doc/posix-functions/fwide.texi: Likewise.
34043         * doc/posix-functions/fwprintf.texi: Likewise.
34044         * doc/posix-functions/fwscanf.texi: Likewise.
34045         * doc/posix-functions/inet_ntop.texi: Likewise.
34046         * doc/posix-functions/inet_pton.texi: Likewise.
34047         * doc/posix-functions/mbrlen.texi: Likewise.
34048         * doc/posix-functions/mbrtowc.texi: Likewise.
34049         * doc/posix-functions/mbsinit.texi: Likewise.
34050         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34051         * doc/posix-functions/swprintf.texi: Likewise.
34052         * doc/posix-functions/swscanf.texi: Likewise.
34053         * doc/posix-functions/towctrans.texi: Likewise.
34054         * doc/posix-functions/vfwprintf.texi: Likewise.
34055         * doc/posix-functions/vswprintf.texi: Likewise.
34056         * doc/posix-functions/vwprintf.texi: Likewise.
34057         * doc/posix-functions/wcrtomb.texi: Likewise.
34058         * doc/posix-functions/wcsrtombs.texi: Likewise.
34059         * doc/posix-functions/wcsstr.texi: Likewise.
34060         * doc/posix-functions/wctob.texi: Likewise.
34061         * doc/posix-functions/wctrans.texi: Likewise.
34062         * doc/posix-functions/wmemchr.texi: Likewise.
34063         * doc/posix-functions/wmemcmp.texi: Likewise.
34064         * doc/posix-functions/wmemcpy.texi: Likewise.
34065         * doc/posix-functions/wmemmove.texi: Likewise.
34066         * doc/posix-functions/wmemset.texi: Likewise.
34067         * doc/posix-functions/wprintf.texi: Likewise.
34068         * doc/posix-functions/wscanf.texi: Likewise.
34069
34070 2008-12-21  Bruno Haible  <bruno@clisp.org>
34071
34072         Work around a portability problem.
34073         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
34074         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
34075
34076 2008-12-20  Bruno Haible  <bruno@clisp.org>
34077
34078         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
34079         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
34080         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
34081         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
34082         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
34083
34084         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
34085         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
34086         set.
34087         (GNULIB_defined_mbstate_t): New macro.
34088         (mbsinit): Redefine if REPLACE_MBSINIT is set.
34089         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
34090         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
34091         reuses the system's mbrtowc function but works around the bugs.
34092         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
34093         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
34094         macros.
34095         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
34096         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
34097         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
34098         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
34099         REPLACE_MBSINIT if mbsinit needs to be overridden.
34100         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
34101         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34102         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
34103         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34104         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34105         m4/locale-zh.m4.
34106         (Depends): Add mbsinit.
34107         * modules/mbsinit (Depends): Add mbrtowc.
34108         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
34109
34110 2008-12-20  Bruno Haible  <bruno@clisp.org>
34111
34112         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
34113         so that there are no conversion errors on AIX.
34114         * tests/test-mbsrtowcs.c (main): LIkewise.
34115
34116 2008-12-20  Bruno Haible  <bruno@clisp.org>
34117
34118         Work around wctob bug on Solaris <= 9.
34119         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
34120         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
34121         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
34122         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
34123         * modules/wctob (Files): Add m4/locale-fr.m4.
34124         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
34125
34126 2008-12-20  Bruno Haible  <bruno@clisp.org>
34127
34128         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
34129         /dev/null.
34130         * tests/test-select-in.sh: Likewise.
34131         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34132
34133 2008-12-20  Bruno Haible  <bruno@clisp.org>
34134
34135         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
34136         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
34137         Cygwin 1.5.x.
34138
34139 2008-12-20  Bruno Haible  <bruno@clisp.org>
34140
34141         Ensure mbstate_t is defined on HP-UX 11.11.
34142         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
34143         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
34144         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
34145         AC_USE_SYSTEM_EXTENSIONS.
34146         * modules/fnmatch (Depends-on): Add extensions.
34147         * modules/mbrlen (Depends-on): Likewise.
34148         * modules/mbrtowc (Depends-on): Likewise.
34149         * modules/mbsinit (Depends-on): Likewise.
34150         * modules/mbsrtowcs (Depends-on): Likewise.
34151         * modules/mbswidth (Depends-on): Likewise.
34152         * modules/quotearg (Depends-on): Likewise.
34153         * modules/strftime (Depends-on): Likewise.
34154
34155 2008-12-20  Bruno Haible  <bruno@clisp.org>
34156
34157         Ensure wctob is declared on IRIX 6.5.
34158         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
34159         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
34160         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
34161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
34162         of HAVE_WCTOB.
34163         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
34164         HAVE_WCTOB.
34165         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
34166
34167 2008-12-19  Bruno Haible  <bruno@clisp.org>
34168
34169         * modules/mbsrtowcs-tests: New file.
34170         * tests/test-mbsrtowcs1.sh: New file.
34171         * tests/test-mbsrtowcs2.sh: New file.
34172         * tests/test-mbsrtowcs3.sh: New file.
34173         * tests/test-mbsrtowcs4.sh: New file.
34174         * tests/test-mbsrtowcs.c: New file.
34175
34176         New module 'mbsrtowcs'.
34177         * lib/wchar.in.h (mbsrtowcs): New declaration.
34178         * lib/mbsrtowcs.c: New file.
34179         * m4/mbsrtowcs.m4: New file.
34180         * modules/mbsrtowcs: New file.
34181         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
34182         HAVE_MBSRTOWCS.
34183         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
34184         HAVE_MBSRTOWCS.
34185         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
34186
34187 2008-12-19  Bruno Haible  <bruno@clisp.org>
34188
34189         New module 'mbrlen'.
34190         * lib/wchar.in.h (mbrlen): New declaration.
34191         * lib/mbrlen.c: New file.
34192         * m4/mbrlen.m4: New file.
34193         * modules/mbrlen: New file.
34194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
34195         HAVE_MBRLEN.
34196         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
34197         HAVE_MBRLEN.
34198         * doc/posix-functions/mbrlen.texi: Document the new module.
34199
34200 2008-12-19  Bruno Haible  <bruno@clisp.org>
34201
34202         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
34203         * modules/mbrtowc (Depends-on): Add verify.
34204         Suggested by Paul Eggert.
34205
34206 2008-12-18  Bruno Haible  <bruno@clisp.org>
34207
34208         * modules/mbsinit-tests: New file.
34209         * tests/test-mbsinit.sh: New file.
34210         * tests/test-mbsinit.c: New file.
34211
34212 2008-12-18  Bruno Haible  <bruno@clisp.org>
34213
34214         * modules/mbrtowc-tests: New file.
34215         * tests/test-mbrtowc1.sh: New file.
34216         * tests/test-mbrtowc2.sh: New file.
34217         * tests/test-mbrtowc3.sh: New file.
34218         * tests/test-mbrtowc4.sh: New file.
34219         * tests/test-mbrtowc.c: New file.
34220
34221         New module 'mbrtowc'.
34222         * lib/wchar.in.h (mbstate_t): Override when the system does not have
34223         mbsinit and mbrtowc.
34224         (mbrtowc): New declaration.
34225         * lib/mbrtowc.c: New file.
34226         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
34227         * modules/mbrtowc: New file.
34228         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
34229         HAVE_MBRTOWC.
34230         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
34231         HAVE_MBRTOWC.
34232         * doc/posix-functions/mbrtowc.texi: Document the new module.
34233
34234 2008-12-18  Bruno Haible  <bruno@clisp.org>
34235
34236         New module 'wctob'.
34237         * lib/wchar.in.h (wctob): New declaration.
34238         * lib/wctob.c: New file.
34239         * m4/wctob.m4: New file.
34240         * modules/wctob: New file.
34241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
34242         HAVE_WCTOB.
34243         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
34244         * doc/posix-functions/wctob.texi: Document the new module.
34245
34246 2008-12-18  Bruno Haible  <bruno@clisp.org>
34247
34248         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
34249         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
34250
34251 2008-12-18  Simon Josefsson  <simon@josefsson.org>
34252
34253         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
34254         G. Christensen" <tgc@jupiterrise.com>.
34255
34256         * lib/flock.c: Need to include errno.h.  Reported by "Tom
34257         G. Christensen" <tgc@jupiterrise.com>.
34258
34259         * lib/flock.c: Need to include string.h.  Reported by "Tom
34260         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
34261         <ebb9@byu.net>.
34262
34263 2008-12-18  Bruno Haible  <bruno@clisp.org>
34264
34265         * m4/locale-ja.m4: New file, from GNU gettext.
34266
34267 2008-12-17  Bruno Haible  <bruno@clisp.org>
34268
34269         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
34270         Suggested by Eric Blake.
34271
34272 2008-12-17  Bruno Haible  <bruno@clisp.org>
34273
34274         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
34275
34276 2008-12-17  Bruno Haible  <bruno@clisp.org>
34277
34278         * lib/mbsinit.c: Include verify.h. Verify an assumption.
34279         * modules/mbsinit (Depends-on): Add verify.
34280         Suggested by Paul Eggert.
34281
34282 2008-12-17  Bruno Haible  <bruno@clisp.org>
34283
34284         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
34285         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
34286         gl_FUNC_MBRTOWC.
34287         * m4/mbiter.m4 (gl_MBITER): LIkewise.
34288         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
34289         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
34290         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
34291         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
34292         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
34293         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
34294         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
34295         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
34296         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
34297         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
34298         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
34299         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
34300         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
34301         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
34302         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34303         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
34304         * modules/trim (configure.ac): Likewise.
34305
34306 2008-12-17  Bruno Haible  <bruno@clisp.org>
34307
34308         * modules/btowc-tests: New file.
34309         * tests/test-btowc1.sh: New file.
34310         * tests/test-btowc2.sh: New file.
34311         * tests/test-btowc.c: New file.
34312
34313         New module 'btowc'.
34314         * lib/wchar.in.h (btowc): New declaration.
34315         * lib/btowc.c: New file.
34316         * m4/btowc.m4: New file.
34317         * modules/btowc: New file.
34318         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
34319         HAVE_BTOWC.
34320         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
34321         * doc/posix-functions/btowc.texi: Document the new module.
34322
34323 2008-12-17  Bruno Haible  <bruno@clisp.org>
34324
34325         New module 'mbsinit'.
34326         * lib/wchar.in.h (mbsinit): New declaration.
34327         * lib/mbsinit.c: New file.
34328         * m4/mbsinit.m4: New file.
34329         * modules/mbsinit: New file.
34330         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
34331         HAVE_MBSINIT.
34332         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
34333         HAVE_MBSINIT.
34334         * doc/posix-functions/mbsinit.texi: Document the new module.
34335
34336 2008-12-16  Bruno Haible  <bruno@clisp.org>
34337
34338         * lib/unistd.in.h: Add comment.
34339         * tests/test-environ.c: Don't include <stdlib.h>.
34340
34341 2008-12-16  Bruno Haible  <bruno@clisp.org>
34342
34343         * lib/parse-duration.h (parse_duration): Document return value
34344         convention.
34345         * lib/parse-duration.c: Include specification header first. Add
34346         comments.
34347         (_): Remove macro.
34348         (parse_year_month_day, parse_hour_minute_second): Move side effects
34349         outside of strchr call.
34350         (parse_non_iso8601): Move side effects outside of isspace call.
34351         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
34352         call.
34353
34354 2008-12-16  Bruno Haible  <bruno@clisp.org>
34355
34356         * tests/test-parse-duration.sh: Produce no output when the test
34357         succeeds.
34358
34359 2008-12-16  Bruno Haible  <bruno@clisp.org>
34360
34361         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
34362         expressions.
34363
34364 2008-12-15  Bruno Haible  <bruno@clisp.org>
34365
34366         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
34367         * doc/glibc-functions/flistxattr.texi: Likewise.
34368         * doc/glibc-functions/fopencookie.texi: Likewise.
34369         * doc/glibc-functions/fremovexattr.texi: Likewise.
34370         * doc/glibc-functions/fsetxattr.texi: Likewise.
34371         * doc/glibc-functions/getxattr.texi: Likewise.
34372         * doc/glibc-functions/lgetxattr.texi: Likewise.
34373         * doc/glibc-functions/listxattr.texi: Likewise.
34374         * doc/glibc-functions/llistxattr.texi: Likewise.
34375         * doc/glibc-functions/lremovexattr.texi: Likewise.
34376         * doc/glibc-functions/lsetxattr.texi: Likewise.
34377         * doc/glibc-functions/removexattr.texi: Likewise.
34378         * doc/glibc-functions/setxattr.texi: Likewise.
34379         * doc/posix-functions/open_memstream.texi: Likewise.
34380
34381 2008-12-15  Eric Blake  <ebb9@byu.net>
34382
34383         Update doc for cygwin 1.7.
34384         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
34385         functions.
34386         * doc/posix-functions/fchmodat.texi: Likewise.
34387         * doc/posix-functions/fchownat.texi: Likewise.
34388         * doc/posix-functions/fdopendir.texi: Likewise.
34389         * doc/posix-functions/fmemopen.texi: Likewise.
34390         * doc/posix-functions/freeaddrinfo.texi: Likewise.
34391         * doc/posix-functions/fstatat.texi: Likewise.
34392         * doc/posix-functions/futimens.texi: Likewise.
34393         * doc/posix-functions/gai_strerror.texi: Likewise.
34394         * doc/posix-functions/getaddrinfo.texi: Likewise.
34395         * doc/posix-functions/getnameinfo.texi: Likewise.
34396         * doc/posix-functions/if_freenameindex.texi: Likewise.
34397         * doc/posix-functions/if_indextoname.texi: Likewise.
34398         * doc/posix-functions/if_nameindex.texi: Likewise.
34399         * doc/posix-functions/if_nametoindex.texi: Likewise.
34400         * doc/posix-functions/insque.texi: Likewise.
34401         * doc/posix-functions/linkat.texi: Likewise.
34402         * doc/posix-functions/llrint.texi: Likewise.
34403         * doc/posix-functions/llrintf.texi: Likewise.
34404         * doc/posix-functions/llrintl.texi: Likewise.
34405         * doc/posix-functions/lockf.texi: Likewise.
34406         * doc/posix-functions/lrintl.texi: Likewise.
34407         * doc/posix-functions/mkdirat.texi: Likewise.
34408         * doc/posix-functions/mkfifoat.texi: Likewise.
34409         * doc/posix-functions/mknodat.texi: Likewise.
34410         * doc/posix-functions/mq_close.texi: Likewise.
34411         * doc/posix-functions/mq_getattr.texi: Likewise.
34412         * doc/posix-functions/mq_notify.texi: Likewise.
34413         * doc/posix-functions/mq_open.texi: Likewise.
34414         * doc/posix-functions/mq_receive.texi: Likewise.
34415         * doc/posix-functions/mq_send.texi: Likewise.
34416         * doc/posix-functions/mq_setattr.texi: Likewise.
34417         * doc/posix-functions/mq_timedreceive.texi: Likewise.
34418         * doc/posix-functions/mq_timedsend.texi: Likewise.
34419         * doc/posix-functions/mq_unlink.texi: Likewise.
34420         * doc/posix-functions/open_memstream.texi: Likewise.
34421         * doc/posix-functions/openat.texi: Likewise.
34422         * doc/posix-functions/posix_fadvise.texi: Likewise.
34423         * doc/posix-functions/posix_fallocate.texi: Likewise.
34424         * doc/posix-functions/posix_madvise.texi: Likewise.
34425         * doc/posix-functions/posix_memalign.texi: Likewise.
34426         * doc/posix-functions/posix_openpt.texi: Likewise.
34427         * doc/posix-functions/readlinkat.texi: Likewise.
34428         * doc/posix-functions/remque.texi: Likewise.
34429         * doc/posix-functions/renameat.texi: Likewise.
34430         * doc/posix-functions/rintl.texi: Likewise.
34431         * doc/posix-functions/sem_unlink.texi: Likewise.
34432         * doc/posix-functions/shm_open.texi: Likewise.
34433         * doc/posix-functions/shm_unlink.texi: Likewise.
34434         * doc/posix-functions/signgam.texi: Likewise.
34435         * doc/posix-functions/sigset.texi: Likewise.
34436         * doc/posix-functions/stpcpy.texi: Likewise.
34437         * doc/posix-functions/stpncpy.texi: Likewise.
34438         * doc/posix-functions/strerror.texi: Likewise.
34439         * doc/posix-functions/strtod.texi: Likewise.
34440         * doc/posix-functions/symlinkat.texi: Likewise.
34441         * doc/posix-functions/unlinkat.texi: Likewise.
34442         * doc/posix-functions/utimensat.texi: Likewise.
34443         * doc/glibc-functions/bindresvport.texi: Likewise.
34444         * doc/glibc-functions/dn_expand.texi: Likewise.
34445         * doc/glibc-functions/exp10.texi: Likewise.
34446         * doc/glibc-functions/exp10f.texi: Likewise.
34447         * doc/glibc-functions/fgetxattr.texi: Likewise.
34448         * doc/glibc-functions/flistxattr.texi: Likewise.
34449         * doc/glibc-functions/fopencookie.texi: Likewise.
34450         * doc/glibc-functions/freeifaddrs.texi: Likewise.
34451         * doc/glibc-functions/fremovexattr.texi: Likewise.
34452         * doc/glibc-functions/fsetxattr.texi: Likewise.
34453         * doc/glibc-functions/getifaddrs.texi: Likewise.
34454         * doc/glibc-functions/getxattr.texi: Likewise.
34455         * doc/glibc-functions/lgetxattr.texi: Likewise.
34456         * doc/glibc-functions/listxattr.texi: Likewise.
34457         * doc/glibc-functions/llistxattr.texi: Likewise.
34458         * doc/glibc-functions/lremovexattr.texi: Likewise.
34459         * doc/glibc-functions/lsetxattr.texi: Likewise.
34460         * doc/glibc-functions/pow10.texi: Likewise.
34461         * doc/glibc-functions/pow10f.texi: Likewise.
34462         * doc/glibc-functions/rcmd_af.texi: Likewise.
34463         * doc/glibc-functions/removexattr.texi: Likewise.
34464         * doc/glibc-functions/res_init.texi: Likewise.
34465         * doc/glibc-functions/res_mkquery.texi: Likewise.
34466         * doc/glibc-functions/res_query.texi: Likewise.
34467         * doc/glibc-functions/res_querydomain.texi: Likewise.
34468         * doc/glibc-functions/res_send.texi: Likewise.
34469         * doc/glibc-functions/rresvport_af.texi: Likewise.
34470         * doc/glibc-functions/setxattr.texi: Likewise.
34471         * doc/glibc-functions/strcasestr.texi: Likewise.
34472
34473 2008-12-15  Bruno Haible  <bruno@clisp.org>
34474
34475         Fix compilation error on OSF/1 4.0.
34476         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
34477         <sys/time.h>, simply delegate to the system header.
34478         Reported by Daniel Richard G. <oss@teragram.com>.
34479
34480 2008-12-15  Bruno Haible  <bruno@clisp.org>
34481
34482         * doc/posix-functions/openat.texi: Mention the 'openat' module.
34483         * doc/posix-functions/fchmodat.texi: Likewise.
34484         * doc/posix-functions/fchownat.texi: Likewise.
34485         * doc/posix-functions/fdopendir.texi: Likewise.
34486         * doc/posix-functions/fstatat.texi: Likewise.
34487         * doc/posix-functions/mkdirat.texi: Likewise.
34488         * doc/posix-functions/unlinkat.texi: Likewise.
34489
34490 2008-12-14  Bruno Haible  <bruno@clisp.org>
34491
34492         Update doc for POSIX:2008.
34493         * doc/posix-functions/faccessat.texi: New file.
34494         * doc/posix-functions/fchmodat.texi: New file.
34495         * doc/posix-functions/fchownat.texi: New file.
34496         * doc/posix-functions/fdopendir.texi: New file.
34497         * doc/posix-functions/fstatat.texi: New file.
34498         * doc/posix-functions/futimens.texi: New file.
34499         * doc/posix-functions/linkat.texi: New file.
34500         * doc/posix-functions/mkdirat.texi: New file.
34501         * doc/posix-functions/mkfifoat.texi: New file.
34502         * doc/posix-functions/mknodat.texi: New file.
34503         * doc/posix-functions/open_wmemstream.texi: New file.
34504         * doc/posix-functions/openat.texi: New file.
34505         * doc/posix-functions/psiginfo.texi: New file.
34506         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
34507         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
34508         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
34509         * doc/posix-functions/readlinkat.texi: New file.
34510         * doc/posix-functions/renameat.texi: New file.
34511         * doc/posix-functions/strerror_l.texi: New file.
34512         * doc/posix-functions/symlinkat.texi: New file.
34513         * doc/posix-functions/unlinkat.texi: New file.
34514         * doc/posix-functions/utimensat.texi: New file.
34515         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34516
34517 2008-12-14  Bruno Haible  <bruno@clisp.org>
34518
34519         Update doc for POSIX:2008.
34520         * doc/posix-functions/alphasort.texi: Renamed from
34521         doc/glibc-functions/alphasort.texi.
34522         * doc/posix-functions/dirfd.texi: Renamed from
34523         doc/glibc-functions/dirfd.texi.
34524         * doc/posix-functions/dprintf.texi: Renamed from
34525         doc/glibc-functions/dprintf.texi.
34526         * doc/posix-functions/duplocale.texi: Renamed from
34527         doc/glibc-functions/duplocale.texi.
34528         * doc/posix-functions/fexecve.texi: Renamed from
34529         doc/glibc-functions/fexecve.texi.
34530         * doc/posix-functions/fmemopen.texi: Renamed from
34531         doc/glibc-functions/fmemopen.texi.
34532         * doc/posix-functions/freelocale.texi: Renamed from
34533         doc/glibc-functions/freelocale.texi.
34534         * doc/posix-functions/getdate_err.texi: Renamed from
34535         doc/glibc-functions/getdate_err.texi.
34536         * doc/posix-functions/isalnum_l.texi: Renamed from
34537         doc/glibc-functions/isalnum_l.texi.
34538         * doc/posix-functions/isalpha_l.texi: Renamed from
34539         doc/glibc-functions/isalpha_l.texi.
34540         * doc/posix-functions/isblank_l.texi: Renamed from
34541         doc/glibc-functions/isblank_l.texi.
34542         * doc/posix-functions/iscntrl_l.texi: Renamed from
34543         doc/glibc-functions/iscntrl_l.texi.
34544         * doc/posix-functions/isdigit_l.texi: Renamed from
34545         doc/glibc-functions/isdigit_l.texi.
34546         * doc/posix-functions/isgraph_l.texi: Renamed from
34547         doc/glibc-functions/isgraph_l.texi.
34548         * doc/posix-functions/islower_l.texi: Renamed from
34549         doc/glibc-functions/islower_l.texi.
34550         * doc/posix-functions/isprint_l.texi: Renamed from
34551         doc/glibc-functions/isprint_l.texi.
34552         * doc/posix-functions/ispunct_l.texi: Renamed from
34553         doc/glibc-functions/ispunct_l.texi.
34554         * doc/posix-functions/isspace_l.texi: Renamed from
34555         doc/glibc-functions/isspace_l.texi.
34556         * doc/posix-functions/isupper_l.texi: Renamed from
34557         doc/glibc-functions/isupper_l.texi.
34558         * doc/posix-functions/iswalnum_l.texi: Renamed from
34559         doc/glibc-functions/iswalnum_l.texi.
34560         * doc/posix-functions/iswalpha_l.texi: Renamed from
34561         doc/glibc-functions/iswalpha_l.texi.
34562         * doc/posix-functions/iswblank_l.texi: Renamed from
34563         doc/glibc-functions/iswblank_l.texi.
34564         * doc/posix-functions/iswcntrl_l.texi: Renamed from
34565         doc/glibc-functions/iswcntrl_l.texi.
34566         * doc/posix-functions/iswctype_l.texi: Renamed from
34567         doc/glibc-functions/iswctype_l.texi.
34568         * doc/posix-functions/iswdigit_l.texi: Renamed from
34569         doc/glibc-functions/iswdigit_l.texi.
34570         * doc/posix-functions/iswgraph_l.texi: Renamed from
34571         doc/glibc-functions/iswgraph_l.texi.
34572         * doc/posix-functions/iswlower_l.texi: Renamed from
34573         doc/glibc-functions/iswlower_l.texi.
34574         * doc/posix-functions/iswprint_l.texi: Renamed from
34575         doc/glibc-functions/iswprint_l.texi.
34576         * doc/posix-functions/iswpunct_l.texi: Renamed from
34577         doc/glibc-functions/iswpunct_l.texi.
34578         * doc/posix-functions/iswspace_l.texi: Renamed from
34579         doc/glibc-functions/iswspace_l.texi.
34580         * doc/posix-functions/iswupper_l.texi: Renamed from
34581         doc/glibc-functions/iswupper_l.texi.
34582         * doc/posix-functions/iswxdigit_l.texi: Renamed from
34583         doc/glibc-functions/iswxdigit_l.texi.
34584         * doc/posix-functions/isxdigit_l.texi: Renamed from
34585         doc/glibc-functions/isxdigit_l.texi.
34586         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
34587         doc/glibc-functions/mbsnrtowcs.texi.
34588         * doc/posix-functions/mkdtemp.texi: Renamed from
34589         doc/glibc-functions/mkdtemp.texi.
34590         * doc/posix-functions/newlocale.texi: Renamed from
34591         doc/glibc-functions/newlocale.texi.
34592         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
34593         doc/glibc-functions/nl_langinfo_l.texi.
34594         * doc/posix-functions/open_memstream.texi: Renamed from
34595         doc/glibc-functions/open_memstream.texi.
34596         * doc/posix-functions/opterr.texi: Renamed from
34597         doc/glibc-functions/opterr.texi.
34598         * doc/posix-functions/optind.texi: Renamed from
34599         doc/glibc-functions/optind.texi.
34600         * doc/posix-functions/optopt.texi: Renamed from
34601         doc/glibc-functions/optopt.texi.
34602         * doc/posix-functions/psignal.texi: Renamed from
34603         doc/glibc-functions/psignal.texi.
34604         * doc/posix-functions/scandir.texi: Renamed from
34605         doc/glibc-functions/scandir.texi.
34606         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34607         doc/glibc-functions/sched_get_priority_min.texi.
34608         * doc/posix-functions/signgam.texi: Renamed from
34609         doc/glibc-functions/signgam.texi.
34610         * doc/posix-functions/stpcpy.texi: Renamed from
34611         doc/glibc-functions/stpcpy.texi.
34612         * doc/posix-functions/stpncpy.texi: Renamed from
34613         doc/glibc-functions/stpncpy.texi.
34614         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34615         doc/glibc-functions/strcasecmp_l.texi.
34616         * doc/posix-functions/strcoll_l.texi: Renamed from
34617         doc/glibc-functions/strcoll_l.texi.
34618         * doc/posix-functions/strfmon_l.texi: Renamed from
34619         doc/glibc-functions/strfmon_l.texi.
34620         * doc/posix-functions/strftime_l.texi: Renamed from
34621         doc/glibc-functions/strftime_l.texi.
34622         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34623         doc/glibc-functions/strncasecmp_l.texi.
34624         * doc/posix-functions/strndup.texi: Renamed from
34625         doc/glibc-functions/strndup.texi.
34626         * doc/posix-functions/strnlen.texi: Renamed from
34627         doc/glibc-functions/strnlen.texi.
34628         * doc/posix-functions/strsignal.texi: Renamed from
34629         doc/glibc-functions/strsignal.texi.
34630         * doc/posix-functions/strxfrm_l.texi: Renamed from
34631         doc/glibc-functions/strxfrm_l.texi.
34632         * doc/posix-functions/timer_gettime.texi: Renamed from
34633         doc/glibc-functions/timer_gettime.texi.
34634         * doc/posix-functions/tolower_l.texi: Renamed from
34635         doc/glibc-functions/tolower_l.texi.
34636         * doc/posix-functions/toupper_l.texi: Renamed from
34637         doc/glibc-functions/toupper_l.texi.
34638         * doc/posix-functions/towctrans_l.texi: Renamed from
34639         doc/glibc-functions/towctrans_l.texi.
34640         * doc/posix-functions/towlower_l.texi: Renamed from
34641         doc/glibc-functions/towlower_l.texi.
34642         * doc/posix-functions/towupper_l.texi: Renamed from
34643         doc/glibc-functions/towupper_l.texi.
34644         * doc/posix-functions/uselocale.texi: Renamed from
34645         doc/glibc-functions/uselocale.texi.
34646         * doc/posix-functions/vdprintf.texi: Renamed from
34647         doc/glibc-functions/vdprintf.texi.
34648         * doc/posix-functions/wcpcpy.texi:
34649         Renamed from doc/glibc-functions/wcpcpy.texi.
34650         * doc/posix-functions/wcpncpy.texi: Renamed from
34651         doc/glibc-functions/wcpncpy.texi.
34652         * doc/posix-functions/wcscasecmp.texi: Renamed from
34653         doc/glibc-functions/wcscasecmp.texi.
34654         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
34655         doc/glibc-functions/wcscasecmp_l.texi.
34656         * doc/posix-functions/wcscoll_l.texi: Renamed from
34657         doc/glibc-functions/wcscoll_l.texi.
34658         * doc/posix-functions/wcsdup.texi: Renamed from
34659         doc/glibc-functions/wcsdup.texi.
34660         * doc/posix-functions/wcsncasecmp.texi: Renamed from
34661         doc/glibc-functions/wcsncasecmp.texi.
34662         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
34663         doc/glibc-functions/wcsncasecmp_l.texi.
34664         * doc/posix-functions/wcsnlen.texi: Renamed from
34665         doc/glibc-functions/wcsnlen.texi.
34666         * doc/posix-functions/wcsnrtombs.texi: Renamed from
34667         doc/glibc-functions/wcsnrtombs.texi.
34668         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
34669         doc/glibc-functions/wcsxfrm_l.texi.
34670         * doc/posix-functions/wctrans_l.texi: Renamed from
34671         doc/glibc-functions/wctrans_l.texi.
34672         * doc/posix-functions/wctype_l.texi: Renamed from
34673         doc/glibc-functions/wctype_l.texi.
34674         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34675         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
34676         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
34677         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
34678         these subsections.
34679         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
34680         Remove sections.
34681
34682 2008-12-14  Bruno Haible  <bruno@clisp.org>
34683
34684         Update doc for POSIX:2008.
34685         * doc/posix-functions/*.texi: Update URL of POSIX specification.
34686
34687 2008-12-14  Bruno Haible  <bruno@clisp.org>
34688
34689         Update doc for POSIX:2008.
34690         * doc/pastposix-functions/bcmp.texi: Renamed from
34691         doc/posix-functions/bcmp.texi.
34692         * doc/pastposix-functions/bcopy.texi: Renamed from
34693         doc/posix-functions/bcopy.texi.
34694         * doc/pastposix-functions/bsd_signal.texi: Renamed from
34695         doc/posix-functions/bsd_signal.texi.
34696         * doc/pastposix-functions/bzero.texi: Renamed from
34697         doc/posix-functions/bzero.texi.
34698         * doc/pastposix-functions/ecvt.texi: Renamed from
34699         doc/posix-functions/ecvt.texi.
34700         * doc/pastposix-functions/fcvt.texi: Renamed from
34701         doc/posix-functions/fcvt.texi.
34702         * doc/pastposix-functions/ftime.texi: Renamed from
34703         doc/posix-functions/ftime.texi.
34704         * doc/pastposix-functions/gcvt.texi: Renamed from
34705         doc/posix-functions/gcvt.texi.
34706         * doc/pastposix-functions/getcontext.texi: Renamed from
34707         doc/posix-functions/getcontext.texi.
34708         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
34709         doc/posix-functions/gethostbyaddr.texi.
34710         * doc/pastposix-functions/gethostbyname.texi: Renamed from
34711         doc/posix-functions/gethostbyname.texi.
34712         * doc/pastposix-functions/getwd.texi: Renamed from
34713         doc/posix-functions/getwd.texi.
34714         * doc/pastposix-functions/h_errno.texi: Renamed from
34715         doc/posix-functions/h_errno.texi.
34716         * doc/pastposix-functions/index.texi: Renamed from
34717         doc/posix-functions/index.texi.
34718         * doc/pastposix-functions/makecontext.texi: Renamed from
34719         doc/posix-functions/makecontext.texi.
34720         * doc/pastposix-functions/mktemp.texi: Renamed from
34721         doc/posix-functions/mktemp.texi.
34722         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
34723         doc/posix-functions/pthread_attr_getstackaddr.texi.
34724         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
34725         doc/posix-functions/pthread_attr_setstackaddr.texi.
34726         * doc/pastposix-functions/rindex.texi: Renamed from
34727         doc/posix-functions/rindex.texi.
34728         * doc/pastposix-functions/scalb.texi: Renamed from
34729         doc/posix-functions/scalb.texi.
34730         * doc/pastposix-functions/setcontext.texi: Renamed from
34731         doc/posix-functions/setcontext.texi.
34732         * doc/pastposix-functions/swapcontext.texi: Renamed from
34733         doc/posix-functions/swapcontext.texi.
34734         * doc/pastposix-functions/ualarm.texi: Renamed from
34735         doc/posix-functions/ualarm.texi.
34736         * doc/pastposix-functions/usleep.texi: Renamed from
34737         doc/posix-functions/usleep.texi.
34738         * doc/pastposix-functions/vfork.texi: Renamed from
34739         doc/posix-functions/vfork.texi.
34740         * doc/pastposix-functions/wcswcs.texi: Renamed from
34741         doc/posix-functions/wcswcs.texi.
34742         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
34743         (Function Substitutes): Update.
34744
34745 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34746
34747         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
34748         m4/strerror.m4.
34749
34750 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34751             Bruno Haible  <bruno@clisp.org>
34752
34753         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
34754
34755 2008-12-13  Bruno Haible  <bruno@clisp.org>
34756
34757         * modules/strtoull (Depends-on): Remove unistd.
34758
34759 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34760
34761         * modules/strtoull (Depends-on): Add stdlib.
34762
34763 2008-12-11  Simon Josefsson  <simon@josefsson.org>
34764
34765         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
34766
34767 2008-12-10  Jim Meyering  <meyering@redhat.com>
34768
34769         gl_ASSERT: don't say assertions are disabled when they're not
34770         * m4/assert.m4 (gl_ASSERT): Do not make configure report
34771         "checking whether to enable assertions... no", when they are in
34772         fact enabled.  This is solely a bug in the output of configure.
34773         In spite of saying "no", NDEBUG was not defined in that case.
34774         Also, as noted by Eric Blake, leave assertions enabled upon
34775         --enable-assert=INVALID.
34776
34777 2008-12-10  Bruno Haible  <bruno@clisp.org>
34778
34779         Change MODULES.html to refer to POSIX:2008 where possible.
34780         * MODULES.html.sh (POSIX2008_URL): New variable.
34781         (posix_headers): Remove sys/timeb, ucontext.
34782         (posix2001_headers): New variable.
34783         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
34784         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
34785         index, makecontext, mktemp, pthread_attr_getstackaddr,
34786         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
34787         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
34788         (posix2001_functions): New variable.
34789         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
34790         otherwise.
34791
34792 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34793
34794         add missing include to parse-duration.c
34795         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
34796         * modules/parse-duration (Depends-on): Add xalloc.
34797
34798         fix sed script reading maint.mk
34799         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
34800         (syntax-check-rules): Use it.
34801
34802 2008-12-09  Bruno Haible  <bruno@clisp.org>
34803
34804         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
34805         MacOS X 10.4/PowerPC.
34806         Reported by Simon Josefsson.
34807
34808 2008-12-08  Jim Meyering  <meyering@redhat.com>
34809
34810         work around mingw's lack of some S_IF definitions
34811         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
34812         Reported by Simon Josefsson.
34813
34814 2008-12-08  Bruno Haible  <bruno@clisp.org>
34815
34816         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
34817         applied to variables. Needed on MacOS X 10.4/PowerPC.
34818         Reported by Simon Josefsson.
34819
34820 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
34821         and Eric Blake  <ebb9@byu.net>
34822
34823         assert: honor --enable-assert
34824         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
34825         order to honor --enable-assert, rather than treating it as a
34826         synonym for --disable-assert.
34827
34828 2008-12-08  Jim Meyering  <meyering@redhat.com>
34829
34830         * lib/posixtm.c: Remove now-useless declaration of mktime.
34831
34832         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
34833
34834 2008-12-07  Bruno Haible  <bruno@clisp.org>
34835
34836         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
34837         test_once): Mark functions as static.
34838         * tests/test-tls.c (test_tls): Likewise.
34839
34840 2008-12-07  Bruno Haible  <bruno@clisp.org>
34841
34842         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
34843         iconv_register_autodetect.
34844
34845 2008-12-07  Jim Meyering  <meyering@redhat.com>
34846
34847         posixtm.c: avoid a warning
34848         * lib/posixtm.c (posixtime): Don't initialize tm0.
34849         It's no longer needed to placate gcc4's -Wuninitialized,
34850         and the attempt to placate would elicit a new warning.
34851
34852         unicodeio.c: mark unused parameters
34853         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34854         (fallback_failure_callback): Likewise.
34855
34856 2008-12-07  Bruno Haible  <bruno@clisp.org>
34857
34858         * gnulib-tool (func_create_testdir): When building the tests
34859         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
34860         Reported by Simon Josefsson.
34861
34862 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34863
34864         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
34865
34866 2008-12-06  Bruno Haible  <bruno@clisp.org>
34867
34868         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
34869         Suggested by Eric Blake.
34870
34871 2008-12-06  Bruno Haible  <bruno@clisp.org>
34872
34873         Fix a c-stack test failure on MacOS X.
34874         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
34875         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
34876         handler for SIGBUS as well.
34877         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
34878         install a signal handler for SIGBUS as well.
34879         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
34880
34881 2008-12-06  Bruno Haible  <bruno@clisp.org>
34882
34883         Advocacy documentation.
34884         * doc/gnulib-intro.texi (Benefits): New section.
34885         * doc/gnulib.texi: Update.
34886
34887 2008-12-06  Bruno Haible  <bruno@clisp.org>
34888
34889         Document the 'manywarnings' module.
34890         * doc/manywarnings.texi: New file.
34891         * doc/gnulib.texi: Include it.
34892
34893 2008-12-05  Eric Blake  <ebb9@byu.net>
34894
34895         tests: silence some gcc warnings
34896         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
34897         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
34898         type mismatches.
34899
34900 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34901             Bruno Haible  <bruno@clisp.org>
34902
34903         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
34904
34905 2008-11-29  Jim Meyering  <meyering@redhat.com>
34906
34907         unicodeio.c: mark unused parameters
34908         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34909         (fallback_failure_callback): Likewise.
34910
34911         fts: fix a thinko
34912         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
34913         (set_stat_type): Return S_IF*-valued "type" directly.
34914         Prompted by James Youngman's spotting a related bug.
34915         Confirmed by further testing through find.
34916
34917         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
34918         * lib/fts.c (D_TYPE): Define.
34919         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
34920         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
34921         (s_ifmt_shift_bits): New function.
34922         (set_stat_type): New function.
34923         (fts_build): When not calling fts_stat, call set_stat_type
34924         to propagate dirent.d_type info to fts_read caller.
34925         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
34926         fts_statp->st_mode type information may be valid.
34927
34928 2008-11-28  Simon Josefsson  <simon@josefsson.org>
34929
34930         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
34931         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
34932         <sds@gnu.org>.
34933
34934 2008-11-20  Bruno Haible  <bruno@clisp.org>
34935
34936         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
34937         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
34938         INCLUDE_NEXT.
34939         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
34940         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
34941         * modules/math (Makefile.am): Substitute
34942         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
34943         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34944
34945 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34946             Bruno Haible  <bruno@clisp.org>
34947
34948         * lib/stdint.in.h: Define all type macros so that their expansion is
34949         a single typedef'ed token. Fixes a compilation failure in Boost which
34950         does "using ::int8_t;".
34951
34952 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34953
34954         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
34955         gl_MANYWARN_ALL_GCC.
34956         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
34957         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
34958         * modules/manywarnings: New file.
34959         * MODULES.html.sh: Mention manywarnings module.
34960
34961 2008-11-18  Bruno Haible  <bruno@clisp.org>
34962
34963         * doc/gnulib-tool.texi (Unit tests): New section.
34964
34965 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34966
34967         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
34968         paths like 'lib/po/foo.po'.
34969
34970 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34971
34972         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
34973         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
34974
34975 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34976
34977         * m4/warnings.m4: Use CPPFLAGS to really check whether the
34978         parameter works.
34979
34980 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34981
34982         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
34983
34984 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34985
34986         * modules/parse-duration-tests: New file.
34987         * tests/test-parse-duration.sh: New file.
34988         * tests/test-parse-duration.c: New file.
34989
34990         New module 'parse-duration'.
34991         * lib/parse-duration.h: New file.
34992         * lib/parse-duration.c: New file.
34993         * modules/parse-duration: New file.
34994
34995 2008-11-17  Bruno Haible  <bruno@clisp.org>
34996
34997         * tests/test-select-out.sh: Comment out the first pipe test.
34998         Reported by Simon Josefsson.
34999
35000 2008-11-17  Bruno Haible  <bruno@clisp.org>
35001
35002         * modules/getaddrinfo (Depends-on): Add servent, hostent.
35003         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
35004         gl_HOSTENT.
35005
35006 2008-11-17  Bruno Haible  <bruno@clisp.org>
35007
35008         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
35009         -lnetwork and -lnet. Needed for Haiku and BeOS.
35010
35011 2008-11-16  Bruno Haible  <bruno@clisp.org>
35012
35013         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
35014
35015 2008-11-16  Bruno Haible  <bruno@clisp.org>
35016
35017         Avoid test failure on Haiku.
35018         * tests/test-fsync.c: Include <errno.h>.
35019         (main): Don't require that fsync (0) fails.
35020
35021 2008-11-15  Bruno Haible  <bruno@clisp.org>
35022
35023         New module 'hostent'.
35024         * modules/hostent: New file.
35025         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
35026
35027 2008-11-15  Bruno Haible  <bruno@clisp.org>
35028
35029         New module 'servent'.
35030         * modules/servent: New file.
35031         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
35032
35033 2008-11-15  Bruno Haible  <bruno@clisp.org>
35034
35035         Avoid generating same test program with two different rules.
35036         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
35037         test-frexp to test-frexp-nolibm.
35038         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
35039         test-frexpl to test-frexpl-nolibm.
35040
35041 2008-11-15  Bruno Haible  <bruno@clisp.org>
35042
35043         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
35044         $(FREXPL_LIBM).
35045
35046 2008-11-15  Bruno Haible  <bruno@clisp.org>
35047
35048         * lib/netdb.in.h: Activate the definitions also when the system's
35049         <netdb.h> has 'struct addrinfo'.
35050         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
35051         EAI_OVERFLOW or AI_NUMERICSERV.
35052         * doc/posix-headers/netdb.texi: Document the problem.
35053
35054 2008-11-15  Bruno Haible  <bruno@clisp.org>
35055
35056         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
35057
35058         Make the 'sched' module work on platforms where <sched.h> exists but
35059         is incomplete (such as Haiku).
35060         * lib/sched.in.h; Include the system's <sched.h> if it exists.
35061         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
35062         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
35063         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
35064         HAVE_STRUCT_SCHED_PARAM.
35065         * modules/sched (Depends-on): Add include_next.
35066         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
35067         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
35068         * doc/posix-headers/sched.texi: Document the issue.
35069
35070 2008-11-13  Jim Meyering  <meyering@redhat.com>
35071
35072         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
35073         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
35074         test would fail due to the difference in the Report bugs to ...
35075         line.  The expected address is empty, "<>", while the actual
35076         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
35077
35078 2008-11-12  Bruno Haible  <bruno@clisp.org>
35079
35080         lstat: don't compile lstat.c on systems lacking lstat
35081         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
35082         which don't have lstat; this is handled by lib/sys_stat.in.h already.
35083         Reported by Daniel P. Berrange via Jim Meyering.
35084
35085 2008-11-12  Jim Meyering  <meyering@redhat.com>
35086
35087         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
35088
35089 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35090
35091         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
35092         instead.
35093
35094 2008-11-12  Bruno Haible  <bruno@clisp.org>
35095
35096         * lib/unicodeio.c: Include unistr.h.
35097         (utf8_wctomb): Remove function.
35098         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
35099
35100 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35101
35102         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
35103         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
35104         <bruno@clisp.org>.
35105         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
35106
35107 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35108
35109         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
35110         * doc/gnulib.texi: Add section for warnings.
35111
35112 2008-11-11  Bruno Haible  <bruno@clisp.org>
35113
35114         * lib/sockets.h: Add a comment.
35115
35116 2008-11-11  Karl Berry  <karl@gnu.org>
35117
35118         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
35119
35120 2008-11-11  Eric Blake  <ebb9@byu.net>
35121
35122         fdl.texi: avoid git symlinks
35123         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
35124
35125 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35126
35127         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
35128
35129 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35130
35131         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
35132         (gl_WARN_ADD): Substitute $2 if literal.
35133
35134 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35135
35136         * m4/warning.m4: Remove.
35137
35138 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35139
35140         * m4/warnings.m4: Almost complete rewrite. :-)
35141
35142 2008-11-10  Simon Josefsson  <simon@josefsson.org>
35143
35144         * modules/warnings: New module.
35145         * m4/warnings.m4: New file.
35146         * MODULES.html.sh: Mention warnings module.
35147         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
35148         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35149
35150 2008-11-10  Eric Blake  <ebb9@byu.net>
35151
35152         fdl.texi: make a symlink to the latest version
35153         * doc/standards.texi: Revert today's earlier change.
35154         * doc/fdl-1.2.texi: Rename from old fdl.texi...
35155         * doc/fdl.texi: ...and replace this with a symlink to the newer
35156         fdl-1.3.texi.
35157
35158 2008-11-10  Bruno Haible  <bruno@clisp.org>
35159
35160         * tests/test-select-fd.c (main): Accept the result file name as fourth
35161         argument.
35162         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
35163         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
35164
35165 2008-11-10  Bruno Haible  <bruno@clisp.org>
35166
35167         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
35168         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
35169         as autoconf-substituted macros.
35170         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
35171         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
35172         gl_NETDB_H_DEFAULTS. Set these variables.
35173         * modules/netdb (Makefile.am): Substitute these variables.
35174
35175 2008-11-10  Eric Blake  <ebb9@byu.net>
35176
35177         standards.texi: include correct file for FDL 1.3
35178         * doc/standards.texi (GNU Free Documentation License): Change
35179         include file to pull in FDL 1.3, not 1.2.
35180
35181         fdl.texi: revert accidental change to license
35182         * doc/fdl.texi: This is FDL 1.2, not 1.3.
35183
35184 2008-11-10  Bruno Haible  <bruno@clisp.org>
35185
35186         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
35187         cross-compiling guesses also when the native compile gives no result.
35188
35189 2008-11-10  Bruno Haible  <bruno@clisp.org>
35190
35191         * lib/spawni.c (__spawni): Force variable into the stack.
35192
35193 2008-11-10  Bruno Haible  <bruno@clisp.org>
35194
35195         Add support for Haiku.
35196         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
35197         glibc and BeOS, but also on Haiku.
35198         * lib/fpurge.c (fpurge): Likewise.
35199         * lib/freadable.c (freadable): Likewise.
35200         * lib/freadahead.c (freadahead): Likewise.
35201         * lib/freading.c (freading): Likewise.
35202         * lib/freadptr.c (freadptr): Likewise.
35203         * lib/freadseek.c (freadptrinc): Likewise.
35204         * lib/fseeko.c (rpl_fseeko): Likewise.
35205         * lib/fseterr.c (fseterr): Likewise.
35206         * lib/fwritable.c (fwritable): Likewise.
35207         * lib/fwriting.c (fwriting): Likewise.
35208         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
35209
35210 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35211
35212         * lib/config.charset: Treat Haiku like BeOS.
35213
35214 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35215
35216         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
35217         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
35218
35219 2008-11-08  Bruno Haible  <bruno@clisp.org>
35220
35221         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
35222         AC_CACHE_CHECK.
35223
35224 2008-11-08  Bruno Haible  <bruno@clisp.org>
35225
35226         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
35227
35228 2008-11-08  Bruno Haible  <bruno@clisp.org>
35229
35230         * tests/test-select-fd.c: New file.
35231         * tests/test-select-in.sh: New file.
35232         * tests/test-select-out.sh: New file.
35233         * tests/test-select-stdin.c: New file.
35234         * modules/select-tests (Files): Add the new files.
35235         (Depends-on): Add gettimeofday.
35236         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
35237         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
35238         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
35239
35240 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
35241             Bruno Haible  <bruno@clisp.org>
35242
35243         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
35244
35245 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
35246
35247         * build-aux/pmccabe2html: Added support for C++ source files.
35248
35249 2008-11-05  Ben Pfaff  <blp@gnu.org>
35250
35251         Fix lib/close.c build on Windows.
35252         * modules/close (Files): Add lib/w32sock.h.
35253
35254 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
35255
35256         Accept Bison's NEWS format.
35257         * build-aux/announce-gen (print_news_deltas): Tweak
35258         $re_prefix.
35259
35260 2008-11-04  Bruno Haible  <bruno@clisp.org>
35261
35262         * modules/random_r (Maintainer): Add glibc.
35263
35264 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35265
35266         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
35267         by karl@freefriends.org (Karl Berry).
35268         * doc/alloca.texi: Likewise.
35269         * doc/c-ctype.texi: Likewise.
35270         * doc/c-strcase.texi: Likewise.
35271         * doc/c-strcaseeq.texi: Likewise.
35272         * doc/c-strcasestr.texi: Likewise.
35273         * doc/c-strstr.texi: Likewise.
35274         * doc/c-strtod.texi: Likewise.
35275         * doc/c-strtold.texi: Likewise.
35276         * doc/ctime.texi: Likewise.
35277         * doc/error.texi: Likewise.
35278         * doc/fdl.texi: Likewise.
35279         * doc/gcd.texi: Likewise.
35280         * doc/getdate.texi: Likewise.
35281         * doc/gnulib-intro.texi: Likewise.
35282         * doc/gnulib-tool.texi: Likewise.
35283         * doc/gnulib.texi: Likewise.
35284         * doc/inet_ntoa.texi: Likewise.
35285         * doc/maintain.texi: Likewise.
35286         * doc/make-stds.texi: Likewise.
35287         * doc/quote.texi: Likewise.
35288         * doc/regexprops-generic.texi: Likewise.
35289         * doc/standards.texi: Likewise.
35290         * doc/verify.texi: Likewise.
35291         * doc/visibility.texi: Likewise.
35292         * doc/gnulib.texi (GNU Free Documentation License): Include
35293         fdl-1.3.texi instead of fdl.texi.
35294
35295 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35296
35297         * doc/fdl-1.3.texi: New file, from
35298         <http://www.gnu.org/licenses/fdl-1.3.texi>.
35299         * modules/fdl-1.3: Add.
35300         * MODULES.html.sh: Add fdl-1.3.
35301
35302 2008-11-03  Bruno Haible  <bruno@clisp.org>
35303
35304         Make determination of absolute name of header file work with AIX xlc.
35305         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
35306         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
35307         preprocessing.
35308         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35309         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35310
35311 2008-11-03  Simon Josefsson  <simon@josefsson.org>
35312
35313         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
35314         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
35315         <ludo@gnu.org>.
35316
35317 2008-11-02  Bruno Haible  <bruno@clisp.org>
35318
35319         Mark 'strpbrk' obsolete.
35320         * modules/strpbrk (Status, Notice): New sections.
35321         * modules/strtok_r (Depends-on): Add strpbrk.
35322
35323 2008-11-02  Bruno Haible  <bruno@clisp.org>
35324
35325         Mark 'strdup' obsolete.
35326         * modules/strdup (Status, Notice): New sections.
35327         * modules/findprog (Depends-on): Add strdup.
35328         * modules/getaddrinfo (Depends-on): Likewise.
35329         * modules/localename (Depends-on): Likewise.
35330         * modules/relocatable-lib (Depends-on): Likewise.
35331         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
35332         * modules/relocatable-prog (Depends-on): Likewise.
35333         * modules/trim (Depends-on): Likewise.
35334         * modules/unictype/gen-ctype (Depends-on): Likewise.
35335         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35336
35337 2008-11-02  Bruno Haible  <bruno@clisp.org>
35338
35339         Mark 'strcspn' obsolete.
35340         * modules/strcspn (Status, Notice): New sections.
35341
35342 2008-11-02  Bruno Haible  <bruno@clisp.org>
35343
35344         Mark 'rmdir' obsolete.
35345         * modules/rmdir (Status, Notice): New sections.
35346         * modules/clean-temp (Depends-on): Add rmdir.
35347         * modules/openat (Depends-on): Likewise.
35348
35349 2008-11-02  Bruno Haible  <bruno@clisp.org>
35350
35351         Mark 'raise' obsolete.
35352         * modules/raise (Status, Notice): New sections.
35353         (Include): Specify <signal.h>.
35354         * modules/stdio (Depends-on): Add raise.
35355         * modules/write (Depends-on): Likewise.
35356
35357 2008-11-02  Bruno Haible  <bruno@clisp.org>
35358
35359         Mark 'memset' obsolete.
35360         * modules/memset (Status, Notice): New sections.
35361
35362 2008-11-02  Bruno Haible  <bruno@clisp.org>
35363
35364         Mark 'memmove' obsolete.
35365         * modules/memmove (Status, Notice): New sections.
35366         * modules/argp (Depends-on): Add memmove.
35367         * modules/argz (Depends-on): Likewise.
35368         * modules/canonicalize (Depends-on): Likewise.
35369         * modules/canonicalize-lgpl (Depends-on): Likewise.
35370         * modules/fts (Depends-on): Likewise.
35371         * modules/getcwd (Depends-on): Likewise.
35372         * modules/human (Depends-on): Likewise.
35373         * modules/regex (Depends-on): Likewise.
35374         * modules/striconveh (Depends-on): Likewise.
35375         * modules/trim (Depends-on): Likewise.
35376         * modules/unistr/u8-move (Depends-on): Likewise.
35377         * modules/unistr/u16-move (Depends-on): Likewise.
35378         * modules/unistr/u32-move (Depends-on): Likewise.
35379
35380 2008-11-02  Bruno Haible  <bruno@clisp.org>
35381
35382         Mark 'memcpy' obsolete.
35383         * modules/memcpy (Status, Notice): New sections.
35384
35385 2008-11-02  Bruno Haible  <bruno@clisp.org>
35386
35387         Mark 'memcmp' obsolete.
35388         * modules/memcmp (Status, Notice): New sections.
35389         * modules/argmatch (Depends-on): Add memchr.
35390         * modules/backupfile (Depends-on): Likewise.
35391         * modules/c-strcasestr (Depends-on): Likewise.
35392         * modules/crypto/des (Depends-on): Likewise.
35393         * modules/csharpcomp (Depends-on): Likewise.
35394         * modules/fnmatch (Depends-on): Likewise.
35395         * modules/git-merge-changelog (Depends-on): Likewise.
35396         * modules/isnand (Depends-on): Likewise.
35397         * modules/isnand-nolibm (Depends-on): Likewise.
35398         * modules/isnanf (Depends-on): Likewise.
35399         * modules/isnanf-nolibm (Depends-on): Likewise.
35400         * modules/isnanl (Depends-on): Likewise.
35401         * modules/isnanl-nolibm (Depends-on): Likewise.
35402         * modules/mbchar (Depends-on): Likewise.
35403         * modules/memcoll (Depends-on): Likewise.
35404         * modules/quotearg (Depends-on): Likewise.
35405         * modules/regex (Depends-on): Likewise.
35406         * modules/relocatable-prog (Depends-on): Likewise.
35407         * modules/same (Depends-on): Likewise.
35408         * modules/signbit (Depends-on): Likewise.
35409         * modules/strcasestr-simple (Depends-on): Likewise.
35410         * modules/unictype/gen-ctype (Depends-on): Likewise.
35411         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35412         * modules/uniname/uniname (Depends-on): Likewise.
35413         * modules/unistr/u8-cmp (Depends-on): Likewise.
35414
35415 2008-11-02  Bruno Haible  <bruno@clisp.org>
35416
35417         Mark 'memchr' obsolete.
35418         * modules/memchr (Status, Notice): New sections.
35419         * modules/argp (Depends-on): Add memchr.
35420         * modules/base64 (Depends-on): Likewise.
35421         * modules/c-strcasestr (Depends-on): Likewise.
35422         * modules/chdir-long (Depends-on): Likewise.
35423         * modules/fnmatch (Depends-on): Likewise.
35424         * modules/getsubopt (Depends-on): Likewise.
35425         * modules/git-merge-changelog (Depends-on): Likewise.
35426         * modules/glob (Depends-on): Likewise.
35427         * modules/strcasestr-simple (Depends-on): Likewise.
35428         * modules/strnlen (Depends-on): Likewise.
35429
35430 2008-11-02  Bruno Haible  <bruno@clisp.org>
35431
35432         Mark 'atexit' obsolete.
35433         * modules/atexit (Status, Notice): New sections.
35434         * modules/chdir-long (Depends-on): Add atexit.
35435         * modules/wait-process (Depends-on): Likewise.
35436
35437 2008-11-02  Bruno Haible  <bruno@clisp.org>
35438
35439         * gnulib-tool: New option --with-obsolete.
35440         (func_usage): Document it.
35441         (func_modules_transitive_closure): Drop obsolete dependencies if
35442         incobsolete is not true.
35443         (func_import): Read and save the incobsolete variable to the cache.
35444
35445 2008-11-02  Bruno Haible  <bruno@clisp.org>
35446
35447         * modules/TEMPLATE-EXTENDED: New field 'Status'.
35448         * gnulib-tool: New option --extract-status.
35449         (func_usage): Document it.
35450         (sed_extract_prog): Recognize it.
35451         (func_get_status): New function.
35452
35453 2008-10-30  Simon Josefsson  <simon@josefsson.org>
35454
35455         * modules/sockets (License): Change from LGPL to LGPLv2+.
35456
35457 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35458
35459         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
35460
35461 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35462
35463         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35464         Mention times and sys_times.
35465         * modules/sys_times, modules/sys_times-tests: New modules.
35466         * modules/times, modules/times-tests: Likewise
35467         * m4/sys_times_h.m4: New file.
35468         * lib/sys_times.in.h: Likewise
35469         * lib/times.c: Likewise.
35470         * tests/test-sys_times.c: Likewise.
35471         * tests/test-times.c: Likewise.
35472         * doc/posix-headers/sys_times.texi: Update.
35473         * doc/posix-functions/times.texi: Update.
35474
35475 2008-10-28  Jim Meyering  <meyering@redhat.com>
35476
35477         * modules/tempname (Depends-on): Add lstat.
35478
35479         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
35480
35481 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35482
35483         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
35484         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
35485         using idiom used elsewhere in gnulib.
35486
35487 2008-10-27  Jim Meyering  <meyering@redhat.com>
35488
35489         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
35490
35491 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35492
35493         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
35494         TESTS_ENVIRONMENT, for shell scripts that needs to call built
35495         programs.
35496         * tests/test-argp-2.sh: Use $EXEEXT when needed.
35497
35498 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35499
35500         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
35501
35502 2008-10-27  Bruno Haible  <bruno@clisp.org>
35503
35504         * tests/test-lstat.c: Include <stdio.h>.
35505
35506 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35507
35508         * modules/lstat-tests: New module.
35509         * tests/test-lstat.c: New file.
35510
35511 2008-10-26  Jim Meyering  <meyering@redhat.com>
35512
35513         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
35514
35515 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35516             Bruno Haible  <bruno@clisp.org>
35517
35518         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
35519         * modules/configmake (Include): Add a note that the include must come
35520         after all system headers.
35521         * lib/javaversion.c: Include configmake.h after all other includes.
35522
35523 2008-10-26  Bruno Haible  <bruno@clisp.org>
35524
35525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
35526         HAVE_STRUCT_RANDOM_DATA to 1.
35527         (gl_STDLIB_H): Simplify.
35528
35529 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35530
35531         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
35532         substitute HAVE_STRUCT_RANDOM_DATA.
35533         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
35534         random_data.
35535         * modules/stdlib (Makefile.am): Substitute
35536         HAVE_STRUCT_RANDOM_DATA.
35537
35538 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35539
35540         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
35541         * doc/gnulib-intro.texi (Copyright): Likewise.
35542
35543 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35544
35545         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
35546         findings.
35547
35548 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
35549             Bruno Haible  <bruno@clisp.org>
35550
35551         * lib/unistd.in.h: Include <winsock2.h>.
35552         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
35553         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
35554         Provide dummy declarations.
35555         (gethostname): Override.
35556         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
35557         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
35558         gl_PREREQ_SYS_H_WINSOCK2.
35559         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
35560         * doc/posix-functions/gethostname.texi: More details.
35561
35562 2008-10-25  Bruno Haible  <bruno@clisp.org>
35563
35564         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35565         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
35566         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
35567
35568         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
35569         here ...
35570         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
35571         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
35572         gl_UNISTD_H_DEFAULTS.
35573
35574 2008-10-25  Eric Blake  <ebb9@byu.net>
35575
35576         signbit: avoid spurious compiler failure
35577         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
35578         declarations inside function.
35579
35580 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35581             Bruno Haible  <bruno@clisp.org>
35582
35583         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
35584         * modules/random_r (Depends-on): Add stdint.
35585
35586 2008-10-24  Bruno Haible  <bruno@clisp.org>
35587
35588         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
35589         Eggert.
35590         * modules/strerror (License): Likewise.
35591
35592 2008-10-24  Jim Meyering  <meyering@redhat.com>
35593
35594         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
35595         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
35596
35597 2008-10-24  Eric Blake  <ebb9@byu.net>
35598
35599         getgroups: fix compilation when getgroups is available
35600         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35601         but with <config.h> override of getgroups disabled.
35602
35603 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35604
35605         * doc/gnulib.texi (Header files): Add note about C++ problems.
35606         Explained by Bruno Haible <bruno@clisp.org>.
35607
35608 2008-10-23  Bruno Haible  <bruno@clisp.org>
35609
35610         Define a dummy SA_NODEFER macro on Interix.
35611         * lib/signal.in.h (SA_NODEFER): Define fallback.
35612         Reported by Aleksey Cheusov <cheusov@tut.by> via
35613         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35614
35615 2008-10-23  Bruno Haible  <bruno@clisp.org>
35616
35617         * modules/freadahead (License): Change to LGPLv2+.
35618         Suggested by Simon Josefsson.
35619
35620 2008-10-23  Jim Meyering  <meyering@redhat.com>
35621
35622         random_r: new module
35623         * modules/random_r: New file.
35624         * m4/random_r.m4: New file.
35625         * lib/random_r.c: New file, from glibc.
35626         * modules/random_r-tests: New file.
35627         * tests/test-random_r.c: New file.
35628         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
35629          Declare.
35630         (RAND_MAX): Define.
35631         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
35632         * modules/stdlib: Substitute them, too.
35633         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
35634         * doc/glibc-functions/initstate_r.texi: Mention the new module.
35635         * doc/glibc-functions/random_r.texi: Likewise.
35636         * doc/glibc-functions/setstate_r.texi: Likewise.
35637         * doc/glibc-functions/srandom_r.texi: Likewise.
35638         * config/srclist.txt: Mention it.
35639
35640 2008-10-23  David Lutterkort  <lutter@redhat.com>
35641
35642         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
35643         link requirement
35644
35645 2008-10-23  Jim Meyering  <meyering@redhat.com>
35646
35647         selinux-h: mark parameters of stub functions as intentionally unused
35648         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
35649         * lib/se-context.in.h: Likewise.
35650
35651 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35652
35653         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
35654
35655 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35656
35657         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
35658
35659 2008-10-22  Eric Blake  <ebb9@byu.net>
35660
35661         glthread/thread: avoid compiler warning
35662         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
35663         Add unreachable abort to silence compiler.
35664
35665 2008-10-22  Eric Blake  <ebb9@byu.net>
35666
35667         netdb: also supply struct addrinfo for cygwin 1.5.x
35668         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
35669         older cygwin.
35670         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
35671         cygwin.
35672         * doc/posix-headers/netdb.texi (netdb.h): Document this.
35673
35674 2008-10-22  Bruno Haible  <bruno@clisp.org>
35675
35676         * users.txt: Update entry about pspp.
35677
35678 2008-10-21  Bruno Haible  <bruno@clisp.org>
35679
35680         Simplification.
35681         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
35682         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
35683
35684         Simplification.
35685         * lib/ioctl.c (ioctl): Don't undefine.
35686         * lib/socket.c (socket): Don't undefine.
35687
35688         Remove unused module indicator macros.
35689         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
35690         GNULIB_$1 as a C macro.
35691
35692         * doc/posix-functions/close.texi: Undo last change.
35693         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
35694         Windows platforms.
35695
35696 2008-10-21  Bruno Haible  <bruno@clisp.org>
35697
35698         Add gethostname() declaration to <unistd.h>.
35699         * lib/unistd.in.h (gethostname): New declaration.
35700         * lib/gethostname.c: Include <unistd.h>.
35701         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
35702         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
35703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
35704         and HAVE_GETHOSTNAME.
35705         * modules/gethostname (Depends-on): Add unistd.
35706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35707         (Include): Specify <unistd.h>.
35708         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
35709         HAVE_GETHOSTNAME.
35710         * tests/test-gethostname.c: Include <unistd.h> first.
35711
35712 2008-10-21  Bruno Haible  <bruno@clisp.org>
35713
35714         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
35715         * modules/select-tests (Depends-on): Likewise.
35716         Reported by Simon Josefsson.
35717
35718 2008-10-21  Simon Josefsson  <simon@josefsson.org>
35719
35720         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
35721         * lib/accept.c: New file, based on winsock.c.
35722         * lib/bind.c: New file, based on winsock.c.
35723         * lib/connect.c: New file, based on winsock.c.
35724         * lib/getpeername.c: New file, based on winsock.c.
35725         * lib/getsockname.c: New file, based on winsock.c.
35726         * lib/getsockopt.c: New file, based on winsock.c.
35727         * lib/ioctl.c: New file, based on winsock.c.
35728         * lib/listen.c: New file, based on winsock.c.
35729         * lib/recv.c: New file, based on winsock.c.
35730         * lib/recvfrom.c: New file, based on winsock.c.
35731         * lib/send.c: New file, based on winsock.c.
35732         * lib/sendto.c: New file, based on winsock.c.
35733         * lib/setsockopt.c: New file, based on winsock.c.
35734         * lib/shutdown.c: New file, based on winsock.c.
35735         * lib/socket.c: New file, based on winsock.c.
35736         * lib/w32sock.h: New file, based on winsock.c.
35737         * lib/winsock.c: Remove file.
35738         * modules/accept: Likewise.
35739         * modules/bind: Likewise.
35740         * modules/connect: Likewise.
35741         * modules/getpeername: Likewise.
35742         * modules/getsockname: Likewise.
35743         * modules/getsockopt: Likewise.
35744         * modules/ioctl: Likewise.
35745         * modules/listen: Likewise.
35746         * modules/recv: Likewise.
35747         * modules/recvfrom: Likewise.
35748         * modules/send: Likewise.
35749         * modules/sendto: Likewise.
35750         * modules/setsockopt: Likewise.
35751         * modules/shutdown: Likewise.
35752         * modules/socket: Use socket.c instead of winsock.c.
35753         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
35754         * doc/posix-functions/accept.texi: Doc fix.
35755         * doc/posix-functions/bind.texi: Doc fix.
35756         * doc/posix-functions/close.texi: Doc fix.
35757         * doc/posix-functions/connect.texi: Doc fix.
35758         * doc/posix-functions/getpeername.texi: Doc fix.
35759         * doc/posix-functions/getsockname.texi: Doc fix.
35760         * doc/posix-functions/getsockopt.texi: Doc fix.
35761         * doc/posix-functions/ioctl.texi: Doc fix.
35762         * doc/posix-functions/listen.texi: Doc fix.
35763         * doc/posix-functions/recv.texi: Doc fix.
35764         * doc/posix-functions/recvfrom.texi: Doc fix.
35765         * doc/posix-functions/send.texi: Doc fix.
35766         * doc/posix-functions/sendto.texi: Doc fix.
35767         * doc/posix-functions/setsockopt.texi: Doc fix.
35768         * doc/posix-functions/shutdown.texi: Doc fix.
35769         * doc/posix-functions/socket.texi: Doc fix.
35770
35771 2008-10-20  Bruno Haible  <bruno@clisp.org>
35772
35773         Take into account the role of SIGABRT_COMPAT on Windows 2008.
35774         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
35775         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
35776         as an alias for SIGABRT.
35777         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
35778         (sigaction): Map it to SIGABRT.
35779         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
35780
35781 2008-10-20  Bruno Haible  <bruno@clisp.org>
35782
35783         * lib/fts.c: Don't include lstat.h.
35784         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
35785
35786         Move the lstat() declaration to <sys/stat.h>.
35787         * lib/lstat.h: Remove file.
35788         * lib/sys_stat.in.h: Add special invocation convention.
35789         (lstat): New declaration.
35790         * lib/lstat.c (orig_lstat): New function.
35791         (rpl_lstat): Use orig_lstat instead of lstat.
35792         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
35793         AC_C_INLINE. Set REPLACE_LSTAT.
35794         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
35795         and REPLACE_LSTAT.
35796         * modules/lstat (Files): Remove lib/lstat.h.
35797         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35798         (Include): Specify <sys/stat.h> instead of lstat.h.
35799         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
35800         REPLACE_LSTAT.
35801         * NEWS: Mention the change.
35802
35803 2008-10-20  Bruno Haible  <bruno@clisp.org>
35804
35805         * modules/posix_spawn-tests: New file.
35806         * tests/test-posix_spawn3.c: New file.
35807
35808 2008-10-20  Bruno Haible  <bruno@clisp.org>
35809
35810         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
35811         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35812         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
35813         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35814         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
35815
35816 2008-10-20  Bruno Haible  <bruno@clisp.org>
35817
35818         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
35819         of posix_spawn on AIX 5.3.
35820
35821 2008-10-20  Bruno Haible  <bruno@clisp.org>
35822
35823         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
35824
35825 2008-10-20  Bruno Haible  <bruno@clisp.org>
35826
35827         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
35828         of AC_LANG_PROGRAM.
35829
35830 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35831
35832         * lib/netdb.in.h: Don't define GNU specific constants until they
35833         are supported or needed.  Reported by Bruno Haible
35834         <bruno@clisp.org>.
35835
35836 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35837
35838         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
35839
35840 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35841
35842         * lib/getaddrinfo.h: Remove file.
35843         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
35844         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
35845         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
35846         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
35847         * modules/netdb: Substitute GNULIB_GETADDRINFO.
35848         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
35849         * tests/test-getaddrinfo.c: Likewise.
35850         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
35851         * NEWS: Mention change.
35852
35853 2008-10-19  Bruno Haible  <bruno@clisp.org>
35854
35855         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
35856
35857 2008-10-19  Bruno Haible  <bruno@clisp.org>
35858
35859         * lib/wait-process.c: Include simply <sys/wait.h>.
35860         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
35861         WIFSTOPPED): Remove fallback definitions.
35862         * modules/wait-process (Depends-on): Add sys_wait.
35863
35864         New module 'sys_wait'.
35865         * modules/sys_wait: New file.
35866         * lib/sys_wait.in.h: New file, partially copied from
35867         lib/wait-process.c.
35868         * m4/sys_wait_h.m4: New file.
35869         * doc/posix-headers/sys_wait.texi: Mention the new module.
35870
35871 2008-10-19  Bruno Haible  <bruno@clisp.org>
35872
35873         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
35874
35875 2008-10-19  Bruno Haible  <bruno@clisp.org>
35876
35877         Assume that waitpid() fills an 'int' status, not a 'union wait'.
35878         * lib/wait-process.c (WAIT_T): Remove type.
35879         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
35880         (wait_subprocess): Update.
35881
35882 2008-10-19  Bruno Haible  <bruno@clisp.org>
35883
35884         New module 'atoll'.
35885         * modules/atoll: New file.
35886         * lib/stdlib.in.h (atoll): New declaration.
35887         * lib/atoll.c: New file, from glibc with modifications.
35888         * m4/atoll.m4: New file.
35889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
35890         HAVE_ATOLL.
35891         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
35892         * doc/posix-functions/atoll.texi: Mention the new module.
35893
35894 2008-10-19  Bruno Haible  <bruno@clisp.org>
35895
35896         Add strtoull() declaration to <stdlib.h>.
35897         * lib/stdlib.in.h (strtoull): New declaration.
35898         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35899         Set HAVE_STRTOULL.
35900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
35901         HAVE_STRTOULL.
35902         * modules/strtoull (Depends-on): Add stdlib.
35903         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35904         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
35905         HAVE_STRTOULL.
35906
35907 2008-10-19  Bruno Haible  <bruno@clisp.org>
35908
35909         Add strtoll() declaration to <stdlib.h>.
35910         * lib/stdlib.in.h (strtoll): New declaration.
35911         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35912         Set HAVE_STRTOLL.
35913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
35914         HAVE_STRTOLL.
35915         * modules/strtoll (Depends-on): Add stdlib.
35916         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35917         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
35918
35919 2008-10-19  Bruno Haible  <bruno@clisp.org>
35920
35921         * modules/bcopy (Depends-on): Add strings.
35922         (Include): Specify <strings.h>.
35923
35924 2008-10-19  Bruno Haible  <bruno@clisp.org>
35925
35926         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
35927
35928 2008-10-19  Bruno Haible  <bruno@clisp.org>
35929
35930         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
35931         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
35932         mingw.
35933
35934 2008-10-19  Bruno Haible  <bruno@clisp.org>
35935
35936         * lib/atanl.c: Don't include isnanl.h.
35937         * lib/cosl.c: Likewise.
35938         * lib/ldexpl.c: Likewise.
35939         * lib/logl.c: Likewise.
35940         * lib/sinl.c: Likewise.
35941         * lib/sqrtl.c: Likewise.
35942         * lib/tanl.c: Likewise.
35943
35944         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
35945         * lib/isnanf.h: Remove file.
35946         * lib/isnand.h: Remove file.
35947         * lib/isnanl.h: Remove file.
35948         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
35949         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
35950         macros.
35951         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
35952         HAVE_ISNANF, don't define it as a C macro.
35953         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
35954         HAVE_ISNAND, don't define it as a C macro.
35955         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
35956         HAVE_ISNANL, don't define it as a C macro.
35957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
35958         HAVE_ISNAN[FDL].
35959         * modules/isnanf (Files): Remove lib/isnanf.h.
35960         (Depends-on): Add math.
35961         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35962         (Include): Specify <math.h> instead of isnanf.h.
35963         * modules/isnand (Files): Remove lib/isnand.h.
35964         (Depends-on): Add math.
35965         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35966         (Include): Specify <math.h> instead of isnand.h.
35967         * modules/isnanl (Files): Remove lib/isnanl.h.
35968         (Depends-on): Add math.
35969         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35970         (Include): Specify <math.h> instead of isnanl.h.
35971         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
35972         HAVE_ISNAN[FDL].
35973         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
35974         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
35975         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
35976         * NEWS: Mention the change.
35977
35978 2008-10-18  Bruno Haible  <bruno@clisp.org>
35979
35980         Add getusershell(), setusershell(), endusershell() declarations to
35981         <unistd.h>.
35982         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
35983         declarations.
35984         * lib/getusershell.c: Include unistd.h.
35985         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
35986         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35987         HAVE_GETUSERSHELL.
35988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
35989         and HAVE_GETUSERSHELL.
35990         * modules/getusershell (Depends-on): Add unistd, extensions.
35991         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35992         (Include): Specify <unistd.h>.
35993         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
35994         HAVE_GETUSERSHELL.
35995
35996 2008-10-18  Bruno Haible  <bruno@clisp.org>
35997
35998         Add a getloadavg() declaration to <stdlib.h>.
35999         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
36000         getloadavg declaration.
36001         (getloadavg): New declaration.
36002         * lib/getloadavg.c: Include <stdlib.h> first.
36003         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
36004         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
36005         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
36006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
36007         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36008         * modules/getloadavg (Depends-on): Add stdlib, extensions.
36009         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36010         (Include): Specify <stdlib.h>.
36011         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
36012         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36013
36014 2008-10-18  Bruno Haible  <bruno@clisp.org>
36015
36016         * lib/dirchownmod.c: Don't include lchmod.h.
36017
36018         Move the lchmod() declaration to <sys/stat.h>.
36019         * lib/lchmod.h: Remove file.
36020         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
36021         (lchmod): New declaration, moved here from lib/lchown.h.
36022         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
36023         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
36024         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
36025         and HAVE_LCHMOD.
36026         * modules/lchmod (Files): Remove lib/lchmod.h.
36027         (Depends-on): Add sys_stat, extensions.
36028         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36029         (Include): Specify <sys/stat.h> instead of lchmod.h.
36030         * modules/sys_stat (Depends-on): Add link-warning.
36031         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
36032         definition of GL_LINK_WARNING.
36033         * NEWS: Mention the change.
36034
36035 2008-10-18  Bruno Haible  <bruno@clisp.org>
36036
36037         * lib/fchdir.c: Don't include dirfd.h.
36038         * lib/fts.c: Likewise.
36039         * lib/getcwd.c: Likewise.
36040         * lib/glob.c: Likewise.
36041
36042         Move the dirfd() declaration to <dirent.h>.
36043         * lib/dirfd.h: Remove file.
36044         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
36045         (dirfd): New declaration.
36046         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
36047         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
36048         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
36049         HAVE_DECL_DIRFD.
36050         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
36051         HAVE_DECL_DIRFD.
36052         * modules/dirfd (Files): Remove lib/dirfd.h.
36053         (Depends-on): Add dirent, extensions.
36054         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
36055         (Include): Specify <dirent.h> instead of dirfd.h.
36056         * modules/dirent (Depends-on): Add link-warning.
36057         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
36058         definition of GL_LINK_WARNING.
36059         * NEWS: Mention the change.
36060
36061 2008-10-18  Bruno Haible  <bruno@clisp.org>
36062
36063         Move the euidaccess() declaration to <unistd.h>.
36064         * lib/euidaccess.h: Remove file.
36065         * lib/unistd.in.h (euidaccess): New declaration.
36066         * lib/euidaccess.c: Don't include euidaccess.h.
36067         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
36068         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
36069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
36070         and HAVE_EUIDACCESS.
36071         * modules/euidaccess (Files): Remove lib/euidaccess.h.
36072         (Depends-on): Add unistd.
36073         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36074         (Include): Specify <unistd.h> instead of euidaccess.h.
36075         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
36076         HAVE_EUIDACCESS.
36077         * NEWS: Mention the change.
36078
36079 2008-10-18  Bruno Haible  <bruno@clisp.org>
36080
36081         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
36082
36083         Move the getdomainname() declaration to <unistd.h>.
36084         * lib/getdomainname.h: Remove file.
36085         * lib/unistd.in.h (getdomainname): New declaration.
36086         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
36087         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
36088         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36089         HAVE_GETDOMAINNAME.
36090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36091         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
36092         * modules/getdomainname (Files): Remove lib/getdomainname.h.
36093         (Depends-on): Add unistd, extensions.
36094         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36095         (Includes): Specify <unistd.h> instead of getdomainname.h.
36096         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
36097         HAVE_GETDOMAINNAME.
36098         * NEWS: Mention the change.
36099
36100 2008-10-18  Bruno Haible  <bruno@clisp.org>
36101
36102         * modules/dirent: New file.
36103         * m4/dirent_h.m4: New file.
36104         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
36105         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
36106         * modules/fchdir (Files): Remove lib/dirent.in.h.
36107         (Depends-on): Add dirent.
36108         (Makefile.am): Move rules to modules/dirent.
36109         * doc/posix-headers/dirent.texi: Mention the new module.
36110
36111 2008-10-18  Bruno Haible  <bruno@clisp.org>
36112
36113         Avoid -Wunused-parameter warnings in public gnulib header files.
36114         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
36115         macro.
36116         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
36117
36118 2008-10-18  Bruno Haible  <bruno@clisp.org>
36119
36120         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
36121         * doc/glibc-functions/error.texi: Mention the module 'error'.
36122         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
36123         * doc/glibc-functions/getdomainname.texi: Mention the module
36124         'getdomainname'.
36125         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
36126         * doc/glibc-functions/getpagesize.texi: Mention the module
36127         'getpagesize'.
36128         * doc/glibc-functions/getusershell.texi: Mention the module
36129         'getusershell'.
36130         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
36131         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
36132         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
36133         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
36134         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
36135         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
36136         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
36137         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
36138         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
36139         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
36140         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
36141         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
36142         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
36143         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
36144
36145 2008-10-17  Bruno Haible  <bruno@clisp.org>
36146
36147         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
36148         HP-UX and IRIX, use -0.0L.
36149         * tests/test-ceill.c (minus_zero): Likewise.
36150         * tests/test-floorl.c (minus_zero): Likewise.
36151         * tests/test-frexpl.c (minus_zero): Likewise.
36152         * tests/test-isnan.c (minus_zerol): Likewise.
36153         * tests/test-isnanl.h (minus_zero): Likewise.
36154         * tests/test-ldexpl.c (minus_zero): Likewise.
36155         * tests/test-roundl.c (minus_zero): Likewise.
36156         * tests/test-signbit.c (minus_zerol): Likewise.
36157         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36158         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36159         * tests/test-truncl.c (minus_zero): Likewise.
36160         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36161         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36162         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
36163         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36164
36165 2008-10-17  Bruno Haible  <bruno@clisp.org>
36166
36167         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
36168         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
36169         that it gets activated only for gcc >= 3.0.
36170         * lib/dirent.in.h: Likewise.
36171         * lib/errno.in.h: Likewise.
36172         * lib/fcntl.in.h: Likewise.
36173         * lib/float.in.h: Likewise.
36174         * lib/iconv.in.h: Likewise.
36175         * lib/inttypes.in.h: Likewise.
36176         * lib/locale.in.h: Likewise.
36177         * lib/math.in.h: Likewise.
36178         * lib/netdb.in.h: Likewise.
36179         * lib/netinet_in.in.h: Likewise.
36180         * lib/search.in.h: Likewise.
36181         * lib/signal.in.h: Likewise.
36182         * lib/spawn.in.h: Likewise.
36183         * lib/stdarg.in.h: Likewise.
36184         * lib/stdint.in.h: Likewise.
36185         * lib/stdio.in.h: Likewise.
36186         * lib/stdlib.in.h: Likewise.
36187         * lib/string.in.h: Likewise.
36188         * lib/strings.in.h: Likewise.
36189         * lib/sys_file.in.h: Likewise.
36190         * lib/sys_ioctl.in.h: Likewise.
36191         * lib/sys_select.in.h: Likewise.
36192         * lib/sys_socket.in.h: Likewise.
36193         * lib/sys_stat.in.h: Likewise.
36194         * lib/sys_time.in.h: Likewise.
36195         * lib/sysexits.in.h: Likewise.
36196         * lib/time.in.h: Likewise.
36197         * lib/unistd.in.h: Likewise.
36198         * lib/wchar.in.h: Likewise.
36199         * lib/wctype.in.h: Likewise.
36200         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36201
36202 2008-10-17  Jim Meyering  <meyering@redhat.com>
36203
36204         ignore-value: don't depend on inline module
36205         * modules/ignore-value (Depends-on): Remove 'inline'.
36206         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
36207         Suggestion from Bruno Haible.
36208
36209 2008-10-17  Bruno Haible  <bruno@clisp.org>
36210
36211         New implementation of condition variables for Win32.
36212         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
36213         (gl_linked_waitqueue_t): New type.
36214         (gl_cond_t): Use it.
36215         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
36216         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
36217         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
36218         (glthread_cond_init_func, glthread_cond_wait_func,
36219         glthread_cond_timedwait_func, glthread_cond_signal_func,
36220         glthread_cond_broadcast_func, glthread_cond_destroy_func):
36221         Reimplemented on the basis of gl_linked_waitqueue_t.
36222         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
36223         gl_waitqueue_t.
36224         (gl_rwlock_t): Update.
36225         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
36226
36227 2008-10-17  Simon Josefsson  <simon@josefsson.org>
36228
36229         * modules/recvfrom (Depends-on): Add dependency on getpeername.
36230         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36231
36232 2008-10-17  Jim Meyering  <meyering@redhat.com>
36233
36234         ignore-value: new module
36235         * modules/ignore-value: New file.
36236         * lib/ignore-value.h: New file.
36237         * MODULES.html.sh (Compiler warning management): New section,
36238         just for this module.  More to come.
36239
36240 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36241
36242         open-safer.c: avoid 'signed and unsigned in conditional...' warning
36243         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
36244         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
36245
36246 2008-10-16  Jim Meyering  <meyering@redhat.com>
36247
36248         openat-die.c: avoid 'no previous prototype' warning
36249         * lib/openat-die.c: Include "openat.h".
36250         Reported by Reuben Thomas <rrt@sc3d.org>.
36251
36252 2008-10-16  Simon Josefsson  <simon@josefsson.org>
36253
36254         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
36255         * lib/netdb.in.h: Fix typo.
36256         Reported by Bruno Haible  <bruno@clisp.org>
36257
36258         * lib/netdb.in.h: Include sys/socket.h for platforms without
36259         netdb.h, to get structures like hostent on MinGW.
36260         * modules/netdb (Depends-on): Add sys_socket.
36261
36262 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36263
36264         * modules/netdb, modules/netdb-tests: New file.
36265         * m4/netdb_h.m4: New file.
36266         * lib/netdb.in.h: Add, currently just an empty file pending
36267         definitions.
36268         * tests/test-netdb.c: New file.
36269         * doc/posix-headers/netdb.texi: Mention that we replace it if
36270         needed.
36271         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36272         netdb.
36273
36274 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36275
36276         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
36277         with code.
36278
36279 2008-10-13  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/glthread/cond.c (glthread_cond_wait_func,
36282         glthread_cond_timedwait_func): Add a comment.
36283
36284 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36285
36286         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
36287         * tests/test-select.c: Likewise,
36288
36289 2008-10-13  Bruno Haible  <bruno@clisp.org>
36290
36291         * lib/glthread/cond.c (glthread_cond_wait_func,
36292         glthread_cond_timedwait_func): Fix variable name.
36293         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36294
36295 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
36296
36297         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
36298         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
36299         struct sockaddr.sa_len.
36300         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
36301
36302 2008-10-13  Simon Josefsson  <simon@josefsson.org>
36303
36304         * build-aux/pmccabe2html: Add css and css_url parameters.
36305
36306 2008-10-12  Bruno Haible  <bruno@clisp.org>
36307
36308         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
36309         calling aclx_get.
36310         Reported by Rainer Tammer <tammer@tammer.net>.
36311
36312 2008-10-12  Bruno Haible  <bruno@clisp.org>
36313
36314         Use msvcrt aware primitives for creation/termination of Win32 threads.
36315         * lib/glthread/thread.c: Include <process.h>.
36316         (glthread_create_func): Use _beginthreadex instead of CreateThread.
36317         (wrapper_func): Update signature.
36318         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
36319
36320 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36321             Bruno Haible  <bruno@clisp.org>
36322
36323         Provide a Win32 implementation of the 'cond' module.
36324         * lib/glthread/cond.h [USE_WIN32]: New implementation.
36325         * lib/glthread/cond.c (glthread_cond_init_func,
36326         glthread_cond_wait_func, glthread_cond_timedwait_func,
36327         glthread_cond_signal_func, glthread_cond_broadcast_func,
36328         glthread_cond_destroy_func) [USE_WIN32]: New functions.
36329         * modules/cond (Dependencies): Add gettimeofday.
36330
36331 2008-10-11  Bruno Haible  <bruno@clisp.org>
36332
36333         Make sleep work on older versions of mingw.
36334         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
36335         only whether it exists.
36336         * doc/posix-functions/sleep.texi: Mention the problem with older
36337         versions of mingw.
36338
36339 2008-10-11  Bruno Haible  <bruno@clisp.org>
36340
36341         New module 'shutdown'.
36342         * modules/shutdown: New file.
36343         * lib/sys_socket.in.h (shutdown): New declaration.
36344         * lib/winsock.c (shutdown): New function.
36345         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36346         GNULIB_SHUTDOWN.
36347         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
36348         * doc/posix-functions/shutdown.texi: Document the new module.
36349
36350 2008-10-11  Jim Meyering  <meyering@redhat.com>
36351
36352         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
36353
36354 2008-10-11  Bruno Haible  <bruno@clisp.org>
36355
36356         New module 'fclose'.
36357         * modules/fclose: New file.
36358         * lib/stdio.in.h (fclose): New declaration.
36359         * lib/fclose.c: New file.
36360         * m4/fclose.m4: New file.
36361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
36362         REPLACE_FCLOSE.
36363         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
36364         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
36365         REPLACE_FCLOSE.
36366         * modules/close (Depends-on): fclose.
36367         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
36368
36369 2008-10-11  Bruno Haible  <bruno@clisp.org>
36370
36371         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
36372         set errno and don't call _close.
36373
36374 2008-10-10  Bruno Haible  <bruno@clisp.org>
36375
36376         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
36377         ACL, not afterwards. Fixes test failure on Cygwin.
36378
36379 2008-10-09  Ben Pfaff  <blp@gnu.org>
36380
36381         * build-aux/announce-gen: Fix gnulib version related part of usage
36382         message.  Die with a useful error message if no tarballs are
36383         found.
36384
36385 2008-10-10  Jim Meyering  <meyering@redhat.com>
36386
36387         bootstrap: use git's --depth=N option only if it's supported
36388         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
36389         recognize the --depth option.  Reported by Pádraig Brady.
36390
36391 2008-10-09  Bruno Haible  <bruno@clisp.org>
36392
36393         New module 'ioctl'.
36394         * modules/ioctl: New file.
36395         * lib/sys_socket.in.h (ioctl): Remove declaration.
36396         * lib/winsock.c: Include <sys/ioctl.h>.
36397         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
36398         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36399         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
36400         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
36401         * doc/posix-functions/ioctl.texi: Mention the new module.
36402
36403 2008-10-09  Bruno Haible  <bruno@clisp.org>
36404
36405         New module 'sys_ioctl'.
36406         * lib/sys_ioctl.in.h: New file.
36407         * m4/sys_ioctl_h.m4: New file.
36408         * modules/sys_ioctl: New file.
36409         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
36410
36411 2008-10-09  Bruno Haible  <bruno@clisp.org>
36412
36413         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
36414         * lib/winsock.c: Include <stdarg.h>.
36415         (rpl_ioctl): Change to second argument 'int' and then varargs.
36416
36417 2008-10-09  Bruno Haible  <bruno@clisp.org>
36418
36419         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
36420         when the sys_socket module is present and the system has <winsock2.h>.
36421
36422 2008-10-09  Bruno Haible  <bruno@clisp.org>
36423
36424         * doc/posix-functions/close.texi: Mention module 'close' instead of
36425         module 'sys_socket'.
36426
36427 2008-10-09  Bruno Haible  <bruno@clisp.org>
36428
36429         * doc/glibc-headers/sys_ioctl.texi: New file.
36430         * doc/gnulib.texi: Include it.
36431
36432 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36433             Bruno Haible  <bruno@clisp.org>
36434
36435         Combine the two replacements of 'close'.
36436         * lib/sys_socket.in.h (close): Define to a reminder to include
36437         <unistd.h>.
36438         (_gl_close_fd_maybe_socket): New declaration.
36439         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
36440         * lib/winsock.c (close): Remove undefinition.
36441         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
36442         needed for the gnulib module 'close'.
36443         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
36444         define to an error symbol or to a warning, if suitable.
36445         * lib/close.c: Include <sys/socket.h>.
36446         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
36447         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
36448         UNISTD_H_HAVE_WINSOCK2_H.
36449         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
36450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36451         UNISTD_H_HAVE_WINSOCK2_H.
36452         * modules/sys_socket (Files): Add m4/unistd_h.m4.
36453         (configure.ac): Set a module indicator.
36454         (Makefile.am): Substitute GNULIB_CLOSE.
36455         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
36456         * modules/poll-tests (Depends-on): Add close.
36457         * modules/select-tests (Depends-on): Likewise.
36458
36459 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36460             Bruno Haible  <bruno@clisp.org>
36461
36462         New module 'close'.
36463         * modules/close: New file.
36464         * lib/unistd.in.h (close): Move declaration out of the
36465         FCHDIR_REPLACEMENT scope.
36466         (_gl_unregister_fd): New declaration.
36467         * lib/close.c: New file.
36468         * lib/fchdir.c (rpl_close): Remove function.
36469         * m4/close.m4: New file.
36470         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36471         close.
36472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
36473         REPLACE_CLOSE.
36474         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
36475         REPLACE_CLOSE.
36476         * modules/fchdir (Depends-on): Add close.
36477
36478 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36479             Bruno Haible  <bruno@clisp.org>
36480
36481         * lib/fcntl.in.h (open): Simplify conditionals.
36482         (_gl_register_fd): New declaration.
36483         * lib/fchdir.c (rpl_open): Remove function.
36484         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
36485         also.
36486         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
36487         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36488         open.
36489
36490 2008-10-09  Jim Meyering  <meyering@redhat.com>
36491
36492         GNUmakefile: use the more name-space-friendly "_version"
36493         * top/GNUmakefile (_dummy): Update.
36494         (_version): Rename from "version".
36495
36496 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36497             Bruno Haible  <bruno@clisp.org>
36498
36499         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
36500         rpl_close.
36501         (_gl_register_fd): New function, extracted from rpl_open.
36502         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
36503         (rpl_open, rpl_opendir): Use _gl_register_fd.
36504
36505 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36506
36507         Fix organization of 'open' replacement.
36508         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
36509         (gl_FUNC_OPEN): Use it.
36510         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
36511
36512 2008-10-08  Bruno Haible  <bruno@clisp.org>
36513
36514         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
36515
36516 2008-10-08  Simon Josefsson  <simon@josefsson.org>
36517
36518         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
36519         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
36520         listen).
36521
36522 2008-10-08  Eric Blake  <ebb9@byu.net>
36523
36524         GNUmakefile: add 'make version' target
36525         * top/GNUmakefile (_curr-ver): Split version update rules...
36526         (version): ...into a target.
36527
36528 2008-10-07  Bruno Haible  <bruno@clisp.org>
36529
36530         Use a more portable replacement expression for -0.0L.
36531         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
36532         instead of -0.0L. Fix m4 quotation.
36533
36534         * tests/test-signbit.c: Include <float.h>.
36535         (minus_zero): New variable.
36536         (test_signbitl): Use minus_zero instead of -zero.
36537         * modules/signbit-tests (Depends-on): Add float.
36538
36539         * tests/test-ceill.c: Include <float.h>.
36540         (zero): Remove variable.
36541         (minus_zero): New variable.
36542         (main): Use minus_zero instead of -zero.
36543         * modules/ceill-tests (Depends-on): Add float.
36544
36545         * tests/test-floorl.c: Include <float.h>.
36546         (zero): Remove variable.
36547         (minus_zero): New variable.
36548         (main): Use minus_zero instead of -zero.
36549         * modules/floorl-tests (Depends-on): Add float.
36550
36551         * tests/test-roundl.c: Include <float.h>.
36552         (zero): Remove variable.
36553         (minus_zero): New variable.
36554         (main): Use minus_zero instead of -zero.
36555         * modules/roundl-tests (Depends-on): Add float.
36556
36557         * tests/test-truncl.c: Include <float.h>.
36558         (zero): Remove variable.
36559         (minus_zero): New variable.
36560         (main): Use minus_zero instead of -zero.
36561         * modules/truncl-tests (Depends-on): Add float.
36562
36563         * tests/test-frexpl.c (zero): Remove variable.
36564         (minus_zero): New variable.
36565         (main): Use minus_zero instead of -zero.
36566         * modules/frexpl-tests (Depends-on): Add float.
36567
36568         * tests/test-isnan.c (zerol): Remove variable.
36569         (minus_zerol): New variable.
36570         (test_long_double): Use minus_zerol instead of -zerol.
36571         * modules/isnan-tests (Depends-on): Add float.
36572
36573         * tests/test-isnanl.h (zero): Remove variable.
36574         (minus_zero): New variable.
36575         (main): Use minus_zero instead of -zero.
36576         * modules/isnanl-nolibm-tests (Depends-on): Add float.
36577         * modules/isnanl-tests (Depends-on): Add float.
36578
36579         * tests/test-ldexpl.c (zero): Remove variable.
36580         (minus_zero): New variable.
36581         (main): Use minus_zero instead of -zero.
36582         * modules/ldexpl-tests (Depends-on): Add float.
36583
36584         * tests/test-snprintf-posix.h (zerol): Remove variable.
36585         (minus_zerol): New variable.
36586         (test_function): Use minus_zerol instead of -zerol.
36587         * modules/snprintf-posix-tests (Depends-on): Add float.
36588         * modules/vsnprintf-posix-tests (Depends-on): Add float.
36589
36590         * tests/test-sprintf-posix.h (zerol): Remove variable.
36591         (minus_zerol): New variable.
36592         (test_function): Use minus_zerol instead of -zerol.
36593         * modules/sprintf-posix-tests (Depends-on): Add float.
36594         * modules/vsprintf-posix-tests (Depends-on): Add float.
36595
36596         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
36597         (minus_zerol): New variable.
36598         (test_function): Use minus_zerol instead of -zerol.
36599         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36600
36601         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36602         (minus_zerol): New variable.
36603         (test_function): Use minus_zerol instead of -zerol.
36604         * modules/vasprintf-posix-tests (Depends-on): Add float.
36605
36606 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36607
36608         * MODULES.html.sh (Support for building documentation): Mention
36609         pmccabe2html.  Sort entries.
36610
36611         Add pmccabe2html module, from gnupdf.
36612         * build-aux/pmccabe.css: New file.
36613         * build-aux/pmccabe2html: New file.
36614         * m4/pmccabe2html.m4: New file.
36615         * modules/pmccabe2html: New file.
36616
36617 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36618
36619         flock: new module
36620         * MODULES.html.sh: Add to list of modules.
36621         * lib/flock.c: flock implementation for Windows and Unix systems
36622         which have fcntl.
36623         * doc/glibc-functions/flock.texi: Update documentation.
36624         * lib/sys_file.in.h: <sys/file.h> header file.
36625         * m4/flock.m4: M4 macros.
36626         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36627         * modules/flock: flock module.
36628         * modules/flock-tests: flock tests module.
36629         * modules/sys_file: sys/file.h module.
36630         * tests/test-flock.c: test suite for flock.
36631
36632 2008-10-06  Jim Meyering  <meyering@redhat.com>
36633
36634         bootstrap: check for LT_INIT more portably still ;-)
36635         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
36636         Spotted by Bruno Haible.
36637
36638 2008-10-06  Eric Blake  <ebb9@byu.net>
36639
36640         test-signbit: avoid tripping Irix cc bug on -0.0L
36641         * tests/test-signbit.c (minus_zerol): Delete, and replace with
36642         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
36643         entire testsuite consistent and avoids an Irix 6.2 bug.
36644
36645 2008-10-05  Bruno Haible  <bruno@clisp.org>
36646             Jim Meyering  <jim@meyering.net>
36647
36648         Add an option for ignoring EPIPE during close_stdout.
36649         * lib/closeout.h: Include <stdbool.h>.
36650         (close_stdout_set_ignore_EPIPE): New declaration.
36651         * lib/closeout.c: Include <stdbool.h>.
36652         (ignore_EPIPE): New variable.
36653         (close_stdout_set_ignore_EPIPE): New function.
36654         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
36655         * lib/close-stream.c (close_stream): Mention the possible EPIPE
36656         failure.
36657         * modules/closeout (Depends-on): Add stdbool.
36658
36659 2008-10-05  Bruno Haible  <bruno@clisp.org>
36660
36661         * modules/accept: New file.
36662         * modules/bind: New file.
36663         * modules/connect: New file.
36664         * modules/getpeername: New file.
36665         * modules/getsockname: New file.
36666         * modules/getsockopt: New file.
36667         * modules/listen: New file.
36668         * modules/recv: New file.
36669         * modules/recvfrom: New file.
36670         * modules/send: New file.
36671         * modules/sendto: New file.
36672         * modules/setsockopt: New file.
36673         * modules/socket: New file.
36674         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
36675         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36676         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
36677         the particular module is requested. Add a link warning when the
36678         particular module is not requested.
36679         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
36680         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
36681         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
36682         the particular module is requested.
36683         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
36684         gl_SYS_SOCKET_H_DEFAULTS): New macros.
36685         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
36686         * modules/sys_socket (Depends-on): Add link-warning.
36687         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
36688         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
36689         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
36690         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
36691         GL_LINK_WARNING.
36692         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
36693         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
36694         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
36695         * doc/posix-functions/getpeername.texi: Mention the new module
36696         'getpeername'.
36697         * doc/posix-functions/getsockname.texi: Mention the new module
36698         'getsockname'.
36699         * doc/posix-functions/getsockopt.texi: Mention the new module
36700         'getsockopt'.
36701         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
36702         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
36703         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
36704         * doc/posix-functions/send.texi: Mention the new module 'send'.
36705         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
36706         * doc/posix-functions/setsockopt.texi: Mention the new module
36707         'setsockopt'.
36708         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
36709         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
36710         listen, connect, accept.
36711         * modules/select-tests (Depends-on): Likewise.
36712
36713 2008-10-05  Bruno Haible  <bruno@clisp.org>
36714
36715         * lib/winsock.c (strerror): Remove unused #undef.
36716         (rpl_close): Remove unused local variable.
36717
36718         * modules/sys_socket (Depends-on); Add errno.
36719
36720 2008-10-05  Bruno Haible  <bruno@clisp.org>
36721
36722         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
36723         (select): Add a link warning when the 'select' module is not used.
36724         * modules/sys_select (Depends-on): Add link-warning.
36725         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
36726         Suggested by Paolo Bonzini.
36727
36728 2008-10-05  Jim Meyering  <meyering@redhat.com>
36729
36730         bootstrap: check for LT_INIT more portably
36731         * build-aux/bootstrap: Avoid using grep -E, since it's not
36732         portable enough.  Suggestion from Bruno Haible.
36733
36734 2008-10-05  Bruno Haible  <bruno@clisp.org>
36735
36736         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
36737         as being fixed by gnulib.
36738
36739 2008-10-05  Bruno Haible  <bruno@clisp.org>
36740
36741         * modules/select-tests: New file, mostly copied from
36742         modules/sys_select-tests.
36743         * tests/test-select.c: New file, mostly copied from
36744         tests/test-sys_select.c.
36745         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
36746         * modules/sys_select-tests (Depends-on): Remove all dependencies.
36747         (Makefile.am): Remove test_sys_select_LDADD.
36748
36749         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
36750         to an undefined symbol, for an error message.
36751         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
36752         (gl_SYS_SELECT_H_DEFAULTS): New macro.
36753         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
36754         winsock-select.c here.
36755         * modules/sys_select (Files): Remove lib/winsock-select.c.
36756         (Depends-on): Remove alloca.
36757         (Makefile.am): Substitute GNULIB_SELECT.
36758         * modules/select: New file.
36759         * doc/posix-functions/select.texi: Update.
36760
36761 2008-10-05  Bruno Haible  <bruno@clisp.org>
36762
36763         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
36764         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
36765         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
36766         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
36767         getdtablesize.
36768         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
36769         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
36770
36771 2008-10-05  Bruno Haible  <bruno@clisp.org>
36772
36773         * modules/getdtablesize-tests: New file.
36774         * tests/test-getdtablesize.c: New file.
36775
36776         New module 'getdtablesize'.
36777         * lib/unistd.in.h (getdtablesize): New declaration.
36778         * lib/getdtablesize.c: New file.
36779         * m4/getdtablesize.m4: New file.
36780         * modules/getdtablesize: New file.
36781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36782         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
36783         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
36784         HAVE_GETDTABLESIZE.
36785         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
36786
36787 2008-10-05  Bruno Haible  <bruno@clisp.org>
36788
36789         * modules/sched (Makefile.am): Fix typo.
36790         Reported by Simon Josefsson.
36791
36792 2008-10-05  Jim Meyering  <meyering@redhat.com>
36793
36794         bootstrap: check for LT_INIT, too
36795         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
36796         are deprecated.  Suggestion from Ralf Wildenhues.
36797
36798 2008-10-05  Bruno Haible  <bruno@clisp.org>
36799
36800         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
36801         overriding them by ours.
36802         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
36803
36804 2008-10-05  Jim Meyering  <meyering@redhat.com>
36805
36806         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
36807         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
36808         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
36809
36810 2008-10-04  Bruno Haible  <bruno@clisp.org>
36811
36812         * modules/dup2 (License): Change to LGPLv2+.
36813         * modules/sleep (License): Likewise.
36814         * modules/perror (License): Likewise.
36815         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
36816         Blake.
36817         * modules/signal (License): Likewise.
36818         * modules/sigprocmask (License): Likewise.
36819         * modules/raise (License): Change to LGPLv2+, with approval by Jim
36820         Meyering.
36821
36822 2008-10-04  Bruno Haible  <bruno@clisp.org>
36823
36824         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
36825         Reported by Rainer Tammer <tammer@tammer.net>.
36826
36827 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
36828             Bruno Haible  <bruno@clisp.org>
36829
36830         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
36831         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
36832         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
36833
36834 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
36835
36836         filevercmp: new module
36837         * lib/filevercmp.h: New function filevercmp comparing version strings.
36838         * lib/filevercmp.c: Implementation of filevercmp function.
36839         * modules/filevercmp: Module metadata.
36840         * tests/test-filevercmp.c: Unit test for new module.
36841         * modules/filevercmp-tests: Unit test metadata.
36842         * MODULES.html.sh: Add filevercmp module.
36843
36844 2008-10-03  Bruno Haible  <bruno@clisp.org>
36845
36846         * lib/c-ctype.h: Add comment.
36847         Reported by Jim Meyering.
36848
36849 2008-10-02  Bruno Haible  <bruno@clisp.org>
36850
36851         * modules/posix_spawn-internal (Depends-on): Add 'open'.
36852
36853 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36854
36855         * build-aux/bootstrap: Allow renaming bootstrap, and change the
36856         name of bootstrap.conf accordingly.
36857
36858 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36859
36860         * build-aux/bootstrap: Install git-merge-changelog configuration
36861         items into .gitconfig if needed.
36862
36863 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36864
36865         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
36866         git repository, and initialize/update it accordingly.
36867
36868 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
36869
36870         * modules/fsync-tests: New file.
36871         * tests/test-fsync.c: New file.
36872
36873         New module 'fsync'.
36874         * lib/fsync.c: New file.
36875         * m4/fsync.m4: New file.
36876         * modules/fsync: New file.
36877         * lib/unistd.in.h (fsync): New declaration.
36878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
36879         GNULIB_FSYNC and HAVE_FSYNC.
36880         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
36881         * MODULES.html.sh (posix_functions): Add fsync.
36882         * doc/posix-functions/fsync.texi: Mention the new module.
36883
36884 2008-10-02  Jim Meyering  <meyering@redhat.com>
36885
36886         fts.c: sync with similar code from coreutils' remove.c
36887         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
36888         Guard also with "#if defined __linux__", since for now at least,
36889         this code is Linux-kernel-specific.
36890
36891 2008-10-02  Jim Meyering  <meyering@redhat.com>
36892
36893         fts: bug fixes
36894         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
36895         Include <sys/vfs.h>, not <sys/statfs.h>.
36896
36897         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
36898         Include <sys/vfs.h>, not <sys/statfs.h>.
36899
36900 2008-10-01  Bruno Haible  <bruno@clisp.org>
36901
36902         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
36903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
36904         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
36905         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
36906         * doc/posix-functions/posix_spawnp.texi: Likewise.
36907         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
36908         whether posix_spawn actually works.
36909         * m4/pipe.m4 (gl_PIPE): Likewise.
36910         * modules/execute (Files): Add m4/posix_spawn.m4.
36911         * modules/pipe (Files): Add m4/posix_spawn.m4.
36912         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
36913
36914 2008-10-01  Jim Meyering  <meyering@redhat.com>
36915
36916         remove trailing spaces
36917         * NEWS: Likewise.
36918         * lib/poll.c (poll): Likewise.
36919         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
36920         * lib/winsock.c (rpl_close): Likewise.
36921         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
36922         * modules/yield: Likewise.
36923         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
36924         * tests/test-sys_select.c (connect_to_socket): Likewise.
36925
36926         fts.c: adjust a new interface to be more generally useful
36927         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
36928         (fts_build): Adjust caller.
36929
36930 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36931
36932         * modules/cond-tests: New file.
36933         * tests/test-cond.c: New file.
36934
36935 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36936             Bruno Haible  <bruno@clisp.org>
36937
36938         * modules/cond (Dependencies): Add errno, time.
36939         * lib/glthread/cond.h: Include <time.h>.
36940         (gl_cond_define, gl_cond_define_initialized): Use the same definition
36941         across platforms.
36942
36943 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36944             Bruno Haible  <bruno@clisp.org>
36945
36946         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
36947
36948 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36949             Bruno Haible  <bruno@clisp.org>
36950
36951         * modules/tls-tests (Depends-on): Add thread, yield.
36952         (configure.ac): Remove all checks.
36953         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
36954         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36955         gl_thread_self): Remove definitions. Include glthread/thread.h and
36956         glthread/yield.h instead.
36957         (test_tls): Pass an additional NULL argument to gl_thread_join.
36958
36959 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36960             Bruno Haible  <bruno@clisp.org>
36961
36962         * modules/lock-tests (Depends-on): Add thread, yield.
36963         (configure.ac): Remove all checks.
36964         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
36965         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36966         gl_thread_self): Remove definitions. Include glthread/thread.h and
36967         glthread/yield.h instead.
36968         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
36969         additional NULL argument to gl_thread_join.
36970
36971 2008-09-30  Bruno Haible  <bruno@clisp.org>
36972
36973         Fix the Win32 implementation of the 'thread' module.
36974         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
36975         pointer type.
36976         (gl_thread_self): Invoke gl_thread_self_func.
36977         (gl_thread_self_func): New declaration.
36978         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
36979         (do_init_self_key, init_self_key): New functions.
36980         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
36981         Remove some fields.
36982         (running_threads, running_lock): Remove variables.
36983         (get_current_thread_handle): New function.
36984         (gl_thread_self_func, wrapper_func, glthread_create_func,
36985         glthread_join_func, gl_thread_exit_func): Largely rewritten and
36986         simplified.
36987
36988 2008-09-30  Bruno Haible  <bruno@clisp.org>
36989
36990         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
36991         files.
36992
36993 2008-09-30  Jim Meyering  <meyering@redhat.com>
36994
36995         fts.m4: correct the test for statfs.f_type
36996         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
36997         when checking for statfs.f_type.
36998
36999 2008-09-15  Simon Josefsson  <simon@josefsson.org>
37000
37001         tests: avoid some compiler warnings
37002         * tests/test-memchr.c (main): Pass NULL indirectly.
37003         * tests/test-getdate.c (main): Remove unused variable 'ret'.
37004
37005 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
37006
37007         getdate.y: disallow countable dayshifts like "4 yesterday ago"
37008         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
37009         exactly specified dayshifts.
37010         (dayshift): New rule.
37011         (rel): Add dayshift.
37012         (relative_time_table) [tomorrow, yesterday, today, now]:
37013         Use tDAY_SHIFT in place of tDAY_UNIT.
37014         * tests/test-getdate.c: Add tests for now-disallowed countable
37015         dayshifts, e.g., "4 yesterday ago".
37016
37017 2008-09-29  Bruno Haible  <bruno@clisp.org>
37018
37019         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
37020         * tests/test-posix_spawn1.in.sh: Renamed from
37021         tests/test-posix_spawn.in.sh.
37022         * tests/test-posix_spawn2.c: New file.
37023         * tests/test-posix_spawn2.in.sh: New file.
37024         * modules/posix_spawnp-tests (Files): Update.
37025         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
37026
37027 2008-09-29  Bruno Haible  <bruno@clisp.org>
37028
37029         Propagate effects of putenv/setenv/unsetenv to child processes.
37030         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
37031         * lib/pipe.c (create_pipe): Likewise.
37032
37033 2008-09-29  Bruno Haible  <bruno@clisp.org>
37034
37035         Enable use of shell scripts as executables in mingw.
37036         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
37037         run the program as a shell script.
37038         * lib/pipe.c (create_pipe): Likewise.
37039         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
37040         resulting array.
37041
37042 2008-09-29  Eric Blake  <ebb9@byu.net>
37043
37044         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
37045
37046 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
37047
37048         * doc/posix-functions/accept.texi: Update mingw problems.
37049         * doc/posix-functions/bind.texi: Update mingw problems.
37050         * doc/posix-functions/close.texi: Update mingw problems.
37051         * doc/posix-functions/connect.texi: Update mingw problems.
37052         * doc/posix-functions/getpeername.texi: Update mingw problems.
37053         * doc/posix-functions/getsockname.texi: Update mingw problems.
37054         * doc/posix-functions/getsockopt.texi: Update mingw problems.
37055         * doc/posix-functions/ioctl.texi: Update mingw problems.
37056         * doc/posix-functions/listen.texi: Update mingw problems.
37057         * doc/posix-functions/recv.texi: Update mingw problems.
37058         * doc/posix-functions/recvfrom.texi: Update mingw problems.
37059         * doc/posix-functions/select.texi: Update mingw problems.
37060         * doc/posix-functions/send.texi: Update mingw problems.
37061         * doc/posix-functions/sendto.texi: Update mingw problems.
37062         * doc/posix-functions/setsockopt.texi: Update mingw problems.
37063         * doc/posix-functions/socket.texi: Update mingw problems.
37064
37065 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
37066             Bruno Haible  <bruno@clisp.org>
37067
37068         * lib/sys_select.in.h: Include sys/time.h.
37069         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
37070         * modules/sys_select: Depend on sys_time.
37071         * tests/test-sys_select.c: Test that sys/select.h defines struct
37072         timeval fully.
37073
37074 2008-09-29  Bruno Haible  <bruno@clisp.org>
37075
37076         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
37077         * lib/sys_select.in.h: Likewise.
37078
37079 2008-09-29  Bruno Haible  <bruno@clisp.org>
37080
37081         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
37082
37083 2008-09-29  Bruno Haible  <bruno@clisp.org>
37084
37085         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
37086         Set LIBSOCKET instead of augmenting LIBS.
37087         * modules/sockets (Link): New section.
37088         * modules/sockets-tests (test_sockets_LDADD): New variable.
37089         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
37090         * modules/poll-tests (test_poll_LDADD): New variable.
37091         * NEWS: Document the change.
37092
37093 2008-09-29  Bruno Haible  <bruno@clisp.org>
37094
37095         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
37096         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
37097         ARPA_INET_H directly.
37098         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37099
37100 2008-09-28  Bruno Haible  <bruno@clisp.org>
37101
37102         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
37103         from gl_HEADER_SYS_SOCKET.
37104         (gl_HEADER_SYS_SOCKET): Invoke it.
37105         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37106
37107 2008-09-28  Bruno Haible  <bruno@clisp.org>
37108
37109         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
37110         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
37111         Needed on OSF/1 4.0.
37112
37113 2008-09-28  Bruno Haible  <bruno@clisp.org>
37114
37115         Override open more carefully.
37116         * lib/open.c (orig_open): New function.
37117         (rpl_open): Use orig_open instead of open.
37118         * lib/fcntl.in.h: Add special invocation convention.
37119         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
37120         (gl_FUNC_OPEN): Invoke it.
37121
37122         Override freopen more carefully.
37123         * lib/freopen.c (orig_freopen): New function.
37124         (rpl_freopen): Use orig_freopen instead of freopen.
37125         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
37126         (gl_FUNC_FREOPEN): Invoke it.
37127
37128         Override fopen more carefully.
37129         * lib/fopen.c (orig_fopen): New function.
37130         (rpl_fopen): Use orig_fopen instead of fopen.
37131         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
37132         (gl_FUNC_FOPEN): Invoke it.
37133         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
37134
37135 2008-09-28  Bruno Haible  <bruno@clisp.org>
37136
37137         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
37138         SIGPIPE.
37139
37140 2008-09-28  Bruno Haible  <bruno@clisp.org>
37141
37142         * tests/test-sigaction.c (handler, main): Disable the check whether
37143         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
37144         glibc systems with LinuxThreads.
37145
37146 2008-09-28  Bruno Haible  <bruno@clisp.org>
37147
37148         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
37149
37150         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
37151         with AIX xlc.
37152         * lib/fcntl.in.h (open): Likewise.
37153         Reported by Rainer Tammer <tammer@tammer.net>.
37154
37155 2008-09-28  Bruno Haible  <bruno@clisp.org>
37156
37157         * modules/posix_spawnp-tests: New file.
37158         * tests/test-posix_spawn.c: New file.
37159         * tests/test-posix_spawn.in.sh: New file.
37160
37161         New module 'posix_spawnp'.
37162         * modules/posix_spawnp: New file.
37163         * lib/spawnp.c: New file, from GNU libc with modifications.
37164         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
37165
37166         New module 'posix_spawn'.
37167         * modules/posix_spawn: New file.
37168         * lib/spawn.c: New file, from GNU libc with modifications.
37169         * doc/posix-functions/posix_spawn.texi: Mention the new module.
37170
37171         New module 'posix_spawnattr_destroy'.
37172         * modules/posix_spawnattr_destroy: New file.
37173         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
37174         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
37175         module.
37176
37177         New module 'posix_spawnattr_setsigmask'.
37178         * modules/posix_spawnattr_setsigmask: New file.
37179         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
37180         modifications.
37181         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
37182         new module.
37183
37184         New module 'posix_spawnattr_getsigmask'.
37185         * modules/posix_spawnattr_getsigmask: New file.
37186         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
37187         modifications.
37188         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
37189         new module.
37190
37191         New module 'posix_spawnattr_setsigdefault'.
37192         * modules/posix_spawnattr_setsigdefault: New file.
37193         * lib/spawnattr_setdefault.c: New file, from GNU libc with
37194         modifications.
37195         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
37196         new module.
37197
37198         New module 'posix_spawnattr_getsigdefault'.
37199         * modules/posix_spawnattr_getsigdefault: New file.
37200         * lib/spawnattr_getdefault.c: New file, from GNU libc with
37201         modifications.
37202         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
37203         new module.
37204
37205         New module 'posix_spawnattr_setschedpolicy'.
37206         * modules/posix_spawnattr_setschedpolicy: New file.
37207         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
37208         modifications.
37209         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
37210         new module.
37211
37212         New module 'posix_spawnattr_getschedpolicy'.
37213         * modules/posix_spawnattr_getschedpolicy: New file.
37214         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
37215         modifications.
37216         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
37217         new module.
37218
37219         New module 'posix_spawnattr_setschedparam'.
37220         * modules/posix_spawnattr_setschedparam: New file.
37221         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
37222         modifications.
37223         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
37224         new module.
37225
37226         New module 'posix_spawnattr_getschedparam'.
37227         * modules/posix_spawnattr_getschedparam: New file.
37228         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
37229         modifications.
37230         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
37231         new module.
37232
37233         New module 'posix_spawnattr_setpgroup'.
37234         * modules/posix_spawnattr_setpgroup: New file.
37235         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
37236         modifications.
37237         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
37238         module.
37239
37240         New module 'posix_spawnattr_getpgroup'.
37241         * modules/posix_spawnattr_getpgroup: New file.
37242         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
37243         modifications.
37244         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
37245         module.
37246
37247         New module 'posix_spawnattr_setflags'.
37248         * modules/posix_spawnattr_setflags: New file.
37249         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
37250         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
37251         module.
37252
37253         New module 'posix_spawnattr_getflags'.
37254         * modules/posix_spawnattr_getflags: New file.
37255         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
37256         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
37257         module.
37258
37259         New module 'posix_spawnattr_init'.
37260         * modules/posix_spawnattr_init: New file.
37261         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
37262         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
37263         module.
37264
37265         New module 'posix_spawn_file_actions_destroy'.
37266         * modules/posix_spawn_file_actions_destroy: New file.
37267         * lib/spawn_faction_destroy.c: New file, from GNU libc with
37268         modifications.
37269         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
37270         the new module.
37271
37272         New module 'posix_spawn_file_actions_addopen'.
37273         * modules/posix_spawn_file_actions_addopen: New file.
37274         * lib/spawn_faction_addopen.c: New file, from GNU libc with
37275         modifications.
37276         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37277         the new module.
37278
37279         New module 'posix_spawn_file_actions_adddup2'.
37280         * modules/posix_spawn_file_actions_adddup2: New file.
37281         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
37282         modifications.
37283         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37284         the new module.
37285
37286         New module 'posix_spawn_file_actions_addclose'.
37287         * modules/posix_spawn_file_actions_addclose: New file.
37288         * lib/spawn_faction_addclose.c: New file, from GNU libc with
37289         modifications.
37290         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37291         the new module.
37292
37293         New module 'posix_spawn_file_actions_init'.
37294         * modules/posix_spawn_file_actions_init: New file.
37295         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
37296         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
37297         new module.
37298
37299         New module 'posix_spawn-internal'.
37300         * modules/posix_spawn-internal: New file.
37301         * lib/spawn_int.h: New file, from GNU libc with modifications.
37302         * lib/spawni.c: New file, from GNU libc with modifications.
37303         * m4/posix_spawn.m4: New file.
37304
37305         New module 'spawn'.
37306         * modules/spawn: New file.
37307         * lib/spawn.in.h: New file, from GNU libc with modifications.
37308         * m4/spawn_h.m4: New file.
37309         * doc/posix-headers/spawn.texi: Mention the new module.
37310
37311 2008-09-28  Bruno Haible  <bruno@clisp.org>
37312
37313         * modules/sched-tests: New file.
37314         * tests/test-sched.c: New file.
37315
37316         New module 'sched'.
37317         * modules/sched: New file.
37318         * lib/sched.in.h: New file.
37319         * m4/sched_h.m4: New file.
37320         * doc/posix-headers/sched.texi: Mention the new module.
37321
37322 2008-09-27  Eric Blake  <ebb9@byu.net>
37323
37324         Fix previous patch, and tweak references to $0.
37325         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
37326         (func_version, func_gnulib_dir): Don't call this program
37327         gnulib-tool.
37328         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
37329         with using $0 in function.
37330         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
37331         (func_fatal_error): Reuse the name the user invoked us with.
37332
37333 2008-09-27  Bruno Haible  <bruno@clisp.org>
37334
37335         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
37336         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
37337         (gl_ICONV_H): Not here.
37338         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37339         instead of assigning ICONV_H directly.
37340
37341         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
37342         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
37343         WCHAR_H directly.
37344
37345 2008-09-27  Bruno Haible  <bruno@clisp.org>
37346
37347         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
37348         * modules/arpa_inet (Depends-on): Add link-warning.
37349         (Makefile.am): Insert the definition of GL_LINK-WARNING.
37350         * modules/unistd (Makefile.am): Likewise.
37351
37352 2008-09-26  Bruno Haible  <bruno@clisp.org>
37353
37354         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
37355         variables.
37356         (func_version): Essentially copied from gnulib-tool.
37357         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
37358         func_readlink): Copied from gnulib-tool.
37359
37360 2008-09-26  Bruno Haible  <bruno@clisp.org>
37361
37362         * gnulib-tool (func_version): Change directory to $gnulib_dir before
37363         invoking git-version-gen.
37364
37365 2008-09-26  Bruno Haible  <bruno@clisp.org>
37366
37367         * posix-modules: Update to directory names changed on 2008-01-19.
37368         Remove commas in output before splitting into words. No more need to
37369         avoid 'ftruncate' since 2007-02-19.
37370
37371 2008-09-26  Bruno Haible  <bruno@clisp.org>
37372
37373         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
37374
37375 2008-09-26  Bruno Haible  <bruno@clisp.org>
37376
37377         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
37378         * modules/fwriteerror (Depends-on): Add errno.
37379
37380 2008-09-26  Bruno Haible  <bruno@clisp.org>
37381
37382         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
37383         * tests/test-vc-list-files-cvs.sh: Likewise.
37384
37385 2008-09-26  Bruno Haible  <bruno@clisp.org>
37386
37387         * doc/posix-headers/sys_resource.texi: Reorder items.
37388
37389 2008-09-26  Jim Meyering  <meyering@redhat.com>
37390
37391         fts: tweak inode comparison function
37392         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
37393         inode numbers, as documented.
37394
37395         fts: sort dirent entries on inode number before traversing
37396         This avoids a quadratic, seek-related performance penalty when
37397         operating on a directory containing many entries (measurable at 10k;
37398         3.5 hours at 2 million entries with a cold cache) on certain types
37399         of file systems, including ext3 and ext4, but not tmpfs.
37400         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
37401         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
37402         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
37403         (fs_handles_readdir_ordered_dirents_efficiently): New function.
37404         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
37405         (fts_build): Set the stat.st_ino member from D_INO.
37406         If it is likely to be useful, sort dirent entries on inode number.
37407
37408         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
37409         and the struct statfs.f_type member.
37410         * modules/fts (Depends-on): Add d-ino.
37411
37412 2008-09-26  Bruno Haible  <bruno@clisp.org>
37413
37414         * modules/sigpipe-die (Depends-on): Add sigpipe.
37415
37416         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
37417         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
37418         and GNULIB_STDIO_H_SIGPIPE are set.
37419         * lib/stdio-write.c: New file.
37420         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
37421         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37422         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37423         REPLACE_STDIO_WRITE_FUNCS.
37424         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
37425         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37426         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37427         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37428         * modules/stdio (Files): Add lib/stdio-write.c.
37429         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
37430         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37431         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37432         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37433         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
37434         REPLACE_FPRINTF_POSIX.
37435         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
37436         REPLACE_PRINTF_POSIX.
37437         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
37438         REPLACE_VFPRINTF_POSIX.
37439         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
37440         REPLACE_VPRINTF_POSIX.
37441         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
37442         SIGPIPE issue.
37443         * doc/posix-functions/fputc.texi: Likewise.
37444         * doc/posix-functions/fputs.texi: Likewise.
37445         * doc/posix-functions/fwrite.texi: Likewise.
37446         * doc/posix-functions/printf.texi: Likewise.
37447         * doc/posix-functions/putc.texi: Likewise.
37448         * doc/posix-functions/putchar.texi: Likewise.
37449         * doc/posix-functions/puts.texi: Likewise.
37450         * doc/posix-functions/vfprintf.texi: Likewise.
37451         * doc/posix-functions/vprintf.texi: Likewise.
37452
37453         * modules/safe-write (Depends-on): Add write.
37454
37455         * modules/sigpipe-tests: New file.
37456         * tests/test-sigpipe.c: New file.
37457         * tests/test-sigpipe.sh: New file.
37458
37459         * modules/write: New file.
37460         * lib/unistd.in.h: Include <sys/types.h>.
37461         (write): New declaration.
37462         * lib/write.c: New file.
37463         * m4/write.m4: New file.
37464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37465         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
37466         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
37467         GNULIB_WRITE, REPLACE_WRITE.
37468         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
37469         and the SIGPIPE issue.
37470
37471         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
37472         (raise): New declaration.
37473         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
37474         (ext_signal): New function.
37475         (rpl_raise): New function.
37476         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
37477         GNULIB_SIGNAL_H_SIGPIPE.
37478         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
37479         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
37480
37481         * modules/sigpipe: New file.
37482         * m4/sigpipe.m4: New file.
37483
37484 2008-09-25  Derek Price  <derek@ximbiot.com>
37485             Bruno Haible  <bruno@clisp.org>
37486
37487         * gnulib-tool (func_import): Report all license incompatibilities, not
37488         just the first one.
37489
37490 2008-09-25  Bruno Haible  <bruno@clisp.org>
37491
37492         * gnulib-tool (func_import): When computing the edits, consider not
37493         only the Makefile.ams that exist but also those that will be generated.
37494
37495 2008-09-25  Simon Josefsson  <simon@josefsson.org>
37496
37497         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
37498         fixes gnulib-tool --test warning about duplicate dependency.
37499
37500 2008-09-25  Bruno Haible  <bruno@clisp.org>
37501
37502         * gnulib-tool: Don't ask the user to perform edits in the generated
37503         Makefile.ams.
37504         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
37505         apply to the Makefile.am being generated.
37506         (func_emit_tests_Makefile_am): Execute edits that apply to the
37507         Makefile.am being generated.
37508         (func_import): Setup list of Makefile.am edits before emitting the
37509         Makefile.ams, not at the end.
37510         (func_create_testdir): Update.
37511         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37512
37513 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37514
37515         * gnulib-tool (func_import): Store the --tests-base option in the
37516         comment in gnulib-cache.m4.
37517
37518 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
37519
37520         * NEWS: Document increased portability that sys_select now provides.
37521
37522         * lib/sys_select.in.h: Install select wrapper.
37523         * lib/sys_socket.in.h: Use more descriptive name when there is no
37524         select wrapper.
37525         * lib/winsock-select.c: New.
37526         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
37527         Require gl_HEADER_SYS_SOCKET.
37528         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
37529         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
37530         * tests/test-sys_select.c: Add functional tests.
37531
37532 2008-09-24  Eric Blake  <ebb9@byu.net>
37533
37534         open, fopen: close fd leak in last patch
37535         * lib/open.c (rpl_open): Close fd before returning error.
37536         * lib/fopen.c (rpl_fopen): Close fd before returning error.
37537         * doc/posix-functions/open.texi (open): Document that Irix also
37538         has the bug.
37539         * doc/posix-functions/fopen.texi (fopen): Likewise.
37540         Reported by Paolo Bonzini.
37541
37542 2008-09-24  Bruno Haible  <bruno@clisp.org>
37543
37544         Ensure that a filename ending in a slash cannot be used to access a
37545         non-directory.
37546         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
37547         to check whether it's really a directory.
37548         * lib/fopen.c: Include fcntl.h, unistd.h.
37549         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
37550         and fdopen().
37551         * modules/fopen (Depends-on): Add unistd.
37552         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
37553         * tests/test-fopen.c (main): Likewise.
37554         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
37555         * doc/posix-functions/fopen.texi: Likewise.
37556         Reported by Eric Blake.
37557
37558 2008-09-23  Eric Blake  <ebb9@byu.net>
37559
37560         c-stack: avoid compiler optimizations when provoking overflow
37561         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
37562         recursion harder to optimize, to ensure a stack overflow occurs.
37563         * tests/test-c-stack.c (recurse): Likewise.
37564         Borrowed from libsigsegv.
37565
37566         c-stack: work around Irix sigaltstack bug
37567         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
37568         whether sigaltstack uses wrong end of stack_t (copied in part from
37569         libsigsegv).
37570         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
37571         Irix bug, without requiring an over-allocation.
37572         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
37573         bug.
37574
37575         fopen: document mingw bug on directories
37576         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
37577         not allowing a stream visiting a directory, even though reading
37578         from such a stream is not portable.
37579
37580 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37581
37582         * lib/poll.c: Rewrite.
37583         * modules/poll: Depend on alloca.
37584
37585 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37586
37587         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
37588         instead define prototypes for a full set of wrappers.  Ensure
37589         that Cygwin does not use the compatibility code, which is only
37590         for MinGW.
37591         * lib/winsock.c: New.
37592         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
37593         * modules/sys_socket: Add lib/winsock.c.
37594
37595         * modules/poll-tests: Add errno and perror.
37596         * tests/test-poll.c: Use ioctl, not ioctlsocket.
37597
37598 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37599
37600         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37601
37602 2008-09-23  Bruno Haible  <bruno@clisp.org>
37603
37604         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37605         * doc/glibc-functions/*: Likewise.
37606
37607 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37608
37609         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37610         success.
37611
37612 2008-09-22  Eric Blake  <ebb9@byu.net>
37613             Bruno Haible  <bruno@clisp.org>
37614
37615         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37616         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37617         supply %A but mishandle pseudo-NaN.
37618         Reported by Simon Josefsson.
37619
37620 2008-09-21  Bruno Haible  <bruno@clisp.org>
37621
37622         * tests/test-lock.c (main): Tweak skip message.
37623         * tests/test-tls.c (main): Likewise.
37624
37625 2008-09-21  Bruno Haible  <bruno@clisp.org>
37626
37627         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37628         whether 'struct sigaction' has sa_sigaction here...
37629         (gl_PREREQ_SIG_HANDLER_H): ... not here.
37630         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
37631
37632 2008-09-21  Bruno Haible  <bruno@clisp.org>
37633
37634         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
37635         section.
37636         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
37637         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
37638         the new section.
37639         (Support for obsolete systems lacking POSIX:2001): New section.
37640         (String handling <string.h>): Move strdup to the new section.
37641         Suggested by Simon Josefsson and Paolo Bonzini.
37642
37643 2008-09-21  Bruno Haible  <bruno@clisp.org>
37644
37645         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
37646         exponents in %e and %g results on 'long double'. Needed for mingw's
37647         improved *printf functions.
37648         * tests/test-vasprintf-posix.c (test_function): Likewise.
37649         * tests/test-snprintf-posix.h (test_function): Likewise.
37650         * tests/test-sprintf-posix.h (test_function): Likewise.
37651         Reported by Eric Blake.
37652
37653 2008-09-21  Bruno Haible  <bruno@clisp.org>
37654
37655         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
37656         * tests/test-sprintf-posix.h (test_function): Likewise.
37657
37658 2008-09-21  Bruno Haible  <bruno@clisp.org>
37659
37660         * modules/getpass (Depends-on): Add strdup-posix.
37661
37662         New module 'strdup-posix'.
37663         * modules/strdup-posix: New file.
37664         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
37665         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
37666         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37667         REPLACE_STRDUP.
37668         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
37669         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
37670         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37671         strdup-posix.
37672
37673         * modules/strdup (Depends-on): Remove malloc-posix.
37674
37675 2008-09-20  Bruno Haible  <bruno@clisp.org>
37676
37677         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
37678         Wildenhues.
37679
37680 2008-09-20  Bruno Haible  <bruno@clisp.org>
37681
37682         Ensure that wint_t gets defined on IRIX 5.3.
37683         * lib/wchar.in.h (wint_t): Define if not defined by the system.
37684         * lib/wctype.in.h (wint_t): Likewise.
37685         (__wctype_wint_t): Remove type.
37686         (isw*): Use wint_t instead of __wctype_wint_t.
37687         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
37688         * modules/wchar (Files): Add m4/wint_t.m4.
37689         (Makefile.am): Substitute HAVE_WINT_T.
37690         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
37691         * tests/test-wctype.c: Check that wint_t is defined.
37692         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
37693         * doc/posix-headers/wctype.texi: Likewise.
37694         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37695
37696 2008-09-18  Bruno Haible  <bruno@clisp.org>
37697
37698         * gnulib-tool (func_exit): Update comment.
37699
37700 2008-09-18  Simon Josefsson  <simon@josefsson.org>
37701
37702         * modules/getaddrinfo (Depends-on): Remove strdup, this module
37703         assumes strdup exists and does not depend on strdup to return
37704         ENOMEM on out of memory conditions.
37705
37706 2008-09-18  Bruno Haible  <bruno@clisp.org>
37707
37708         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
37709         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
37710         digits for the exponent.
37711
37712 2008-09-18  Jim Meyering  <meyering@redhat.com>
37713             Bruno Haible  <bruno@clisp.org>
37714
37715         * lib/vasnprintf.c (decimal_point_char): Define also if
37716         NEED_PRINTF_INFINITE_LONG_DOUBLE.
37717
37718 2008-09-16  Bruno Haible  <bruno@clisp.org>
37719         and Eric Blake  <ebb9@byu.net>
37720
37721         vasnprintf: support Irix 5.3
37722         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
37723         that mishandle long double infinity.
37724         Reported by Tom G. Christensen.
37725
37726 2008-09-16  Bruno Haible  <bruno@clisp.org>
37727
37728         * doc/glibc-functions/scandir.texi: Mention the function is missing on
37729         Solaris 9.
37730         * doc/glibc-functions/alphasort.texi: Likewise.
37731         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
37732
37733 2008-09-16  Jim Meyering  <meyering@redhat.com>
37734
37735         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
37736         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
37737         a umask modification leak out of a subshell.  Otherwise, the
37738         opensolaris /bin/sh would be accepted and thus cause unwarranted
37739         failures in the coreutils test suite.
37740
37741 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
37742
37743         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
37744         to succeed.
37745
37746 2008-09-16  Jim Meyering  <meyering@redhat.com>
37747
37748         avoid spurious test failure when library is built without ACL support
37749         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
37750         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
37751         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
37752         * tests/test-copy-acl.sh: Likewise.
37753
37754 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37755
37756         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
37757         based on character occurrence counts.
37758
37759 2008-09-15  Eric Blake  <ebb9@byu.net>
37760
37761         tests: avoid some compiler warnings
37762         * tests/test-memchr.c (main): Pass NULL indirectly.
37763         * tests/test-closein.c (main): Avoid unused variable.
37764
37765 2008-09-15  Bruno Haible  <bruno@clisp.org>
37766
37767         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
37768         are missing on OpenBSD 4.0 individually.
37769         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37770
37771 2008-09-15  Bruno Haible  <bruno@clisp.org>
37772
37773         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
37774         * doc/posix-functions/strerror.texi: Mention also Cygwin.
37775         * doc/posix-functions/perror.texi: Likewise.
37776         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
37777         is missing.
37778         Reported by Eric Blake.
37779
37780         * lib/errno.in.h: Use replacement values >= 2000.
37781         Reported by Eric Blake.
37782
37783 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37784
37785         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
37786         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
37787         limit.
37788         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
37789         compareseq was aborted.
37790
37791 2008-09-14  Bruno Haible  <bruno@clisp.org>
37792
37793         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
37794         yvec_edit_count.
37795         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
37796         (fstrcmp_bounded): Simplify result computation accordingly.
37797
37798 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37799
37800         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
37801         (fstrcmp): Define in terms of fstrcmp_bounded.
37802         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
37803         lower_bound argument.
37804         Return quickly if the result is certainly < lower_bound.
37805         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
37806
37807 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37808
37809         * lib/diffseq.h (EARLY_ABORT): New macro.
37810         (compareseq): Change return type to bool. Return true when EARLY_ABORT
37811         evaluates to true.
37812
37813 2008-09-14  Bruno Haible  <bruno@clisp.org>
37814
37815         * modules/perror-tests: New file.
37816         * tests/test-perror.sh: New file.
37817         * tests/test-perror.c: New file.
37818
37819         New module 'perror'.
37820         * lib/stdio.in.h (perror): New declaration.
37821         * lib/perror.c: New file.
37822         * m4/perror.m4: New file.
37823         * modules/perror: New file.
37824         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
37825         * doc/posix-functions/perror.texi: Mention the perror module.
37826         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
37827         REPLACE_PERROR.
37828         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
37829         REPLACE_PERROR.
37830
37831 2008-09-14  Bruno Haible  <bruno@clisp.org>
37832
37833         * modules/stdio (Makefile.am): Reorder to match the order in
37834         lib/stdio.in.h.
37835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37836
37837 2008-09-13  Bruno Haible  <bruno@clisp.org>
37838
37839         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
37840
37841 2008-09-13  Bruno Haible  <bruno@clisp.org>
37842
37843         Extend strerror to cover the added errno values.
37844         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
37845         (rpl_strerror): Provide error messages for the added errno values and
37846         for the WSA* values.
37847         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
37848         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
37849         strerror.
37850         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
37851         * modules/strerror (Depends-on): Add errno.
37852         * doc/posix-functions/strerror.texi: Document the change.
37853         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
37854         and EOVERFLOW.
37855
37856 2008-09-13  Bruno Haible  <bruno@clisp.org>
37857
37858         * modules/EOVERFLOW: Remove file.
37859         * m4/eoverflow.m4: Remove file.
37860         * modules/EOVERFLOW-tests: Remove file.
37861         * tests/test-EOVERFLOW.c: Remove file.
37862         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
37863         * modules/ftell (Depends-on): Likewise.
37864         * modules/getdelim (Depends-on): Likewise.
37865         * modules/getugroups (Depends-on): Likewise.
37866         * modules/poll (Depends-on): Likewise.
37867         * modules/snprintf (Depends-on): Likewise.
37868         * modules/sprintf-posix (Depends-on): Likewise.
37869         * modules/vasnprintf (Depends-on): Likewise.
37870         * modules/vasprintf (Depends-on): Likewise.
37871         * modules/vfprintf-posix (Depends-on): Likewise.
37872         * modules/vsnprintf (Depends-on): Likewise.
37873         * modules/vsprintf-posix (Depends-on): Likewise.
37874         * modules/xvasprintf (Depends-on): Likewise.
37875         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37876         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
37877         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
37878         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
37879         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37880         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
37881         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
37882         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
37883         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37884         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
37885         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
37886         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
37887         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37888         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
37889         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
37890         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
37891         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37892         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
37893         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
37894         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
37895         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37896         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
37897         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
37898         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
37899         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
37900         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37901         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
37902         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
37903         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
37904         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
37905         * MODULES.html.sh: Remove EOVERFLOW.
37906         * NEWS: Mention the change.
37907
37908 2008-09-13  Bruno Haible  <bruno@clisp.org>
37909
37910         * modules/errno-tests: New file.
37911         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
37912
37913         * lib/errno.in.h: New file.
37914         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
37915         * modules/errno: New file.
37916         * doc/posix-headers/errno.texi: Update documentation.
37917         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
37918
37919 2008-09-13  Bruno Haible  <bruno@clisp.org>
37920
37921         * tests/test-poll.c: Use #if for native Windows, rather than testing
37922         __MSVCRT__.
37923
37924 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37925             Bruno Haible  <bruno@clisp.org>
37926
37927         * lib/glob.c: Don't include <pwd.h> on native Windows.
37928         (WINDOWS32): New macro.
37929         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
37930
37931 2008-09-13  Bruno Haible  <bruno@clisp.org>
37932
37933         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
37934         (ETIMEDOUT): Remove macro.
37935         (glthread_cond_timedwait_multithreaded): New declaration.
37936         (glthread_cond_timedwait): Use it.
37937         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
37938         (glthread_cond_timedwait_multithreaded): New function.
37939
37940 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37941
37942         * modules/poll-tests: Do not check for io.h.
37943         * tests/test-poll.c: Check for __MSVCRT__ instead.
37944
37945 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37946
37947         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
37948         * modules/poll-tests: Add inet_pton, stdbool, sockets.
37949         * tests/test-poll.c: Use them.  Use _pipe on Windows.
37950
37951 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37952
37953         * modules/poll-tests: New.
37954         * tests/test-poll.c: New.
37955
37956 2008-09-12  Eric Blake  <ebb9@byu.net>
37957
37958         frexp: test for NetBSD failure on -0.0
37959         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
37960         not all, bugs from NetBSD 3.0 have been fixed.
37961         * doc/posix-functions/frexp.texi (frexp): Document bug.
37962         Reported by Thomas Klausner.
37963
37964         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
37965         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
37966         literal -0.0.
37967         Reported by Jonathan C. Patschke <jp@centtech.com>.
37968
37969 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37970
37971         * lib/glthread/cond.h: Use dummy implementation also if
37972         USE_WIN32_THREADS.
37973
37974 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37975
37976         * modules/fnmatch-posix (License): Change to LGPLv2+.
37977         * modules/fnmatch-gnu (License): Likewise.
37978
37979 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37980
37981         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
37982
37983 2008-09-11  Jim Meyering  <meyering@redhat.com>
37984
37985         * users.txt: Add gtk-vnc.
37986
37987 2008-09-08  Simon Josefsson  <simon@josefsson.org>
37988
37989         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
37990         rotate amounts.
37991
37992         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
37993         required for 16-bit and 8-bit rotates.
37994         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
37995         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
37996         UINT8_MAX instead of hard-coded constants.
37997         Suggested by Paul Eggert.
37998
37999 2008-09-07  Bruno Haible  <bruno@clisp.org>
38000
38001         * tests/test-striconveh.c (main): Check behaviour when converting from
38002         UTF-7.
38003
38004         Make striconveh work better with stateful encodings.
38005         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
38006         that iconv does not increment the inptr when returning -1/EINVAL.
38007
38008 2008-09-07  Bruno Haible  <bruno@clisp.org>
38009
38010         * build-aux/config.rpath: Update according to libtool-2.2.6.
38011         * build-aux/config.libpath: Likewise.
38012
38013 2008-09-06  Bruno Haible  <bruno@clisp.org>
38014
38015         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
38016         * lib/freadptr.c (freadptr): Likewise.
38017         * lib/freadseek.c (freadptrinc): Likewise.
38018         Reported by Simon Josefsson.
38019
38020 2008-09-06  Bruno Haible  <bruno@clisp.org>
38021
38022         * modules/freadptr (License): Change to LGPLv2+.
38023         * modules/freadseek (License): Likewise.
38024         Suggested by Eric Blake.
38025
38026         * modules/memchr2 (License): Change to LGPLv2+.
38027         Approved by Eric Blake.
38028
38029 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38030             Bruno Haible  <bruno@clisp.org>
38031
38032         Make gnulib-tool work with native 'sed' on AIX.
38033         * gnulib-tool (sed_noop): New variable.
38034         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
38035         func_add_or_update, func_create_testdir): Use it to initialize sed
38036         script variables.
38037         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38038
38039 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
38040             Bruno Haible  <bruno@clisp.org>
38041
38042         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
38043         also works after #include directives.
38044
38045 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
38046
38047         getdate.y: reject an out-of-range timezone value
38048         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
38049         the range [-24...+24].  When specified with only one or two digits,
38050         * tests/test-getdate.c: Tests for the fix.
38051         * doc/getdate.texi: Document this change.
38052
38053 2008-09-03  Bruno Haible  <bruno@clisp.org>
38054
38055         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
38056
38057 2008-09-02  Simon Josefsson  <simon@josefsson.org>
38058
38059         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
38060         <bruce.korb@gmail.com> with ideas from Ben Pfaff
38061         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
38062         Blake <ebb9@byu.net>.
38063
38064         * tests/test-bitrotate.c: Add more test vectors.
38065
38066 2008-09-02  Eric Blake  <ebb9@byu.net>
38067
38068         vasnprintf-posix: handle large precision via %.*d
38069         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
38070         when handling it ourselves.
38071         * tests/test-vasnprintf-posix.c (test_function): Add test.
38072         * tests/test-snprintf-posix.h (test_function): Likewise.
38073         * tests/test-sprintf-posix.h (test_function): Likewise.
38074         * tests/test-vasprintf-posix.c (test_function): Likewise.
38075         Reported by Alain Guibert.
38076
38077 2008-09-01  Eric Blake  <ebb9@byu.net>
38078
38079         c-stack: make configure-time check more robust
38080         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
38081         successful sigaction call.
38082         Reported by Tom G. Christensen.
38083
38084 2008-09-01  Bruno Haible  <bruno@clisp.org>
38085
38086         New module 'findprog-lgpl'.
38087         * modules/findprog-lgpl: New file.
38088         * lib/findprog-lgpl.c: New file.
38089         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
38090         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
38091         to decide whether to use strdup or xstrdup, concatenated_filename or
38092         xconcatenated_filename.
38093
38094 2008-09-01  Bruno Haible  <bruno@clisp.org>
38095
38096         Split module 'concat-filename' into 'concat-filename' (LGPL) and
38097         'xconcat-filename' (GPL).
38098         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
38099         (License): Change to LGPLv2+.
38100         * modules/xconcat-filename: New file.
38101         * lib/concat-filename.h (concatenated_filename): Change specification.
38102         (xconcatenated_filename): New declaration.
38103         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
38104         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
38105         memory situations.
38106         * lib/xconcat-filename.c: New file.
38107         * NEWS: Mention the change.
38108         * lib/findprog.c: Include concat-filename.h, not filename.h.
38109         (find_in_path): Use xconcatenated_filename instead of
38110         concatenated_filename.
38111         * lib/javacomp.c: Include concat-filename.h, not filename.h.
38112         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38113         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38114         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38115         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
38116         instead of concatenated_filename.
38117         * lib/javaexec.c: Include concat-filename.h, not filename.h.
38118         (execute_java_class): Use xconcatenated_filename instead of
38119         concatenated_filename.
38120         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
38121         * modules/javacomp (Depends-on): Likewise.
38122         * modules/javaexec (Depends-on): Likewise.
38123
38124 2008-09-01  Bruno Haible  <bruno@clisp.org>
38125
38126         Split module 'filename' into 'filename' and 'concat-filename'.
38127         * modules/filename: Keep only lib/filename.h.
38128         (License): Change to LGPLv2+.
38129         * modules/concat-filename: New file, extracted from modules/filename.
38130         * lib/filename.h (concatenated_filename): Remove declaration.
38131         * lib/concat-filename.h: New file, extracted from lib/filename.h.
38132         * lib/concat-filename.c: Include concat-filename.h.
38133         * NEWS: Mention the change.
38134
38135 2008-09-01  Simon Josefsson  <simon@josefsson.org>
38136
38137         * lib/bitrotate.h (rotl8, rotr8): Add.
38138
38139         * modules/bitrotate (configure.ac): Need
38140         AC_REQUIRE([AC_C_INLINE]).
38141         (Description): Mention stdint.h.  Reported by Bruno Haible
38142         <bruno@clisp.org>.
38143
38144         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
38145         Paolo Bonzini <bonzini@gnu.org>.
38146
38147 2008-08-31  Bruno Haible  <bruno@clisp.org>
38148
38149         Assume Solaris specific bi-arch conventions on Solaris systems.
38150         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
38151         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
38152         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
38153         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
38154         like acl_libdirstem.
38155         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
38156         acl_libdirstem.
38157         * NEWS: Mention the change.
38158         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
38159
38160 2008-08-31  Jim Meyering  <meyering@redhat.com>
38161
38162         * lib/strftime.h: Add comments describing the two added arguments.
38163
38164         remove duplicate #include directives
38165         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
38166         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
38167
38168 2008-08-31  Bruno Haible  <bruno@clisp.org>
38169
38170         New module 'sigpipe-die'.
38171         * modules/sigpipe-die: New file.
38172         * lib/sigpipe-die.h: New file.
38173         * lib/sigpipe-die.c: New file.
38174         * MODULES.html.sh (Signal handling): Add sigpipe-die.
38175
38176 2008-08-31  Bruno Haible  <bruno@clisp.org>
38177
38178         Don't override previously installed signal handlers.
38179         * lib/fatal-signal.c (saved_sigactions): New variable.
38180         (uninstall_handlers): Reset the signal to the saved handler, not
38181         to SIG_DFL (except when ignored).
38182         (install_handlers): Save the previous handlers.
38183
38184 2008-08-30  Bruno Haible  <bruno@clisp.org>
38185
38186         * gnulib-tool (func_reset_sigpipe): New function.
38187         (func_get_automake_snippet, func_modules_transitive_closure,
38188         func_import): Invoke it before a join command that reads from stdin,
38189         to avoid "echo: write error: Broken pipe" error messages on stderr.
38190         Reported by Sam Steingold <sds@gnu.org>.
38191
38192 2008-08-30  Bruno Haible  <bruno@clisp.org>
38193
38194         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
38195         Code copied from m4/open.m4.
38196         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
38197         access and the filename ends in a slash. Code copied from lib/open.c.
38198         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
38199         * tests/test-fopen.c (main): Check against bug with trailing slash.
38200
38201 2008-08-29  Bruno Haible  <bruno@clisp.org>
38202
38203         Avoid some "gcc -pedantic" warnings.
38204         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
38205         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
38206         * lib/dirent.in.h: Likewise.
38207         * lib/fcntl.in.h: Likewise.
38208         * lib/float.in.h: Likewise.
38209         * lib/iconv.in.h: Likewise.
38210         * lib/inttypes.in.h: Likewise.
38211         * lib/locale.in.h: Likewise.
38212         * lib/math.in.h: Likewise.
38213         * lib/netinet_in.in.h: Likewise.
38214         * lib/search.in.h: Likewise.
38215         * lib/signal.in.h: Likewise.
38216         * lib/stdarg.in.h: Likewise.
38217         * lib/stdint.in.h: Likewise.
38218         * lib/stdio.in.h: Likewise.
38219         * lib/stdlib.in.h: Likewise.
38220         * lib/string.in.h: Likewise.
38221         * lib/strings.in.h: Likewise.
38222         * lib/sys_select.in.h: Likewise.
38223         * lib/sys_socket.in.h: Likewise.
38224         * lib/sys_stat.in.h: Likewise.
38225         * lib/sys_time.in.h: Likewise.
38226         * lib/sysexits.in.h: Likewise.
38227         * lib/time.in.h: Likewise.
38228         * lib/unistd.in.h: Likewise.
38229         * lib/wchar.in.h: Likewise.
38230         * lib/wctype.in.h: Likewise.
38231         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
38232         * modules/fchdir (Makefile.am): Likewise.
38233         * modules/fcntl (Makefile.am): Likewise.
38234         * modules/float (Makefile.am): Likewise.
38235         * modules/iconv_open (Makefile.am): Likewise.
38236         * modules/inttypes (Makefile.am): Likewise.
38237         * modules/locale (Makefile.am): Likewise.
38238         * modules/math (Makefile.am): Likewise.
38239         * modules/netinet_in (Makefile.am): Likewise.
38240         * modules/search (Makefile.am): Likewise.
38241         * modules/signal (Makefile.am): Likewise.
38242         * modules/stdarg (Makefile.am): Likewise.
38243         * modules/stdint (Makefile.am): Likewise.
38244         * modules/stdio (Makefile.am): Likewise.
38245         * modules/stdlib (Makefile.am): Likewise.
38246         * modules/string (Makefile.am): Likewise.
38247         * modules/strings (Makefile.am): Likewise.
38248         * modules/sys_select (Makefile.am): Likewise.
38249         * modules/sys_socket (Makefile.am): Likewise.
38250         * modules/sys_stat (Makefile.am): Likewise.
38251         * modules/sys_time (Makefile.am): Likewise.
38252         * modules/sysexits (Makefile.am): Likewise.
38253         * modules/time (Makefile.am): Likewise.
38254         * modules/unistd (Makefile.am): Likewise.
38255         * modules/wchar (Makefile.am): Likewise.
38256         * modules/wctype (Makefile.am): Likewise.
38257         Reported by Reuben Thomas <rrt@sc3d.org>.
38258
38259 2008-08-29  Bruno Haible  <bruno@clisp.org>
38260
38261         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
38262         any more.
38263
38264 2008-08-29  Simon Josefsson  <simon@josefsson.org>
38265
38266         * MODULES.html.sh (Misc): Add bitrotate.
38267
38268         * modules/bitrotate: New file.
38269
38270         * lib/bitrotate.h: New file.
38271
38272         * modules/bitrotate-tests: New file.
38273
38274         * tests/test-bitrotate.c: New file.
38275
38276         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
38277         on the bitrotate module.
38278
38279         * lib/arctwo.c: Use new bitrotate module.
38280
38281 2008-08-29  Jim Meyering  <meyering@redhat.com>
38282
38283         bootstrap: merge changes from coreutils
38284         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
38285         of copied files.  Remove a kludge, now that this is fixed.
38286         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
38287         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
38288         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
38289
38290 2008-08-29  Bruno Haible  <bruno@clisp.org>
38291
38292         * MODULES.html.sh: Remove --cvs-urls option.
38293
38294 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
38295
38296         maint.mk: adjust to file name change
38297         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
38298
38299 2008-08-28  Jim Meyering  <meyering@redhat.com>
38300
38301         * modules/getndelim2 (License): Relicense to LGPLv2+.
38302         Approved by Richard Stallman for the version of 1995, and by
38303         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
38304
38305 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
38306
38307         * lib/getdelim.c (flockfile, funlockfile): Make all of them
38308         dummy if one is not available.  Do not touch them if
38309         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
38310         (getc_maybe_unlocked): New.
38311         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
38312
38313 2008-08-26  Eric Blake  <ebb9@byu.net>
38314
38315         doc/INSTALL: resync from autoconf
38316         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
38317         (INSTALL_PRELUDE): Delete; this is done more efficiently by
38318         moving...
38319         * install.texi [!autoconf]: ...here.  Resync from autoconf.
38320         * INSTALL: Regenerate.
38321         * INSTALL.ISO: New file.
38322         * INSTALL.UTF-8: Likewise.
38323
38324 2008-08-26  Jim Meyering  <meyering@redhat.com>
38325
38326         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
38327         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
38328         these definitions conditional, so that they may be overridden, too.
38329
38330 2008-08-26  Bruno Haible  <bruno@clisp.org>
38331
38332         Generate INSTALL file variants with prettier quotes.
38333         * doc/Makefile (INSTALL_PRELUDE): New macro.
38334         (INSTALL): Use it.
38335         (INSTALL.ISO, INSTALL.UTF-8): New rules.
38336
38337 2008-08-26  Bruno Haible  <bruno@clisp.org>
38338
38339         Run makeinfo in an English locale.
38340         * doc/Makefile (MAKEINFO): New variable.
38341
38342 2008-08-26  Bruno Haible  <bruno@clisp.org>
38343
38344         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
38345         Suggested by Eric Blake.
38346
38347 2008-08-25  Bruno Haible  <bruno@clisp.org>
38348
38349         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
38350
38351 2008-08-25  Eric Blake  <ebb9@byu.net>
38352
38353         c-stack: test that stack overflow can be caught
38354         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
38355         that platform allows handling stack overflow; at least OS/2 EMX
38356         has sigaltstack, but crashes before transferring control to
38357         handler on stack overflow.
38358         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
38359         check for HAVE_STACK_OVERFLOW_HANDLING.
38360         Reported by Elbert Pol.
38361
38362 2008-08-25  Bruno Haible  <bruno@clisp.org>
38363
38364         * doc/posix-functions/strftime.texi: Fix description of strftime
38365         module.
38366
38367 2008-08-24  Bruno Haible  <bruno@clisp.org>
38368
38369         * tests/uniwidth/test-uc_width2.c: New file.
38370         * tests/uniwidth/test-uc_width2.sh: New file.
38371         * modules/uniwidth/width-tests (Files): Add the new files.
38372         (TESTS): Add uniwidth/test-uc_width2.sh.
38373         (TESTS_ENVIRONMENT): New variable.
38374         (check_PROGRAMS): Add test-uc_width2.
38375         (test_uc_width2_SOURCES): New variable.
38376
38377         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
38378         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
38379         not 0x00AB.
38380         Reported by Alexander V. Lukyanov <lav@netis.ru>.
38381
38382 2008-08-22  Eric Blake  <ebb9@byu.net>
38383
38384         test-lock, test-tls: mention why a test is skipped
38385         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
38386         skipped.
38387         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
38388
38389         count-one-bits: relax license
38390         * modules/count-one-bits (License): Relicense to LGPLv2+.
38391         Suggested by Ludovic Courtès, approved by Ben Pfaff.
38392
38393 2008-08-22  Andreas Schwab  <schwab@suse.de>
38394
38395         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
38396         Remove spurious space in assignment.
38397
38398 2008-08-21  Simon Josefsson  <simon@josefsson.org>
38399
38400         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
38401         Paul Eggert <eggert@CS.UCLA.EDU>.
38402
38403 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
38404
38405         * modules/gettext: Add m4/threadlib.m4.
38406
38407 2008-08-19  Eric Blake  <ebb9@byu.net>
38408
38409         test-c-stack: fix compilation failure on FreeBSD 5.0
38410         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
38411         headers before <sys/resource.h>.
38412         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
38413         the bug.
38414         Reported by Nelson H. F. Beebe.
38415
38416         strverscmp: migrate from "strverscmp.h" to <string.h>
38417         * modules/string (Makefile.am): Add new hooks.
38418         * modules/strverscmp (Files): Remove strverscmp.h.
38419         (Depends-on): Add string.
38420         (configure.ac): Add indicator.
38421         (Include): Mention new header.
38422         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
38423         defaults.
38424         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
38425         results.
38426         * lib/strverscmp.h: Delete.
38427         * lib/string.in.h (strverscmp): Provide declaration, when needed.
38428         * tests/test-strverscmp.c (includes): Adjust client.
38429         * lib/check-version.c (includes): Likewise.
38430         * NEWS: Document the change.
38431
38432         strverscmp: add unit test
38433         * modules/strverscmp-tests: New file.
38434         * tests/test-strverscmp.c: Likewise.
38435
38436 2008-08-19  Simon Josefsson  <simon@josefsson.org>
38437
38438         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
38439         regarding Windows crypto stuff, from Mono.
38440
38441 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
38442
38443         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
38444         if present, for intel RND.  Return error on failures.
38445
38446 2008-08-18  Ben Pfaff  <blp@gnu.org>
38447
38448         gitlog-to-changelog: give better diagnostic for failed pipe-open
38449         * build-aux/gitlog-to-changelog: Improve error message: suggest
38450         that the version of Git may be too old.
38451
38452 2008-08-18  Simon Josefsson  <simon@josefsson.org>
38453
38454         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
38455         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
38456
38457 2008-08-18  Bruno Haible  <bruno@clisp.org>
38458
38459         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
38460         pthread_in_use().
38461
38462 2008-08-18  Bruno Haible  <bruno@clisp.org>
38463
38464         * lib/glthread/threadlib.c: Include <pthread.h>.
38465
38466 2008-08-18  Bruno Haible  <bruno@clisp.org>
38467
38468         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
38469         glthread_recursive_lock_* macros.
38470         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
38471         Fix syntax error.
38472
38473 2008-08-18  Bruno Haible  <bruno@clisp.org>
38474
38475         * lib/glthread/thread.c: Avoid forcing a context switch right after
38476         thread creation.
38477
38478 2008-08-17  Bruno Haible  <bruno@clisp.org>
38479
38480         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
38481         * lib/glthread/thread.h: Provide Win32 specific implementation.
38482         * modules/thread (Files): Add lib/glthread/thread.c.
38483         (Depends-on): Add lock.
38484         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
38485
38486 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38487
38488         New module 'yield'.
38489         * modules/yield: New file.
38490         * lib/glthread/yield.h: New file.
38491         * m4/yield.m4: New file.
38492         * MODULES.html.sh (Multithreading): Add yield.
38493
38494 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38495
38496         New module 'thread'.
38497         * modules/thread: New file.
38498         * lib/glthread/thread.h: New file.
38499         * m4/thread.m4: New file.
38500         * MODULES.html.sh (Multithreading): Add thread.
38501
38502 2008-08-17  Bruno Haible  <bruno@clisp.org>
38503
38504         * lib/glthread/lock.h: Include <stdlib.h> always.
38505         * lib/glthread/tls.h: Likewise.
38506         * lib/glthread/cond.h: Likewise.
38507
38508 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38509
38510         New module 'cond'.
38511         * modules/cond: New file.
38512         * lib/glthread/cond.h: New file.
38513         * lib/glthread/cond.c: New file.
38514         * m4/cond.m4: New file.
38515         * MODULES.html.sh (Multithreading): Add cond.
38516
38517 2008-08-16  Eric Blake  <ebb9@byu.net>
38518
38519         c-stack: fix regression on Irix 5.3 from 2008-06-21
38520         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
38521         sa_sigaction...
38522         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
38523         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
38524         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
38525         * modules/signal (Makefile.am): Use the value.
38526         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
38527         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
38528         * doc/posix-headers/signal.texi (signal.h): Document this
38529         portability issue.
38530         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
38531         Reported by Tom G. Christensen.
38532
38533 2008-08-17  Bruno Haible  <bruno@clisp.org>
38534
38535         New module 'threadlib'.
38536         * modules/threadlib: New file.
38537         * lib/glthread/threadlib.c: New file, extracted from
38538         lib/glthread/lock.c.
38539         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
38540         functions.
38541         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
38542         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
38543         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
38544         macros.
38545         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
38546         (gl_DISABLE_THREADS): Remove macro.
38547         * modules/lock (Files): Remove build-aux/config.rpath.
38548         (Depends-on): Remove havelib. Add threadlib.
38549         (configure.ac-early): Remove section.
38550         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
38551         * modules/tls (Depends-on): Remove lock. Add threadlib.
38552         (Link): New section, copied from threadlib.
38553         * MODULES.html.sh (Multithreading): Add threadlib.
38554
38555 2008-08-14  Bruno Haible  <bruno@clisp.org>
38556
38557         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
38558         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
38559         glthread_rwlock_unlock, glthread_rwlock_destroy,
38560         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
38561         glthread_recursive_lock_destroy): Define as macros always.
38562         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
38563         glthread_lock_lock.
38564         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
38565         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
38566         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
38567         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
38568         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
38569         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
38570         (glthread_recursive_lock_lock_func): Renamed from
38571         glthread_recursive_lock_lock.
38572         (glthread_recursive_lock_unlock_func): Renamed from
38573         glthread_recursive_lock_unlock.
38574         (glthread_recursive_lock_destroy_func): Renamed from
38575         glthread_recursive_lock_destroy.
38576
38577 2008-08-14  Bruno Haible  <bruno@clisp.org>
38578
38579         * lib/glthread/lock.h: Renamed from lib/lock.h.
38580         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
38581         * lib/glthread/tls.h: Renamed from lib/tls.h.
38582         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
38583         * lib/fstrcmp.c: Update includes.
38584         * lib/strsignal.c: Update includes.
38585         * modules/lock (Files, Makefile.am): Update.
38586         (Include): Change to "glthread/lock.h".
38587         * modules/tls (Files, Makefile.am): Update.
38588         (Include): Change to "glthread/tls.h".
38589         * tests/test-lock.c: Update includes.
38590         * tests/test-tls.c: Update includes.
38591         * NEWS: Mention the renamed header files.
38592
38593 2008-08-11  Jim Meyering  <meyering@redhat.com>
38594
38595         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
38596
38597 2008-08-11  Eric Blake  <ebb9@byu.net>
38598
38599         test-c-stack: avoid C99-ism
38600         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38601         before statement.
38602         Reported by Alain Guibert.
38603
38604 2008-08-10  Jim Meyering  <meyering@redhat.com>
38605
38606         ensure that return value of uinttostr et al are not ignored
38607         * lib/inttostr.h (__GNUC_PREREQ): Define.
38608         (__attribute_warn_unused_result__): Define.
38609         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38610
38611 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38612
38613         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38614         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38615
38616 2008-08-07  Jim Meyering  <meyering@redhat.com>
38617
38618         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38619
38620         * modules/mkstemp (License): Relicense under LGPLv2+.
38621         * modules/tempname (License): Likewise.
38622
38623 2008-08-06  Bruno Haible  <bruno@clisp.org>
38624
38625         * lib/poll.c (poll): Further micro-optimization.
38626
38627 2008-08-06  Jim Meyering  <meyering@redhat.com>
38628
38629         inet_pton.c: use locale-independent tolower
38630         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
38631         (inet_pton6): Use c_tolower rather than tolower.
38632         * modules/inet_pton (Depends-on): Add c-ctype.
38633
38634 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
38635
38636         * lib/poll.c (poll): Avoid division when timeout is 0, cache
38637         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
38638
38639 2008-08-06  Jim Meyering  <meyering@redhat.com>
38640
38641         * modules/inet_pton (License): Relicense under LGPLv2+.
38642
38643 2008-08-03  Bruno Haible  <bruno@clisp.org>
38644
38645         Additional non-aborting API for lock and tls.
38646         * lib/lock.h: Include <errno.h>.
38647         (glthread_lock_init): New macro/function.
38648         (gl_lock_init): Define as wrapper around glthread_lock_init.
38649         (glthread_lock_lock): New macro/function.
38650         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
38651         (glthread_lock_unlock): New macro/function.
38652         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
38653         (glthread_lock_destroy): New macro/function.
38654         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
38655         (glthread_rwlock_init): New macro/function.
38656         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
38657         (glthread_rwlock_rdlock): New macro/function.
38658         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
38659         (glthread_rwlock_wrlock): New macro/function.
38660         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
38661         (glthread_rwlock_unlock): New macro/function.
38662         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
38663         (glthread_rwlock_destroy): New macro/function.
38664         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
38665         (glthread_recursive_lock_init): New macro/function.
38666         (gl_recursive_lock_init): Define as wrapper around
38667         glthread_recursive_lock_init.
38668         (glthread_recursive_lock_lock): New macro/function.
38669         (gl_recursive_lock_lock): Define as wrapper around
38670         glthread_recursive_lock_lock.
38671         (glthread_recursive_lock_unlock): New macro/function.
38672         (gl_recursive_lock_unlock): Define as wrapper around
38673         glthread_recursive_lock_unlock.
38674         (glthread_recursive_lock_destroy): New macro/function.
38675         (gl_recursive_lock_destroy): Define as wrapper around
38676         glthread_recursive_lock_destroy.
38677         (glthread_once): New macro/function.
38678         (gl_once): Define as wrapper around glthread_once.
38679         Update function declarations.
38680         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
38681         glthread_rwlock_init. Return error code.
38682         (glthread_rwlock_rdlock_multithreaded): Renamed from
38683         glthread_rwlock_rdlock. Return error code.
38684         (glthread_rwlock_wrlock_multithreaded): Renamed from
38685         glthread_rwlock_wrlock. Return error code.
38686         (glthread_rwlock_unlock_multithreaded): Renamed from
38687         glthread_rwlock_unlock. Return error code.
38688         (glthread_rwlock_destroy_multithreaded): Renamed from
38689         glthread_rwlock_destroy. Return error code.
38690         (glthread_recursive_lock_init_multithreaded): Renamed from
38691         glthread_recursive_lock_init. Return error code.
38692         (glthread_recursive_lock_lock_multithreaded): Renamed from
38693         glthread_recursive_lock_lock. Return error code.
38694         (glthread_recursive_lock_unlock_multithreaded): Renamed from
38695         glthread_recursive_lock_unlock. Return error code.
38696         (glthread_recursive_lock_destroy_multithreaded): Renamed from
38697         glthread_recursive_lock_destroy. Return error code.
38698         (glthread_once_call): Make static.
38699         (glthread_once_multithreaded): Renamed from glthread_once.
38700         * lib/tls.h: Include <errno.h>.
38701         (glthread_tls_key_init): New macro/function.
38702         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
38703         (glthread_tls_set): New macro/function.
38704         (gl_tls_set): Define as wrapper around glthread_tls_set.
38705         (glthread_tls_key_destroy): New macro/function.
38706         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
38707         Update function declarations.
38708         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
38709         glthread_tls_get.
38710         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38711
38712 2008-08-04  Eric Blake  <ebb9@byu.net>
38713
38714         gnumakefile: use space, not TAB, outside of targets
38715         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
38716
38717 2008-08-02  Jim Meyering  <meyering@redhat.com>
38718
38719         getdate.y: avoid locale-dependent date parsing failure
38720         In Turkish locales, getdate would fail to recognize keywords
38721         containing a lowercase "i".  The solution is not to rely on
38722         locale-sensitive case-conversion.
38723         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
38724         (lookup_word): Use c_toupper in place of toupper.
38725         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
38726         Reported by Vefa Bicakci <bicave@superonline.com> in
38727         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
38728         * modules/getdate (Depends-on): Add c-ctype.
38729
38730 2008-08-02  Bruno Haible  <bruno@clisp.org>
38731
38732         * gnulib-tool (func_import): When updating or creating a .gitignore
38733         file, prepend each added line with a slash, and ignore leading slashes
38734         from the existing lines.
38735         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
38736
38737 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38738
38739         Portability fix for GNU make 3.79.1.
38740         * top/GNUmakefile: Avoid 'else COND', which older GNU make
38741         versions do not understand.
38742
38743 2008-08-01  Bruno Haible  <bruno@clisp.org>
38744
38745         Work around bug of HP-UX 10.20 cc with -0.0 literal.
38746         * tests/test-isnanf.h (zero): New variable.
38747         (main): Avoid literal -0.0f.
38748         * tests/test-isnand.h (zero): New variable.
38749         (main): Avoid literal -0.0.
38750         * tests/test-isnanl.h (zero): New variable.
38751         (main): Avoid literal -0.0L.
38752         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
38753         (test_float, test_double, test_long_double): Avoid literals -0.0f,
38754         -0.0, -0.0L.
38755         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
38756         (test_signbitd): Avoid literal -0.0.
38757         (test_signbitl): Avoid literal -0.0L.
38758         * tests/test-ceilf1.c (zero): New variable.
38759         (main): Avoid literal -0.0f.
38760         * tests/test-ceill.c (zero): New variable.
38761         (main): Avoid literal -0.0L.
38762         * tests/test-floorf1.c (zero): New variable.
38763         (main): Avoid literal -0.0f.
38764         * tests/test-floorl.c (zero): New variable.
38765         (main): Avoid literal -0.0L.
38766         * tests/test-roundf1.c (zero): New variable.
38767         (main): Avoid literal -0.0f.
38768         * tests/test-round1.c (zero): New variable.
38769         (main): Avoid literal -0.0.
38770         * tests/test-roundl.c (zero): New variable.
38771         (main): Avoid literal -0.0L.
38772         * tests/test-truncf1.c (zero): New variable.
38773         (main): Avoid literal -0.0f.
38774         * tests/test-trunc1.c (zero): New variable.
38775         (main): Avoid literal -0.0.
38776         * tests/test-truncl.c (zero): New variable.
38777         (main): Avoid literal -0.0L.
38778         * tests/test-frexp.c (zero): New variable.
38779         (main): Avoid literal -0.0.
38780         * tests/test-frexpl.c (zero): New variable.
38781         (main): Avoid literal -0.0L.
38782         * tests/test-ldexpl.c (zero): New variable.
38783         (main): Avoid literal -0.0L.
38784         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38785         (zerod, zerol): New variables.
38786         (test_function): Avoid literals -0.0, -0.0L.
38787         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38788         (zerod, zerol): New variables.
38789         (test_function): Avoid literals -0.0, -0.0L.
38790         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38791         (zerod, zerol): New variables.
38792         (test_function): Avoid literals -0.0, -0.0L.
38793         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38794         (zerod, zerol): New variables.
38795         (test_function): Avoid literals -0.0, -0.0L.
38796         * tests/test-strtod.c (zero): New variable.
38797         (main): Avoid literal -0.0.
38798         Reported by Jonathan C. Patschke <jp@centtech.com>.
38799
38800 2008-07-31  Jim Meyering  <meyering@redhat.com>
38801
38802         sha256.h: correct definition of SHA224_DIGEST_SIZE
38803         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
38804         Reported by Paulie Pena IV <paulie4@gmail.com>.
38805         Define as 224 / 8, rather than as a literal.
38806         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
38807         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
38808         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
38809
38810 2008-07-31  Bruno Haible  <bruno@clisp.org>
38811
38812         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
38813         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
38814         Reported by Jonathan Patschke <jp@centtech.com>.
38815
38816 2008-07-31  Bruno Haible  <bruno@clisp.org>
38817
38818         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
38819         Reported by Paolo Bonzini <bonzini@gnu.org>.
38820
38821 2008-07-30  Eric Blake  <ebb9@byu.net>
38822
38823         test-strtod: allow compilation without -lm
38824         * tests/test-strtod.c (main): Avoid link dependence on fabs.
38825         Reported by Dennis Clarke <blastwave@gmail.com>.
38826
38827 2008-07-28  Jim Meyering  <meyering@redhat.com>
38828
38829         bootstrap: work also when there are no .po files in po/
38830         * build-aux/bootstrap (update_po_files): Complete the change
38831         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
38832
38833 2008-07-27  Jim Meyering  <meyering@redhat.com>
38834
38835         * users.txt: Add zile.
38836
38837 2008-07-26  Ben Pfaff  <blp@gnu.org>
38838
38839         Add missing dependencies on new m4/exponent[fdl].m4 files.
38840         * modules/isnanf-nolibm: Add m4/exponentf.m4.
38841         * modules/isnand-nolibm: Add m4/exponentd.m4.
38842         * modules/isnanl-nolibm: Add m4/exponentl.m4.
38843         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
38844         m4/isnan[fdl].m4, because the macros actually used moved.
38845         Reported by Jim Meyering.
38846
38847 2008-07-14  Ben Pfaff  <blp@gnu.org>
38848
38849         Add isinf module.
38850         * lib/isinf.c: New file.
38851         * lib/math.in.h: Define isinf macro if we have decided to replace
38852         it.
38853         * m4/isinf.m4: New file.
38854         * m4/math_h.m4: Initialize and substitute variables for isinf
38855         module.
38856         * modules/isinf: New file.
38857         * modules/isinf-tests: New file.
38858         * modules/math: Add substitutions for new module.
38859         * tests/test-isinf.c: New file.
38860         * doc/posix-functions/isinf.texi: Mention new module.
38861         * MODULES.html.sh: Mention new module.
38862
38863 2008-07-14  Ben Pfaff  <blp@gnu.org>
38864
38865         Factor out some macros for use by additional modules.
38866         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
38867         exponentf.m4.
38868         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
38869         exponentd.m4.
38870         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
38871         file exponentl.m4.
38872         * m4/exponentf.m4: New file.
38873         * m4/exponentd.m4: New file.
38874         * m4/exponentl.m4: New file.
38875         * modules/isnanf: Use new file m4/exponentf.m4.
38876         * modules/isnand: Use new file m4/exponentd.m4.
38877         * modules/isnanl: Use new file m4/exponentl.m4.
38878
38879 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
38880
38881         mktime.c: normalize tp->tm_isdst value to -1/0/1.
38882         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
38883         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
38884         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
38885
38886         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
38887         readlink on platforms without PATH_MAX.
38888
38889 2008-07-21  Eric Blake  <ebb9@byu.net>
38890
38891         Warn, not fail, on stale version.
38892         * top/GNUmakefile (_curr-ver): Tone down previous patch.
38893
38894         Don't allow installation with stale devel version number.
38895         * top/GNUmakefile (_is-install-target): New macro.
38896         (_curr-ver): Forbid installation with stale version number.
38897
38898 2008-07-20  Bruno Haible  <bruno@clisp.org>
38899
38900         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
38901         TESTS_ENVIRONMENT.
38902         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
38903
38904 2008-07-20  Bruno Haible  <bruno@clisp.org>
38905
38906         * lib/c-stack.h (c_stack_action): Add documentation.
38907         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
38908
38909 2008-07-20  Bruno Haible  <bruno@clisp.org>
38910
38911         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
38912         * modules/readlink (License): Likewise.
38913
38914 2008-07-17  Eric Blake  <ebb9@byu.net>
38915
38916         * modules/c-stack (Link): Fix typo.
38917
38918         Make c-stack use libsigsegv, when available.
38919         * modules/c-stack (Depends-on): Add libsigsegv.
38920         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
38921         needed.
38922         * lib/c-stack.c (SIGSTKSZ): Define fallback.
38923         (segv_handler, overflow_handler, c_stack_action)
38924         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
38925         implementation when libsigsegv is available, but only when using
38926         the library is necessary.
38927         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
38928         comment, explaining why XSI check fails on Linux.
38929         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
38930         * tests/test-c-stack2.sh: Tweak skip message.
38931         * NEWS: Document new link-time requirements.
38932
38933 2008-07-16  Eric Blake  <ebb9@byu.net>
38934
38935         c-stack: Expose false positives when not using libsigsegv.
38936         * modules/c-stack-tests (Files): Expand test.
38937         * tests/test-c-stack.c (main): Add means to conditionally trigger
38938         non-overflow SIGSEGV.
38939         * tests/test-c-stack2.sh: New file.
38940
38941 2008-07-14  Bruno Haible  <bruno@clisp.org>
38942
38943         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
38944         Reported by Eric Blake.
38945
38946 2008-07-14  Sam Steingold  <sds@gnu.org>
38947             Bruno Haible  <bruno@clisp.org>
38948
38949         New module libsigsegv.
38950         * modules/libsigsegv: New file.
38951         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
38952         modifications.
38953         * MODULES.html.sh (Signal handling): New section.
38954
38955 2008-07-14  Bruno Haible  <bruno@clisp.org>
38956
38957         * modules/unictype/ctype-* (Description): Add the word "function".
38958         Improves the resulting doc in MODULES.html.
38959
38960 2008-07-12  Ben Pfaff  <blp@gnu.org>
38961
38962         Add longlong module.
38963         * modules/longlong: New file.
38964
38965 2008-07-12  Bruno Haible  <bruno@clisp.org>
38966
38967         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
38968         to empty.
38969
38970 2008-07-10  Ben Pfaff  <blp@gnu.org>
38971
38972         Add isnan module.
38973         * doc/posix-functions/isnan.texi: Mention new module.
38974         * lib/math.in.h: Define isnan macro if we have decided to replace
38975         it.
38976         * m4/isnan.m4: New file.
38977         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
38978         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
38979         also.
38980         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
38981         redundancy.
38982         * m4/math_h.m4: Initialize and substitute variables for isnan
38983         module.
38984         * modules/isnan: New file.
38985         * modules/isnan-tests: New file.
38986         * modules/math: Add substitutions for new module.
38987         * tests/test-isnan.c: New file.
38988         * MODULES.html.sh: Mention new module.
38989
38990 2008-07-10  Ben Pfaff  <blp@gnu.org>
38991
38992         Add isnanf module.
38993         * lib/isnanf.m4: New file.
38994         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
38995         (gl_HAVE_ISNANF_IN_LIBM): New macro.
38996         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
38997         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
38998         * modules/isnanf: New file.
38999         * modules/isnanf-tests: New file.
39000         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
39001         files.
39002         * tests/test-isnanf-nolibm.c: factored most of its contents into
39003         new file tests/test-isnanf.h.
39004         * tests/test-isnanf.h: New file.
39005         * tests/test-isnanf.c: New file.
39006         * MODULES.html.sh: Mention new module.
39007         * doc/glibc-functions/isnanf.texi: Mention new module.
39008
39009 2008-07-10  Ben Pfaff  <blp@gnu.org>
39010
39011         Add isnand module.
39012         * lib/isnand.h: New file.
39013         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
39014         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
39015         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
39016         functionality also.
39017         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
39018         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
39019         (gl_HAVE_ISNAND_IN_LIBM): New macro.
39020         * modules/isnand: New file.
39021         * modules/isnand-tests: New file.
39022         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
39023         files.
39024         * tests/test-isnand-nolibm.c: factored most of its contents into
39025         new file tests/test-isnand.h.
39026         * tests/test-isnand.h: New file.
39027         * tests/test-isnand.c: New file.
39028         * MODULES.html.sh: Mention new module.
39029
39030 2008-07-10  Ben Pfaff  <blp@gnu.org>
39031
39032         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
39033         * lib/isnand.h: Rename lib/isnand-nolibm.h.
39034         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
39035         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
39036         * modules/isnanf-nolibm: Update references to renamed files.
39037         * modules/isnand-nolibm: Likewise.
39038         * modules/isnanf-nolibm-tests: Likewise.
39039         * modules/isnand-nolibm-tests: Likewise.
39040         * lib/frexp.c: Likewise.
39041         * lib/isfinite.c: Likewise.
39042         * lib/signbitd.c: Likewise.
39043         * lib/signbitf.c: Likewise.
39044         * lib/vasnprintf.c: Likewise.
39045         * tests/test-ceilf1.c: Likewise.
39046         * tests/test-ceilf2.c: Likewise.
39047         * tests/test-floorf1.c: Likewise.
39048         * tests/test-floorf2.c: Likewise.
39049         * tests/test-frexp.c: Likewise.
39050         * tests/test-round1.c: Likewise.
39051         * tests/test-round2.c: Likewise.
39052         * tests/test-roundf1.c: Likewise.
39053         * tests/test-strtod.c: Likewise.
39054         * tests/test-trunc1.c: Likewise.
39055         * tests/test-trunc2.c: Likewise.
39056         * tests/test-truncf1.c: Likewise.
39057         * tests/test-truncf2.c: Likewise.
39058         * NEWS: Mention the renamed header files.
39059
39060 2008-07-11  Jim Meyering  <meyering@redhat.com>
39061
39062         vc-list-files: make the last-resort awk code more portable
39063         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
39064         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
39065         does not support it.
39066
39067 2008-07-10  Eric Blake  <ebb9@byu.net>
39068
39069         Work with tar's bootstrap.
39070         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
39071         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
39072         an m4 comment.
39073
39074 2008-07-09  Jim Meyering  <meyering@redhat.com>
39075
39076         posix-shell.m4: fix typo that made this test malfunction
39077         * m4/posix-shell.m4: Remove capitalization in variable name.
39078
39079 2008-07-08  Bruno Haible  <bruno@clisp.org>
39080
39081         * m4/onceonly.m4: Update comments.
39082         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39083
39084 2008-07-04  Jim Meyering  <meyering@redhat.com>
39085
39086         * users.txt: Add vc-dwim.
39087         (bison, coreutils): Use the gitweb URL.
39088
39089 2008-07-03  Jim Meyering  <meyering@redhat.com>
39090
39091         * users.txt: Add libffcall.  From Sam Steingold.
39092
39093 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
39094
39095         getdate.y: do not ignore TZ with relative day, month or year offset
39096         * lib/getdate.y (get_date): Move the tz-handling block to follow the
39097         relative-date-handling, since otherwise, the latter would clobber the
39098         sole output (an updated Start value) of the tz-handling block.
39099         * tests/test-getdate.c: Tests for the fix
39100
39101 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39102
39103         Recognize 'foo_LIBRARIES += libgnu.a'.
39104         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
39105         makefile snippet has already specified an installation location,
39106         also using '+='.
39107
39108 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
39109
39110         getdate.y: factor out common actions
39111         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
39112         Use them in place of open-coded actions.
39113
39114 2008-07-01  Simon Josefsson  <simon@josefsson.org>
39115
39116         Add self-test for getdate module.
39117         * modules/getdate-tests: New file.
39118         * tests/test-getdate.c: New file.
39119
39120 2008-06-29  Bruno Haible  <bruno@clisp.org>
39121
39122         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
39123         .gitignore.
39124         Reported by Sylvain Beucler <beuc@beuc.net>.
39125
39126 2008-06-29  Bruno Haible  <bruno@clisp.org>
39127
39128         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
39129         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
39130
39131 2008-06-29  Bruno Haible  <bruno@clisp.org>
39132
39133         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
39134         EXTRA_DIST.
39135         Reported by Sylvain Beucler <beuc@beuc.net>.
39136
39137 2008-06-26  Jim Meyering  <meyering@redhat.com>
39138
39139         make several modules depend on the "open" module
39140         This provides slightly increased consistency when opening-for-write
39141         the name of a non-directory spelled with a trailing slash.
39142         * modules/chdir-safer: Likewise.
39143         * modules/chown: Likewise.
39144         * modules/clean-temp: Likewise.
39145         * modules/copy-file: Likewise.
39146         * modules/fchdir: Likewise.
39147         * modules/fcntl-safer: Likewise.
39148         * modules/pipe: Likewise.
39149         * modules/utime: Likewise.
39150         Prompted by Eric Blake and Bruno Haible.
39151
39152 2008-06-24  Andreas Schwab  <schwab@suse.de>
39153
39154         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
39155         literals can be used as initializers for global variables.
39156
39157 2008-06-23  Eric Blake  <ebb9@byu.net>
39158
39159         Make gnulib-cache.m4 easier to diff.
39160         * gnulib-tool (func_import): Allow newlines when reading cached
39161         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
39162
39163 2008-06-23  Bruno Haible  <bruno@clisp.org>
39164
39165         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
39166         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
39167         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
39168         m4/signalblocking.m4.
39169         (gl_PREREQ_SIGACTION): Don't invoke it.
39170         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
39171         gl_PREREQ_SIG_HANDLER_H.
39172         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39173         Don't check for sigaction here.
39174
39175 2008-06-23  Bruno Haible  <bruno@clisp.org>
39176
39177         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
39178         (install_handlers): Don't set the SA_RESETHAND flag.
39179
39180 2008-06-23  Bruno Haible  <bruno@clisp.org>
39181
39182         * m4/sigaction.m4: Comment fixes.
39183         * lib/signal.in.h: Likewise.
39184
39185 2008-06-23  Eric Blake  <ebb9@byu.net>
39186
39187         Fix typo.
39188         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
39189
39190         Avoid SA_ namespace.
39191         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
39192         Reported by Ralf Wildenhues.
39193
39194         Avoid test failure due to SA_RESTORER.
39195         * tests/test-sigaction.c (SA_MASK): New macro.
39196         (main): Avoid failing due to extension flags being set.
39197         Reported by Jim Meyering.
39198
39199         Revert use of sig-handler.h in sigprocmask.c.
39200         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
39201         it requires the existence of struct sigaction.
39202         * lib/sigprocmask.c (handler_t): Restore typedef.
39203         (rpl_signal, old_handlers): Use local type.
39204
39205 2008-06-22  Bruno Haible  <bruno@clisp.org>
39206
39207         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
39208         conditionally.
39209         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39210
39211 2008-06-22  Bruno Haible  <bruno@clisp.org>
39212
39213         * doc/posix-functions/siginterrupt.texi: Move note.
39214
39215         * lib/signal.in.h (SA_RESTART): New macro.
39216         * lib/sigaction.c: Update comment.
39217
39218         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
39219
39220         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
39221         (gl_PREREQ_SIGPROCMASK): Invoke it.
39222         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
39223
39224         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
39225
39226         * lib/sigprocmask.c: Update a comment.
39227
39228 2008-06-21  Eric Blake  <ebb9@byu.net>
39229
39230         Use sigaction module rather than signal().
39231         * modules/c-stack (Depends-on): Add sigaction.
39232         * modules/fatal-signal (Depends-on): Likewise.
39233         * modules/nanosleep (Depends-on): Likewise.
39234         * modules/sigprocmask (Files): Add sig-handler.h.
39235         * modules/sigaction (Files): Likewise.
39236         * lib/sig-handler.h (get_handler): New file, suggested by Paul
39237         Eggert.
39238         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
39239         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
39240         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
39241         (init_fatal_signals): Likewise.
39242         * lib/nanosleep.c (rpl_nanosleep): Likewise.
39243         (siginterrupt): Delete fallback.
39244         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
39245         instead.
39246         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
39247         siginterrupt.
39248
39249         New module sigaction, for mingw.
39250         * modules/sigaction: New module...
39251         * modules/sigaction-tests: ...and its test.
39252         * m4/sigaction.m4: New file.
39253         * lib/sigaction.c: Likewise.
39254         * tests/test-sigaction.c: Likewise.
39255         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
39256         * modules/signal (Makefile.am): Likewise.
39257         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
39258         needed.
39259         * doc/posix-headers/signal.texi (signal.h): Mention provided
39260         types.
39261         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
39262         that sigaction is preferable.
39263         * doc/posix-functions/sigaction.texi (sigaction): Mention new
39264         module.
39265         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39266         sigaction.
39267
39268         Improve robustness of sigprocmask by overriding signal.
39269         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
39270         is in use.
39271         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
39272         (SIGKILL, SIGSTOP): Provide fallbacks.
39273         (rpl_signal): Implement.
39274         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
39275         signal can be called inside handlers.
39276
39277         Fix nanosleep module on mingw.
39278         * modules/nanosleep (Depends-on): Add sys_select.
39279         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
39280
39281         Fix licensing of sigprocmask.
39282         * modules/raise (License): Relicense as LGPL.
39283
39284 2008-06-21  Bruno Haible  <bruno@clisp.org>
39285
39286         * lib/propername.c (proper_name_utf8): Don't use the transliterated
39287         result if it contains question marks.
39288         Reported by Michael Geng <linux@michaelgeng.de>.
39289
39290 2008-06-19  Bruno Haible  <bruno@clisp.org>
39291
39292         Fix CVS-ism.
39293         * doc/gnulib.texi: Include updated-stamp.texi.
39294         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
39295         (updated-stamp.texi): New rule.
39296         (gnulib.info): Depend on it.
39297         * doc/.gitignore: Add updated-stamp.texi.
39298         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
39299
39300 2008-06-19  Bruno Haible  <bruno@clisp.org>
39301
39302         * doc/Makefile (gnulib.info): Update and simplify dependencies.
39303         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39304
39305 2008-06-19  Eric Blake  <ebb9@byu.net>
39306
39307         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
39308         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
39309         Reported by Stepan Kasal.
39310
39311 2008-06-18  Bruno Haible  <bruno@clisp.org>
39312
39313         * lib/fatal-signal.c (init_fatal_signals): Add comment.
39314         Reported by Eric Blake.
39315
39316 2008-06-18  Eric Blake  <ebb9@byu.net>
39317
39318         Work around cygwin 1.5.25 strsignal bug.
39319         * tests/test-strsignal.c: Allow for const char *.
39320         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
39321
39322 2008-06-18  Simon Josefsson  <simon@josefsson.org>
39323
39324         * users.txt: Update URL to article and add author/date
39325         information.
39326
39327 2008-06-17  Bruno Haible  <bruno@clisp.org>
39328
39329         New macro gl_DISABLE_THREADS.
39330         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
39331         if the user did not pass --enable-threads or --disable-threads option.
39332         (gl_DISABLE_THREADS): New macro.
39333         Reported by Eric Blake <ebb9@byu.net>.
39334
39335 2008-06-17  Bruno Haible  <bruno@clisp.org>
39336
39337         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
39338         when the macro ignores it.
39339         Based on a patch by Eric Blake <ebb9@byu.net>.
39340
39341 2008-06-17  Bruno Haible  <bruno@clisp.org>
39342
39343         * modules/tls (License): Change to LGPLv2+.
39344         Reported by Eric Blake.
39345
39346 2008-06-17  Eric Blake  <ebb9@byu.net>
39347
39348         Simplify c-stack prerequisites.
39349         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
39350         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
39351         no longer requires <ucontext.h> to exist.  Optimize setrlimit
39352         check.
39353         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
39354         <sys/resource.h>.
39355
39356         Move c-stack test into testsuite.
39357         * modules/c-stack-tests: New file.
39358         * lib/c-stack.c [DEBUG]: Move test program...
39359         * tests/test-c-stack.c: ...into this new file.  Skip rather than
39360         fail test if sigaltstack is lacking.
39361         * tests/test-c-stack.sh: New driver file.
39362
39363 2008-06-16  Eric Blake  <ebb9@byu.net>
39364
39365         Use raise module consistently.
39366         * modules/fatal-signal (Depends-on): Add raise.
39367         * modules/sigprocmask (Depends-on): Likewise.
39368         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
39369         * lib/sigprocmask.c (sigprocmask): Likewise.
39370         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39371         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
39372
39373         Fix compliance bug in sigpending.
39374         * lib/sigprocmask.c (sigpending): Return pending array via
39375         parameter, not return value.
39376
39377 2008-06-14  Eric Blake  <ebb9@byu.net>
39378
39379         Improve obstack-printf test code.
39380         * tests/test-obstack-printf.c (test_function): Fix comment, and
39381         simplify usage of obstack_* in macros.  Add a test for coverage.
39382         Reported by Bruno Haible.
39383
39384 2008-06-14  Bruno Haible  <bruno@clisp.org>
39385
39386         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
39387         array size as a constant, not as a const variable.
39388         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
39389         AC_USE_SYSTEM_EXTENSIONS.
39390         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39391         Test whether the obstack_printf function actually exists.
39392         * modules/obstack-printf (Depends-on): Add extensions.
39393         (Include): Remove obstack.h.
39394         * modules/obstack-printf-posix (Depends-on): Add extensions.
39395         (Include): Remove obstack.h.
39396
39397 2008-06-13  Eric Blake  <ebb9@byu.net>
39398
39399         Add obstack-printf and obstack-printf-posix modules.
39400         * modules/obstack-printf: New file.
39401         * modules/obstack-printf-posix: Likewise.
39402         * MODULES.html.sh (Misc): Mention them.
39403         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39404         Likewise.
39405         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39406         Likewise.
39407         * modules/stdio (Makefile.am): Accomodate new modules.
39408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39409         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
39410         Declare.
39411         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
39412         functions.
39413         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
39414         (gl_REPLACE_OBSTACK_PRINTF): New macros
39415         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
39416         * tests/test-obstack-printf.c: New file.
39417         * modules/obstack-printf-tests: Likewise.
39418         * modules/obstack-printf-posix-tests: Likewise.
39419
39420 2008-06-11  Bruno Haible  <bruno@clisp.org>
39421
39422         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
39423         * lib/open.c: Include errno.h.
39424         (open): Fail when attempting to write to a file that has a trailing
39425         slash.
39426         * tests/test-open.c (main): Test against trailing slash bug.
39427         * doc/posix-functions/open.texi: Mention the trailing slash bug.
39428
39429 2008-06-10  Bruno Haible  <bruno@clisp.org>
39430
39431         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
39432         for $? to work inside the trap command, with various /bin/sh-s.
39433         * tests/test-vc-list-files-cvs.sh: Likewise.
39434
39435 2008-06-10  Bruno Haible  <bruno@clisp.org>
39436
39437         * lib/acl-internal.h: Don't include gettext.h here.
39438         * lib/set-mode-acl.c: Include gettext.h here.
39439         * lib/copy-acl.c: Likewise.
39440
39441 2008-06-10  Bruno Haible  <bruno@clisp.org>
39442
39443         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
39444         * lib/wait-process.c (wait_subprocess): Likewise.
39445         * lib/execute.h (execute): Add termsigp argument.
39446         * lib/execute.c (execute): Likewise.
39447         * lib/csharpcomp.c (compile_csharp_using_pnet,
39448         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
39449         * lib/csharpexec.c (execute_csharp_using_pnet,
39450         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
39451         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
39452         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
39453         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
39454         is_jikes_present): Update.
39455         * lib/javaexec.c (execute_java_class): Update.
39456         * lib/javaversion.c (execute_and_read_line): Update.
39457         * NEWS: Document the changes.
39458         Reported by Eric Blake.
39459
39460 2008-06-10  Eric Blake  <ebb9@byu.net>
39461
39462         Add missing include.
39463         * tests/test-strstr.c (includes): Add <signal.h>.
39464         * tests/test-strcasestr.c (includes): Likewise.
39465         * tests/test-memmem.c (includes): Likewise.
39466
39467 2008-06-10  Bruno Haible  <bruno@clisp.org>
39468
39469         * lib/wait-process.c (wait_subprocess): Add an assertion.
39470
39471 2008-06-10  Bruno Haible  <bruno@clisp.org>
39472
39473         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
39474
39475 2008-06-10  Bruno Haible  <bruno@clisp.org>
39476
39477         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
39478         using alarm().
39479         * tests/test-strcasestr.c (main): Likewise.
39480         * tests/test-strstr.c (main): Likewise.
39481
39482 2008-06-09  Bruno Haible  <bruno@clisp.org>
39483
39484         Work around the Solaris 10 ACE ACLs ABI change.
39485         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
39486         declare if ACL_NO_TRIVIAL is present.
39487         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
39488         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
39489         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
39490         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
39491         define if ACL_NO_TRIVIAL is present.
39492         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
39493         and use the current ABI.
39494         (file_has_acl): Use same #if condition as elsewhere.
39495         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
39496         in use, and use the current ABI.
39497         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
39498         Reported by Jim Meyering.
39499
39500 2008-06-09  Eric Blake  <ebb9@byu.net>
39501
39502         Work around environments that (stupidly) ignore SIGALRM.
39503         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
39504         before using alarm().
39505         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39506         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39507         Reported by Ian Beckwith <ianb@erislabs.net>.
39508
39509         Produce autobuild blurb earlier in log.
39510         * modules/autobuild (configure.ac-early): Move AB_INIT here.
39511
39512 2008-06-09  Jim Meyering  <meyering@redhat.com>
39513         and OndÅ™ej Vašík  <ovasik@redhat.com>
39514
39515         utimens.c: correct kernel bug work-around
39516         OndÅ™ej Vašík found that the invalid return value of 280 indicates
39517         failure, not success, and the kernel bug we're trying to work
39518         around affects not just the utimensat call, but also the fallback
39519         futimens call.
39520         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
39521         not success.
39522         [HAVE_FUTIMENS]: Use the same work-around, here.
39523
39524 2008-06-09  Jim Meyering  <meyering@redhat.com>
39525
39526         add more guards around definition of ACE_-related code
39527         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
39528         ALLOW and ACE_OWNER are also defined.
39529
39530 2008-06-08  Bruno Haible  <bruno@clisp.org>
39531
39532         * lib/acl-internal.h: Add me as co-author.
39533         * lib/file-has-acl.c: Likewise.
39534         * lib/set-mode-acl.c: Likewise.
39535         * lib/copy-acl.c: Likewise.
39536
39537 2008-06-08  Bruno Haible  <bruno@clisp.org>
39538
39539         Add support for AIX ACLs.
39540         * lib/acl-internal.h (acl_nontrivial): New declaration.
39541         * lib/file-has-acl.c (acl_nontrivial): New function.
39542         (file_has_acl): Add implementation using AIX 4 ACL API.
39543         * lib/set-mode-acl.c (qset_acl): Likewise.
39544         * lib/copy-acl.c (qcopy_acl): Likewise.
39545
39546 2008-06-08  Bruno Haible  <bruno@clisp.org>
39547
39548         Add support for HP-UX ACLs.
39549         * lib/acl-internal.h (acl_nontrivial): New declaration.
39550         * lib/file-has-acl.c (acl_nontrivial): New function.
39551         (file_has_acl): Add implementation using HP-UX 11 ACL API.
39552         * lib/set-mode-acl.c (qset_acl): Likewise.
39553         * lib/copy-acl.c (qcopy_acl): Likewise.
39554
39555 2008-06-08  Bruno Haible  <bruno@clisp.org>
39556
39557         Add support for Cygwin ACLs.
39558         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
39559         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
39560         the chmod_or_fchmod call.
39561         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
39562
39563 2008-06-08  Bruno Haible  <bruno@clisp.org>
39564
39565         Fix bug with setuid modes in Solaris 10+ code.
39566         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
39567         succeeded, when the mode contains some special bits.
39568
39569 2008-06-08  Bruno Haible  <bruno@clisp.org>
39570
39571         Add support for Solaris 7..10 ACLs.
39572         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
39573         declarations.
39574         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
39575         functions.
39576         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
39577         * lib/set-mode-acl.c (qset_acl): Likewise.
39578         * lib/copy-acl.c (qcopy_acl): Likewise.
39579
39580 2008-06-08  Bruno Haible  <bruno@clisp.org>
39581
39582         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
39583         declaration.
39584         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
39585         (acl_access_nontrivial): Remove MacOS X case.
39586         (file_has_acl): Use acl_extended_nontrivial.
39587         * lib/copy-acl.c (qcopy_acl): Likewise.
39588
39589 2008-06-08  Bruno Haible  <bruno@clisp.org>
39590
39591         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
39592
39593 2008-06-08  Jim Meyering  <meyering@redhat.com>
39594
39595         * modules/acl (Maintainer): Add Bruno Haible.
39596
39597 2008-06-07  Bruno Haible  <bruno@clisp.org>
39598
39599         Improve support for Tru64 ACLs.
39600         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39601         ACL on OSF/1.
39602
39603 2008-06-07  Bruno Haible  <bruno@clisp.org>
39604
39605         Add support for MacOS X ACLs.
39606         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39607         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39608         * lib/set-mode-acl.c (qset_acl): Likewise.
39609         * lib/copy-acl.c (qcopy_acl): Likewise.
39610
39611 2008-06-07  Bruno Haible  <bruno@clisp.org>
39612
39613         Fix memory leak introduced on 2008-05-22.
39614         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39615         use.
39616
39617 2008-06-07  Bruno Haible  <bruno@clisp.org>
39618
39619         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39620         to construct an empty ACL.
39621
39622 2008-06-07  Bruno Haible  <bruno@clisp.org>
39623
39624         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39625         precisely.
39626         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39627
39628 2008-06-07  Bruno Haible  <bruno@clisp.org>
39629
39630         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
39631         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
39632
39633 2008-06-07  Bruno Haible  <bruno@clisp.org>
39634
39635         * doc/posix-functions/_setjmp.texi: Explain the use of this function
39636         regardless of POSIX.
39637         * doc/posix-functions/_longjmp.texi: Likewise.
39638         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
39639         SystemV platform in this case.
39640
39641 2008-06-06  Eric Blake  <ebb9@byu.net>
39642
39643         Document abort() bugs.
39644         * doc/posix-functions/abort.texi (abort): Mention anomalies.
39645
39646         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
39647         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
39648         sigsetjmp.
39649         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
39650         siglongjmp, but only as a macro.
39651         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
39652         is obsolete.
39653         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
39654
39655         Tweak documentation to cover cygwin argz bugs.
39656         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
39657         argz bug fix; no code change needed since no cygwin releases
39658         occurred between the last fix and the bug being tested.
39659         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
39660         module and recently fixed cygwin bugs.
39661         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
39662         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
39663         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
39664         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
39665         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
39666         Likewise.
39667         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
39668         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
39669         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
39670         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
39671         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
39672         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
39673         Likewise.
39674
39675         Avoid gcc warning on cygwin.
39676         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
39677         !ACL_NO_TRIVIAL]: Avoid unused variable.
39678
39679 2008-06-05  Eric Blake  <ebb9@byu.net>
39680
39681         Be tolerant of UNKNOWN version in gnulib-tool test dir.
39682         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
39683         git-version-gen fails to come up with a version.
39684         Reported by Simon Josefsson.
39685
39686 2008-06-05  Jim Meyering  <meyering@redhat.com>
39687             Paul Eggert  <eggert@cs.ucla.edu>
39688
39689         utimens.c: work around a probable Linux kernel bug
39690         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
39691         appears to be a kernel bug that causes utimensat to return 280
39692         instead of 0, indicating success.
39693
39694 2008-06-04  Bruno Haible  <bruno@clisp.org>
39695
39696         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
39697         2008-06-01 commit.
39698
39699 2008-06-04  Bruno Haible  <bruno@clisp.org>
39700
39701         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
39702         * lib/file-has-acl.c (acl_access_nontrivial): New function.
39703         (file_has_acl): Use it. Save errno afterwards.
39704         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
39705
39706 2008-06-03  Bruno Haible  <bruno@clisp.org>
39707
39708         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
39709         draft code. Simplify #ifs.
39710         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
39711         Put Solaris code after POSIX-draft code. Fix comments regarding
39712         Solaris 10, HP-UX. Mention Cygwin.
39713         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
39714
39715 2008-06-03  Eric Blake  <ebb9@byu.net>
39716
39717         Provide fallback for older kernels.
39718         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
39719         Provide runtime fallback if kernel lacks support.
39720         Reported by Mike Frysinger.
39721
39722 2008-06-02  Bruno Haible  <bruno@clisp.org>
39723
39724         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
39725         it exists.
39726
39727 2008-06-02  Bruno Haible  <bruno@clisp.org>
39728
39729         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
39730         * lib/copy-acl.c (qcopy_acl): Update comment.
39731
39732 2008-06-02  Bruno Haible  <bruno@clisp.org>
39733
39734         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
39735         like ACL APIs.
39736
39737 2008-06-02  Bruno Haible  <bruno@clisp.org>
39738
39739         * tests/test-file-has-acl.sh: Use different code for Cygwin.
39740         * tests/test-set-mode-acl.sh: Likewise.
39741         * tests/test-copy-acl.sh: Likewise.
39742         * tests/test-copy-file.sh: Likewise.
39743
39744 2008-06-02  Bruno Haible  <bruno@clisp.org>
39745
39746         * tests/test-file-has-acl.sh: Remove unused code.
39747
39748 2008-06-01  Bruno Haible  <bruno@clisp.org>
39749
39750         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
39751         (copy_acl): Just a wrapper around qcopy_acl that emits the error
39752         messages.
39753         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
39754
39755 2008-06-01  Bruno Haible  <bruno@clisp.org>
39756
39757         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
39758         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
39759         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
39760         APIs.
39761         * modules/acl-tests (configure.ac): Remove tests now contained in
39762         m4/acl.m4.
39763
39764 2008-06-02  Jim Meyering  <meyering@redhat.com>
39765
39766         announce-gen: use a better key-server host name
39767         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
39768         it may be more consistently reliable.  Suggested by Werner Koch
39769         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
39770
39771 2008-06-01  Bruno Haible  <bruno@clisp.org>
39772
39773         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
39774         Reported by Voroskoi Andras <voroskoi@gmail.com>.
39775
39776 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
39777
39778         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
39779
39780 2008-06-01  Bruno Haible  <bruno@clisp.org>
39781
39782         New ACL tests.
39783         * tests/test-file-has-acl.sh: New file.
39784         * tests/test-file-has-acl.c: New file.
39785         * tests/test-set-mode-acl.sh: New file.
39786         * tests/test-set-mode-acl.c: New file.
39787         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
39788         * tests/test-copy-acl.c: New file.
39789         * modules/acl-tests: New file, based on modules/copy-file-tests.
39790         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
39791         (Depends-on): Add acl-tests.
39792         (configure.ac): Remove checks.
39793         (Makefile.am): Don't create test-sameacls program here any more.
39794
39795 2008-06-01  Bruno Haible  <bruno@clisp.org>
39796
39797         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
39798         * tests/test-sameacls.c: Include progname.h.
39799         (main): Invoke set_program_name. Portability fixes for MacOS X,
39800         Solaris, HP-UX.
39801
39802 2008-06-01  Bruno Haible  <bruno@clisp.org>
39803
39804         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
39805         function.
39806         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
39807
39808 2008-06-01  Bruno Haible  <bruno@clisp.org>
39809
39810         * modules/rpmatch (Depends-on): Add strdup.
39811
39812 2008-06-01  Bruno Haible  <bruno@clisp.org>
39813
39814         * lib/pipe.c: Include unistd-safer.h.
39815         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
39816         * modules/pipe (Depends-on): Add unistd-safer.
39817
39818 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39819
39820         * modules/autobuild (configure.ac): Call AB_INIT.
39821
39822 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39823
39824         * tests/test-getaddrinfo.c: Don't print debug messages by default.
39825         Suggested by Bruno Haible <bruno@clisp.org>.
39826
39827 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39828
39829         * tests/test-base64.c: Cast size_t to unsigned long when invoking
39830         printf.  Use %lu instead of %d.  Reported by Bruno Haible
39831         <bruno@clisp.org>.
39832
39833 2008-05-29  Eric Blake  <ebb9@byu.net>
39834
39835         Prefer new POSIX 200x interfaces over futimesat.
39836         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
39837         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
39838         when available.
39839         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
39840
39841 2008-05-28  Bruno Haible  <bruno@clisp.org>
39842
39843         * modules/stpcpy (License): Change to LGPLv2+.
39844         Requested by David Lutterkort <dlutter@redhat.com>.
39845
39846 2008-05-27  Bruno Haible  <bruno@clisp.org>
39847
39848         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
39849         current mingw.
39850         Reported by Jose E. Marchesi <jemarch@gnu.org>.
39851
39852 2008-05-27  Bruno Haible  <bruno@clisp.org>
39853
39854         * modules/iconv_open (Link): New section, from module 'iconv'.
39855         * modules/striconv (Link): Likewise.
39856         * modules/striconveh (Link): Likewise.
39857         * modules/xstriconv (Link): Likewise.
39858         * modules/unicodeio (Link): Likewise.
39859         * modules/propername (Link): Likewise.
39860         Reported by Jim Meyering.
39861
39862 2008-05-26  Jim Meyering  <meyering@redhat.com>
39863
39864         sha256: do not artificially restrict buffer length to be < 2^32
39865         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
39866         uint32_t to size_t.
39867         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
39868         to match.
39869
39870         avoid unaligned access errors, e.g., on sparc
39871         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
39872         direct access through a possibly-unaligned uint64* pointer.
39873         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
39874         direct access through a possibly-unaligned uint32* pointer.
39875         Prompted by this patch from Tom "spot" Callaway:
39876         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
39877
39878         sha512.c: fix typo in comment
39879         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
39880
39881 2008-05-25  Bruno Haible  <bruno@clisp.org>
39882
39883         * lib/set-mode-acl.c: Renamed from lib/acl.c.
39884         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
39885         (Makefile.am): Update lib_SOURCES.
39886
39887 2008-05-25  Bruno Haible  <bruno@clisp.org>
39888
39889         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
39890
39891 2008-05-25  Jim Meyering  <meyering@redhat.com>
39892
39893         useless-if-before-free: freed expr may have white-space differences
39894         * build-aux/useless-if-before-free: Recognize cases in which the
39895         freed expression differs from the tested one in embedded white
39896         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
39897         $1 was used, so we can't make any regexp shy.  Improved tests now
39898         detect this.
39899
39900         useless-if-before-free: accept white space in the expression.
39901         * build-aux/useless-if-before-free: For now, any white space
39902         in the expression must be identical in the free argument.
39903
39904         useless-if-before-free: efficiency tweak
39905         * build-aux/useless-if-before-free: Make the expression-matching
39906         regexp "shy".
39907         Make the *outer* regexp shy, not the expr-matching one.
39908
39909         update code-in-comment to accept cast of free arg
39910         * build-aux/useless-if-before-free: Update regexp.
39911
39912 2008-05-25  Bruno Haible  <bruno@clisp.org>
39913
39914         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
39915         * modules/copy-file-tests (Files, Makefile.am): Update.
39916         * tests/test-copy-file.c (func_test_copy): Update.
39917
39918 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
39919
39920         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
39921
39922 2008-05-23  Bruno Haible  <bruno@clisp.org>
39923
39924         Improve support for ACLs on OSF/1.
39925         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
39926         Remove fallback for unknown flavors of ACLs.
39927
39928 2008-05-22  Bruno Haible  <bruno@clisp.org>
39929
39930         Add support for ACLs on OSF/1.
39931         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
39932         replacements.
39933         (acl_free_text): New macro fallback.
39934         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
39935         acl_free.
39936         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
39937         acl_free_text function. Require AC_C_INLINE.
39938
39939 2008-05-22  Bruno Haible  <bruno@clisp.org>
39940
39941         Make copy_acl work on MacOS X 10.5.
39942         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
39943         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
39944         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
39945         If MODE_INSIDE_ACL, don't assume that every system has the same text
39946         representation for ACLs as FreeBSD.
39947         * lib/copy-acl.c (copy_acl): Add support for platforms with
39948         !MODE_INSIDE_ACL.
39949         * lib/file-has-acl.c (file_has_acl): Likewise.
39950         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
39951         FreeBSD, MacOS X, or IRIX, respectively.
39952
39953 2008-05-22  Bruno Haible  <bruno@clisp.org>
39954
39955         * lib/acl.h: Don't include <sys/acl.h>.
39956         (GETACLCNT): Move fallback to lib/acl-internal.h.
39957         * lib/acl-internal.h: Include <sys/acl.h> here.
39958         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
39959
39960 2008-05-22  Bruno Haible  <bruno@clisp.org>
39961
39962         Split off copy_acl function to separate file.
39963         * lib/copy-acl.c: New file, extracted from lib/acl.c.
39964         * lib/acl.c (copy_acl): Moved function to separate file.
39965         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
39966         * modules/acl (Files): Add lib/copy-acl.c.
39967         (Makefiles.am): Augment lib_SOURCES.
39968
39969 2008-05-22  Bruno Haible  <bruno@clisp.org>
39970
39971         * modules/copy-file-tests: New file.
39972         * tests/test-copy-file.sh: New file.
39973         * tests/test-copy-file.c: New file.
39974         * tests/test-copy-file-sameacls.c: New file.
39975
39976 2008-05-22  Eric Blake  <ebb9@byu.net>
39977
39978         Avoid gcc warning.
39979         * tests/test-memcmp.c (main): Pass NULL indirectly.
39980
39981 2008-05-21  Bruno Haible  <bruno@clisp.org>
39982
39983         Add reference doc about ACLs.
39984         * doc/acl-resources.txt: New file.
39985         * doc/acl-cygwin.txt: New file.
39986
39987 2008-05-21  Bruno Haible  <bruno@clisp.org>
39988
39989         Avoid one more warning from gcc.
39990         * lib/vasnprintf.c (IF_LINT): Update comments.
39991         (VASNPRINTF): Use it also for the 'prefix' array initializer.
39992
39993 2008-05-21  Jim Meyering  <meyering@redhat.com>
39994
39995         avoid a warning from gcc
39996         * lib/vasnprintf.c (IF_LINT): Define.
39997         (scale10_round_decimal_long_double):
39998         Use it to avoid a "may be used uninitialized" warning.
39999         (scale10_round_decimal_double): Likewise.
40000
40001 2008-05-21  Simon Josefsson  <simon@josefsson.org>
40002
40003         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
40004         declared.
40005
40006 2008-05-20  Bruno Haible  <bruno@clisp.org>
40007
40008         * tests/test-memcmp.c (main): Test also the sign of the result. Test
40009         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
40010
40011 2008-05-20  Simon Josefsson  <simon@josefsson.org>
40012
40013         * modules/memcmp-tests: New file.
40014         * tests/test-memcmp.c: New file.
40015
40016 2008-05-19  Bruno Haible  <bruno@clisp.org>
40017
40018         * modules/propername (Notice, configure.ac): Put quoted "..." into
40019         --keyword option.
40020         * lib/propername.h: Update comments accordingly.
40021         Reported by Eric Blake.
40022
40023 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
40024
40025         * modules/getpass-gnu (Depends-on): Add fseeko.
40026
40027 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40028
40029         * modules/base64-tests: New file.
40030
40031 2008-05-19  Bo Borgerson <gigabo@gmail.com>
40032
40033         * lib/base64.c (base64_decode_ctx): If a decode context structure
40034         was passed in use it to ignore newlines.  If a context structure
40035         was _not_ passed in, continue to treat newlines as garbage (this
40036         is the historical behavior).  Formerly base64_decode.
40037         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40038         takes a decode context structure.
40039         * lib/base64.h (base64_decode): Macro for four-argument calls.
40040         (base64_decode_alloc): Likewise.
40041         * lib/base64.c (base64_decode_ctx): If a decode context structure
40042         was passed in use it to ignore newlines.  If a context structure
40043         was _not_ passed in, continue to treat newlines as garbage (this
40044         is the historical behavior).  Formerly base64_decode.
40045         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40046         takes a decode context structure.
40047         * lib/base64.h (base64_decode): Macro for four-argument calls.
40048         (base64_decode_alloc): Likewise.
40049
40050 2008-05-19  Jim Meyering  <meyering@redhat.com>
40051
40052         avoid a warning from gcc
40053         * lib/trim.c (IF_LINT): Define.
40054         (trim2): Use it to avoid a "may be used uninitialized" warning.
40055
40056         Fix doc typo.
40057         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
40058
40059 2008-05-19  Bruno Haible  <bruno@clisp.org>
40060
40061         * doc/glibc-functions/getpass.texi: Document limits of other
40062         implementations.
40063
40064 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40065             Bruno Haible <bruno@clisp.org>
40066
40067         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
40068
40069 2008-05-18  Bruno Haible  <bruno@clisp.org>
40070
40071         * modules/propername: New file, from GNU gettext.
40072         * lib/propername.h: New file, from GNU gettext.
40073         * lib/propername.c: New file, from GNU gettext.
40074         * MODULES.html.sh (Internationalization functions): Add propername.
40075
40076 2008-05-16  Jim Meyering  <meyering@redhat.com>
40077             Bruno Haible  <bruno@clisp.org>
40078
40079         Avoid some warnings from "gcc -Wshadow".
40080         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
40081
40082 2008-05-15  Eric Blake  <ebb9@byu.net>
40083
40084         Extend previous patch to cygwin 1.7.0.
40085         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
40086         fast implementation in cygwin >= 1.7.0.
40087         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40088         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40089
40090 2008-05-15  Bruno Haible  <bruno@clisp.org>
40091
40092         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
40093         implementation in glibc >= 2.9.
40094         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40095         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40096
40097 2008-05-15  Bruno Haible  <bruno@clisp.org>
40098
40099         * MODULES.html.sh (Internationalization functions): Remove linebreak.
40100         (Unicode string functions): Add unilbrk/*.
40101         Reported by Karl Berry.
40102
40103 2008-05-15  Eric Blake  <ebb9@byu.net>
40104
40105         Fix violation of <stdbool.h> replacement in regex.
40106         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
40107         * lib/regexec.c (re_search_internal): Likewise.
40108         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
40109
40110 2008-05-15  Jim Meyering  <meyering@redhat.com>
40111
40112         avoid distracting test output when git or cvs is not found
40113         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
40114         * tests/test-vc-list-files-git.sh: Likewise.
40115
40116 2008-05-15  Eric Blake  <ebb9@byu.net>
40117
40118         Glibc finally accepted the memmem speedup code, bugzilla #5514.
40119         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
40120         glibc version.
40121         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40122         * doc/posix-functions/strstr.texi (strstr): Likewise.
40123         * lib/str-two-way.h (MAX): Sychronize with glibc.
40124
40125 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
40126
40127         * lib/regcomp.c (optimize_utf8): Add a note on why we test
40128         opr.ctx_type.
40129         (calc_first): Initialize constraint field.
40130         (duplicate_node_closure): Use it instead of special casing ANCHORS.
40131         Fix grammar.
40132         (duplicate_node): Merge constraint field for all node types.
40133         (calc_eclosure_iter): Look at constraint field for all node types.
40134         * lib/regex_internal.c (create_cd_newstate): Don't look at
40135         opr.ctx_type.
40136
40137 2008-05-14  Bruno Haible  <bruno@clisp.org>
40138
40139         Help GCC to do better code generation.
40140         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
40141         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
40142         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
40143         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
40144         Declare with attribute 'malloc' if supported.
40145
40146 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
40147
40148         use "echo STR|wc -c" rather than unportable "expr length STR"
40149         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
40150         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
40151
40152 2008-05-14  Jim Meyering  <meyering@redhat.com>
40153
40154         use dd ibs=$n count=1 ... rather than less-portable head -c$n
40155         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
40156         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
40157         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
40158         via Collin Lasse.
40159
40160 2008-05-14  Eric Blake  <ebb9@byu.net>
40161
40162         Avoid quadratic growth in gl_LIBSOURCES.
40163         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
40164         Suggested by Bruno Haible.
40165
40166         Test xmemdup0.
40167         * modules/xmemdup0-tests: New file.
40168         * tests/test-xmemdup0.c: Likewise.
40169
40170 2008-05-13  Eric Blake  <ebb9@byu.net>
40171
40172         Split xmemdup0 into its own module.
40173         * modules/xmemdup0: New file.
40174         * lib/xmemdup0.h: Likewise.
40175         * lib/xmemdup0.c: Likewise.
40176         * MODULES.html.sh (Memory management functions): Add xmemdup0.
40177         * lib/xalloc.h (xmemdup0): Remove.
40178         * lib/xmalloc.c (xmemdup0): Likewise.
40179
40180 2008-05-13  Eric Blake  <ebb9@byu.net>
40181             Bruno Haible  <bruno@clisp.org>
40182
40183         Reduce number of forks required during autoconf.
40184         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
40185         and gl_LIBSOURCES_DIR.
40186         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
40187         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
40188         m4_syscmd per file.
40189         <m4_foreach_w>: Move...
40190         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
40191
40192 2008-05-13  Eric Blake  <ebb9@byu.net>
40193
40194         * gnulib-tool: Fix various comment typos.
40195
40196 2008-05-12  Bruno Haible  <bruno@clisp.org>
40197
40198         Tailor the linebreaking algorithm.
40199         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
40200
40201 2008-05-12  Bruno Haible  <bruno@clisp.org>
40202
40203         Update to Unicode 5.0.0.
40204         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40205         LBP_JV, LBP_JT. Redistribute values.
40206         (unilbrk_table): Change size.
40207         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
40208         Unicode TR#14 rev. 22.
40209         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40210         LBP_JV, LBP_JT. Redistribute values.
40211         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
40212         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
40213         Update.
40214         * lib/unilbrk/lbrkprop1.h: Regenerated.
40215         * lib/unilbrk/lbrkprop2.h: Regenerated.
40216         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
40217         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
40218         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
40219         Likewise.
40220         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
40221         Likewise.
40222         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
40223         result.
40224         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
40225         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
40226         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
40227         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
40228         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
40229         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
40230
40231 2008-05-11  Bruno Haible  <bruno@clisp.org>
40232
40233         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
40234
40235 2008-05-11  Bruno Haible  <bruno@clisp.org>
40236
40237         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
40238         * modules/unilbrk/gen-lbrk: New file.
40239
40240 2008-05-11  Bruno Haible  <bruno@clisp.org>
40241
40242         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
40243         * m4/sha512.m4 (gl_SHA512): Likewise.
40244
40245 2008-05-11  Jim Meyering  <meyering@redhat.com>
40246
40247         New modules: crypto/sha256, crypto/sha512 (from coreutils)
40248         * modules/crypto/sha256: New file.
40249         * modules/crypto/sha512: Likewise.
40250         * lib/sha256.c: Likewise.
40251         * lib/sha256.h: Likewise.
40252         * lib/sha512.c: Likewise.
40253         * lib/sha512.h: Likewise.
40254         * lib/u64.h: Likewise.
40255         * m4/sha256.m4: Likewise.
40256         * m4/sha512.m4: Likewise.
40257         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
40258
40259 2008-05-10  Bruno Haible  <bruno@clisp.org>
40260
40261         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
40262         (Input/Output <stdio.h>): Add xprintf.
40263         (Signal handling <signal.h>): Add strsignal.
40264         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
40265         (Core language properties): Add func.
40266         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
40267         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
40268         strings.
40269         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
40270         (Input/output): New section.
40271         (File system functions): Add openat-die, stat-macros.
40272         (Networking functions): Add sockets.
40273         (Unicode string functions): Add unictype/*.
40274         (Support for building libraries and executables): Add gperf.
40275         (Support for building documentation): Add agpl-3.0.
40276         (Misc): Add nocrash.
40277
40278 2008-05-10  Bruno Haible  <bruno@clisp.org>
40279
40280         * modules/unictype/gen-ctype: New file.
40281
40282 2008-05-10  Jim Meyering  <meyering@redhat.com>
40283
40284         Make chdir-safer.c more efficient on a system with no symlinks.
40285         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
40286         also if ELOOP is zero.  Suggested by Bruno Haible.
40287
40288         Make chdir-safer.c slightly safer.
40289         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
40290         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
40291
40292         Avoid compile failure on systems without ELOOP (like mingw).
40293         * lib/chdir-safer.c (ELOOP): Define if not already defined.
40294         Reported by Bruno Haible.
40295
40296 2008-05-10  Bruno Haible  <bruno@clisp.org>
40297
40298         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
40299         (is_utf8_encoding): Use a case-insensitive comparison.
40300         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
40301         streq.
40302
40303 2008-05-10  Bruno Haible  <bruno@clisp.org>
40304
40305         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
40306         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
40307         * lib/unilbrk/ulc-common.h (iconv_string_length,
40308         iconv_string_keeping_offsets): Remove declarations.
40309         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
40310         Don't include <iconv.h>, streq.h, xsize.h.
40311         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
40312         conversion.
40313         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
40314         <iconv.h>, streq.h, xsize.h.
40315         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
40316         conversion.
40317         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
40318         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
40319         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
40320         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
40321
40322 2008-05-10  Bruno Haible  <bruno@clisp.org>
40323
40324         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
40325         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
40326
40327         * modules/unilbrk/u32-width-linebreaks-tests: New file.
40328         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
40329
40330         * modules/unilbrk/u16-width-linebreaks-tests: New file.
40331         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
40332
40333         * modules/unilbrk/u8-width-linebreaks-tests: New file.
40334         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
40335
40336         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
40337         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
40338
40339         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
40340         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
40341
40342         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
40343         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
40344
40345         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
40346         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
40347
40348 2008-05-10  Bruno Haible  <bruno@clisp.org>
40349
40350         Split up 'linebreak' module.
40351         * lib/unilbrk.h: New file, based on lib/linebreak.h.
40352         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
40353         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
40354         modifications.
40355         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
40356         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
40357         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
40358         lib/linebreak.c.
40359         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
40360         lib/linebreak.c.
40361         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
40362         lib/linebreak.c.
40363         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
40364         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
40365         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
40366         lib/linebreak.c.
40367         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
40368         lib/linebreak.c.
40369         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
40370         lib/linebreak.c.
40371         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
40372         lib/linebreak.c.
40373         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
40374         lib/linebreak.c.
40375         * modules/unilbrk/base: New file.
40376         * modules/unilbrk/tables: New file.
40377         * modules/unilbrk/u8-possible-linebreaks: New file.
40378         * modules/unilbrk/u16-possible-linebreaks: New file.
40379         * modules/unilbrk/u32-possible-linebreaks: New file.
40380         * modules/unilbrk/ulc-common: New file.
40381         * modules/unilbrk/ulc-possible-linebreaks: New file.
40382         * modules/unilbrk/u8-width-linebreaks: New file.
40383         * modules/unilbrk/u16-width-linebreaks: New file.
40384         * modules/unilbrk/u32-width-linebreaks: New file.
40385         * modules/unilbrk/ulc-width-linebreaks: New file.
40386         * lib/linebreak.h: Remove file.
40387         * lib/linebreak.c: Remove file.
40388         * m4/linebreak.m4: Remove file.
40389         * modules/linebreak: Remove file.
40390         * NEWS: Mention the changes.
40391
40392 2008-05-09  Eric Blake  <ebb9@byu.net>
40393
40394         Add xmemdup0.
40395         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
40396         implementation.
40397         * lib/xmalloc.c (xmemdup0): New C implementation.
40398
40399 2008-05-08  Bruno Haible  <bruno@clisp.org>
40400
40401         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
40402
40403 2008-05-07  Eric Blake  <ebb9@byu.net>
40404
40405         Support cross-compilation of <wctype.h>.
40406         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
40407         AC_CACHE_CHECK.
40408
40409 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
40410
40411         * build-aux/vc-list-files: Add support for bzr.
40412
40413 2008-05-03  Jim Meyering  <meyering@redhat.com>
40414
40415         avoid failed assertion with tight malloc
40416         * tests/test-getndelim2.c: Correct an off-by-one assertion.
40417
40418 2008-05-03  Simon Josefsson  <simon@josefsson.org>
40419
40420         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
40421         are needed from arpa/inet.h.
40422         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
40423         Reported by Bruno Haible.
40424
40425 2008-05-02  Jim Meyering  <meyering@redhat.com>
40426
40427         avoid compilation error on FreeBSD 6
40428         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
40429
40430 2008-05-01  Jim Meyering  <meyering@redhat.com>
40431
40432         useless-if-before-free: correct --help's exit status description
40433         * build-aux/useless-if-before-free (usage): Like grep, exit 0
40434         for one or more matches, etc.  Reported by Bruno Haible.
40435
40436         vc-list-files: make the stand-alone gnulib test work
40437         * modules/vc-list-files-tests (configure.ac):
40438         Define and AC_SUBST abs_aux_dir.
40439         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
40440         $(abs_top_srcdir) to each script and having each of them
40441         duplicate the work of setting PATH, set PATH here, using
40442         the new variable, abs_aux_dir instead.
40443         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
40444         * tests/test-vc-list-files-git.sh: Likewise.
40445         Reported by Bruno Haible.
40446
40447 2008-05-01  Bruno Haible  <bruno@clisp.org>
40448
40449         * lib/getndelim2.c (getndelim2): Fix newsize computation during
40450         reallocation. Rename 'done' to 'found_delimiter'.
40451
40452 2008-05-01  Jim Meyering  <meyering@redhat.com>
40453
40454         vc-list-files: accommodate /bin/sh like the one from Solaris 10
40455         * build-aux/vc-list-files: Use `...`, not $(...).
40456
40457 2008-04-30  Jim Meyering  <meyering@redhat.com>
40458
40459         add tests for vc-list-files
40460         * modules/vc-list-files-tests: New module.
40461         * tests/test-vc-list-files-cvs.sh: New file.
40462         * tests/test-vc-list-files-git.sh: New file.
40463
40464         avoid a warning from gcc
40465         * lib/getndelim2.c (IF_LINT): Define.
40466         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
40467
40468         vc-list-files: work properly with build-aux/cvsu, too
40469         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
40470         to all cvs-based clauses.
40471
40472         vc-list-files: work properly in the CVS+awk case, too
40473         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
40474
40475         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
40476         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
40477         take more than one file argument, so .  Add quotes, just in case $dir
40478         ever contains a shell meta-character.  Prompted by Soren Hansen in
40479         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
40480
40481 2008-04-29  Eric Blake  <ebb9@byu.net>
40482
40483         Optimize getndelim2 to use block operations when possible.
40484         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
40485         freadseek, and memchr2.
40486         * lib/getndelim2.c (getndelim2): Use them for block reads.
40487
40488 2008-04-29  Bruno Haible  <bruno@clisp.org>
40489
40490         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
40491         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40492         * modules/inet_ntop (Depends-on): Add extensions.
40493         * modules/inet_pton (Depends-on): Likewise.
40494         Reported by Simon Josefsson.
40495
40496 2008-04-29  Jim Meyering  <meyering@redhat.com>
40497
40498         When the is more than one match in a block, match all of them.
40499         * build-aux/useless-if-before-free: Iterate through each block
40500         until there are no more matches.
40501
40502         Fix broken useless-if-before-free script.
40503         * build-aux/useless-if-before-free: Fix typo: missing "?" after
40504         the expression to match cast of argument to free-like function.
40505
40506 2008-04-29  Eric Blake  <ebb9@byu.net>
40507
40508         Use new header.
40509         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
40510
40511 2008-04-29  Jim Meyering  <meyering@redhat.com>
40512
40513         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
40514         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
40515         by gnulib to exist and to declare e.g., inet_ntop.
40516         Don't include "inet_ntop.h", now removed.
40517
40518         * m4/arpa_inet_h.m4: Remove trailing blanks.
40519
40520 2008-04-29  Eric Blake  <ebb9@byu.net>
40521
40522         Silence valgrind on safe reads beyond potential array bounds.
40523         * lib/rawmemchr.valgrind: New file.
40524         * lib/strchrnul.valgrind: Likewise.
40525         * modules/rawmemchr (Files): Distribute new file.
40526         * modules/strchrnul (Files): Likewise.
40527         Suggested by Bruno Haible.
40528
40529 2008-04-29  Bruno Haible  <bruno@clisp.org>
40530
40531         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
40532         (inet_ntop, inet_pton): Change portability warning's wording.
40533         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
40534         Invoke gl_CHECK_NEXT_HEADERS.
40535         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
40536         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
40537         set ARPA_INET_H.
40538         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40539         * modules/arpa_inet (Description): No longer only for systems that
40540         lack it.
40541         (Depends-on): Add include_next.
40542         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
40543         HAVE_ARPA_INET_H.
40544
40545 2008-04-29  Jim Meyering  <meyering@redhat.com>
40546
40547         * modules/mkdir (License): Re-license as LGPLv2+.
40548
40549 2008-04-29  Bruno Haible  <bruno@clisp.org>
40550
40551         * modules/rawmemchr (Maintainer): Set to Eric.
40552         * modules/strchrnul (Maintainer): Likewise.
40553
40554 2008-04-29  Simon Josefsson  <simon@josefsson.org>
40555
40556         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
40557         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
40558
40559         * modules/arpa_inet (arpa/inet.h): Use them.
40560
40561 2008-04-28  Eric Blake  <ebb9@byu.net>
40562
40563         Test getndelim2.
40564         * modules/getndelim2-tests: New file.
40565         * tests/test-getndelim2.c: Likewise.
40566         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
40567         stream.
40568         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
40569
40570         * MODULES.html.sh: Document new module.
40571
40572 2008-04-20  Bruno Haible  <bruno@clisp.org>
40573
40574         * lib/c-stack.c (die): Use raise.
40575         * modules/c-stack (Depends-on): Add raise.
40576
40577 2008-04-28  Bruno Haible  <bruno@clisp.org>
40578
40579         Expect rpmatch to be declared.
40580         * lib/yesno.c (rpmatch): Remove declaration.
40581
40582         Declare rpmatch.
40583         * lib/stdlib.in.h (rpmatch): New declaration.
40584         * lib/rpmatch.c: Include <stdlib.h> first.
40585         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
40586         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
40587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
40588         HAVE_RPMATCH.
40589         * modules/rpmatch (Depends-on): Add stdlib, extensions.
40590         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40591         (Include): Set to <stdlib.h>.
40592         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
40593         HAVE_RPMATCH.
40594         * NEWS: Document the change.
40595
40596 2008-04-28  Bruno Haible  <bruno@clisp.org>
40597
40598         Change rpmatch to use nl_langinfo when appropriate.
40599         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40600         (N_): New macro.
40601         (localized_pattern): New function/macro.
40602         (try): Remove match, nomatch arguments. Copy the pattern into safe
40603         memory before caching it.
40604         (rpmatch): Use localized_pattern. Add translator comments.
40605         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40606         Suggested by Eric Blake.
40607         * modules/rpmatch (Depends-on): Add stdbool.
40608
40609 2008-04-28  Eric Blake  <ebb9@byu.net>
40610
40611         Add rawmemchr module, matching glibc.
40612         * modules/string (Makefile.am): New indicator.
40613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40614         * lib/string.in.h (rawmemchr): Declare when appropriate.
40615         * modules/rawmemchr: New file.
40616         * m4/rawmemchr.m4: Likewise.
40617         * lib/rawmemchr.c: Likewise.
40618         * modules/rawmemchr-tests: Likewise.
40619         * tests/test-rawmemchr.c: Likewise.
40620         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40621         module.
40622         * modules/strchrnul (Depends-on): Add rawmemchr.
40623         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40624
40625         Whitespace cleanup.
40626         * tests/test-strchrnul.c: Reindent.
40627         * lib/strchrnul.c: Likewise.
40628
40629         Optimize and test strchrnul.
40630         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
40631         * modules/strchrnul-tests: New file.
40632         * tests/test-strchrnul.c: Likewise.
40633
40634         Remove intprops dependency.
40635         * modules/memchr (Depends-on): Remove intprops.
40636         * modules/memrchr (Depends-on): Likewise.
40637         * modules/memchr2 (Depends-on): Likewise.
40638         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
40639         * lib/memrchr.c (__memrchr): Likewise.
40640         * lib/memrchr2.c (memchr2): Likewise.
40641         Reported by Simon Josefsson.
40642
40643 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40644
40645         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
40646         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40647
40648 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40649
40650         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
40651
40652         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
40653
40654         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
40655
40656         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
40657         declarations.
40658         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
40659
40660         * m4/inet_pton.m4: Don't check for header files.
40661
40662         * m4/inet_ntop.m4: Don't check for header files.
40663
40664 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40665
40666         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
40667         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
40668         trigger for cygwin).
40669         Reported by Bruno Haible  <bruno@clisp.org>.
40670
40671 2008-04-28  Bruno Haible  <bruno@clisp.org>
40672
40673         * doc/posix-functions/strdup.texi: Mention mingw problem.
40674
40675 2008-04-27  Bruno Haible  <bruno@clisp.org>
40676
40677         * modules/stat-time-tests (Depends-on): Add sleep.
40678         * tests/test-stat-time.c (force_unlink): New function.
40679         (cleanup): Use it.
40680         (test_mtime): Remove the ctime related tests.
40681         (test_ctime): New function, containing the ctime related tests.
40682         (main): Call test_ctime, except on native Windows platforms.
40683
40684 2008-04-27  Bruno Haible  <bruno@clisp.org>
40685
40686         * lib/rpmatch.c (rpmatch): Add some comments.
40687         Reported by James Youngman <jay@gnu.org>.
40688
40689 2008-04-27  Bruno Haible  <bruno@clisp.org>
40690
40691         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
40692         quiet NaNs.
40693
40694 2008-04-27  Bruno Haible  <bruno@clisp.org>
40695
40696         Make test-yesno.sh work on mingw.
40697         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
40698         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
40699         (main): Set stdin to binary mode.
40700         * modules/yesno-tests (Depends-on): Add binary-io.
40701
40702 2008-04-27  Bruno Haible  <bruno@clisp.org>
40703
40704         Fix 'isfinite' on x86, x86_64, ia64 platforms.
40705         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
40706         argument that lie outside the IEEE 854 domain.
40707         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
40708         (gl_ISFINITE): Use it.
40709         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
40710
40711 2008-04-27  Bruno Haible  <bruno@clisp.org>
40712
40713         Allow local renaming in config.h.
40714         * lib/memrchr.c (memrchr): Don't undefine outside libc.
40715
40716 2008-04-27  Bruno Haible  <bruno@clisp.org>
40717
40718         * lib/memchr.c (__memchr): Change type of 'i'.
40719         * lib/memchr2.c (memchr2): Likewise.
40720
40721 2008-04-26  Eric Blake  <ebb9@byu.net>
40722         and Bruno Haible  <bruno@clisp.org>
40723
40724         Optimize and test memrchr.
40725         * modules/memrchr (Depends-on): Add intprops.
40726         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
40727         * modules/memrchr-tests: New file.
40728         * tests/test-memrchr.c: New file.
40729
40730 2008-04-26  Bruno Haible  <bruno@clisp.org>
40731
40732         Add tentative support for DragonFly BSD.
40733         * lib/stdio-impl.h: Add macros for DragonFly BSD.
40734         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
40735         fp.
40736         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40737         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
40738         * lib/fpurge.c (fpurge): Likewise.
40739         * lib/freadable.c (freaadable): Likewise.
40740         * lib/freadahead.c (freadahead): Likewise.
40741         * lib/freading.c (freading): Likewise.
40742         * lib/freadptr.c (freadptr): Likewise.
40743         * lib/freadseek.c (freadptrinc): Likewise.
40744         * lib/fseeko.c (fseeko): Likewise.
40745         * lib/fseterr.c (fseterr): Likewise.
40746         * lib/fwritable.c (fwritable): Likewise.
40747         * lib/fwriting.c (fwriting): Likewise.
40748
40749 2008-04-26  Bruno Haible  <bruno@clisp.org>
40750
40751         * lib/stdio-impl.h: New file.
40752         * lib/fbufmode.c: Include stdio-impl.h.
40753         (fbufmode): Use fp_, remove redundant #defines.
40754         * lib/fflush.c: Include stdio-impl.h.
40755         (clear_ungetc_buffer): Remove redundant #defines.
40756         * lib/fpurge.c: Include stdio-impl.h.
40757         (fpurge): Remove redundant #defines.
40758         * lib/freadable.c: Include stdio-impl.h.
40759         (freadable): Remove redundant #defines.
40760         * lib/freadahead.c: Include stdio-impl.h.
40761         (freadahead): Remove redundant #defines.
40762         * lib/freading.c: Include stdio-impl.h.
40763         (freading): Remove redundant #defines.
40764         * lib/freadptr.c: Include stdio-impl.h.
40765         (freadptr): Remove redundant #defines.
40766         * lib/freadseek.c: Include stdio-impl.h.
40767         (freadptrinc): Remove redundant #defines.
40768         * lib/fseeko.c: Include stdio-impl.h.
40769         (rpl_fseeko): Remove redundant #defines.
40770         * lib/fseterr.c: Include stdio-impl.h.
40771         (fseterr): Remove redundant #defines.
40772         * lib/fwritable.c: Include stdio-impl.h.
40773         (fwritable: Remove redundant #defines.
40774         * lib/fwriting.c: Include stdio-impl.h.
40775         (fwriting): Remove redundant #defines.
40776         * modules/fbufmode (Files): Add lib/stdio-impl.h.
40777         * modules/fflush (Files): Likewise.
40778         * modules/fpurge (Files): Likewise.
40779         * modules/freadable (Files): Likewise.
40780         * modules/freadahead (Files): Likewise.
40781         * modules/freading (Files): Likewise.
40782         * modules/freadptr (Files): Likewise.
40783         * modules/freadseek (Files): Likewise.
40784         * modules/fseeko (Files): Likewise.
40785         * modules/fseterr (Files): Likewise.
40786         * modules/fwritable (Files): Likewise.
40787         * modules/fwriting (Files): Likewise.
40788
40789 2008-04-26  Bruno Haible  <bruno@clisp.org>
40790
40791         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40792         restore_seek_optimization, update_fpos_cache): New functions, extracted
40793         from rpl_fflush.
40794         (rpl_fflush): Use them.
40795         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
40796         (gl_REPLACE_FFLUSH): Use it.
40797
40798 2008-04-26  Bruno Haible  <bruno@clisp.org>
40799
40800         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
40801         on Solaris.
40802         * tests/test-xstrtoimax.sh: Likewise.
40803         * tests/test-xstrtoumax.sh: Likewise.
40804         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40805
40806 2008-04-26  Bruno Haible  <bruno@clisp.org>
40807
40808         * modules/memchr-tests: New file.
40809         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
40810
40811 2008-04-26  Eric Blake  <ebb9@byu.net>
40812             Bruno Haible  <bruno@clisp.org>
40813
40814         * lib/memchr.c: Include intprops.h.
40815         (__memchr): Optimize parallel detection of matching bytes. Rename local
40816         variables. Add explanatory comments.
40817
40818 2008-04-26  Bruno Haible  <bruno@clisp.org>
40819
40820         Fix module 'memchr', broken since 2000-10-28.
40821         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
40822
40823 2008-04-26  Bruno Haible  <bruno@clisp.org>
40824
40825         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
40826         comments.
40827
40828 2008-04-25  Eric Blake  <ebb9@byu.net>
40829
40830         Use native fstatat on cygwin 1.7.0.
40831         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
40832         first.
40833
40834 2008-04-23  Eric Blake  <ebb9@byu.net>
40835
40836         Improve memchr2 performance.
40837         * lib/memchr2.c (memchr2): Further optimize parallel detection of
40838         NUL bytes.
40839         * modules/memchr2 (Depends-on): Use intprops.h.
40840
40841 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40842
40843         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
40844         an inline function instead of a CPP macro.  Patch by Ben Pfaff
40845         <blp@cs.stanford.edu>.
40846
40847 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40848
40849         * lib/arpa_inet.in.h: New file.
40850
40851         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
40852         (Makefile.am): Sed in substitute header file.
40853
40854         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
40855         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
40856
40857         * modules/inet_ntop (configure.ac): Use
40858         gl_ARPA_INET_MODULE_INDICATOR.
40859
40860         * modules/inet_pton (configure.ac): Use
40861         gl_ARPA_INET_MODULE_INDICATOR.
40862
40863 2008-04-22  Jim Meyering  <meyering@redhat.com>
40864
40865         * modules/verify (License): Re-license as LGPLv2+.
40866
40867 2008-04-22  Simon Josefsson  <simon@josefsson.org>
40868
40869         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
40870         parameter to void* as per POSIX standard (MinGW uses char*).
40871
40872 2008-04-21  Bruno Haible  <bruno@clisp.org>
40873
40874         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40875         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40876         Define to replacements if REPLACE_ISWCNTRL is 1.
40877         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
40878         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
40879         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
40880         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
40881         what it fixes.
40882         * doc/posix-functions/iswalpha.texi: Likewise.
40883         * doc/posix-functions/iswblank.texi: Likewise.
40884         * doc/posix-functions/iswcntrl.texi: Likewise.
40885         * doc/posix-functions/iswdigit.texi: Likewise.
40886         * doc/posix-functions/iswgraph.texi: Likewise.
40887         * doc/posix-functions/iswlower.texi: Likewise.
40888         * doc/posix-functions/iswprint.texi: Likewise.
40889         * doc/posix-functions/iswpunct.texi: Likewise.
40890         * doc/posix-functions/iswspace.texi: Likewise.
40891         * doc/posix-functions/iswupper.texi: Likewise.
40892         * doc/posix-functions/iswxdigit.texi: Likewise.
40893         Reported by Alain Guibert.
40894
40895 2008-04-21  Bruno Haible  <bruno@clisp.org>
40896
40897         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
40898         Patch by Alain Guibert.
40899
40900 2008-04-21  Bruno Haible  <bruno@clisp.org>
40901
40902         Fix test failures on mingw.
40903         * tests/test-xstrtol.c (print_no_progname): New function.
40904         (main): Install it in error_print_progname hook.
40905         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
40906         * tests/test-xstrtoimax.sh: Likewise.
40907         * tests/test-xstrtoumax.sh: Likewise.
40908
40909 2008-04-21  Bruno Haible  <bruno@clisp.org>
40910
40911         Fix test failure on mingw.
40912         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
40913
40914 2008-04-21  Bruno Haible  <bruno@clisp.org>
40915
40916         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
40917         Actually assign a value.
40918
40919 2008-04-20  Bruno Haible  <bruno@clisp.org>
40920
40921         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
40922         take 2.
40923         * lib/canonicalize.c (canonicalize_file_name): Elide if the
40924         'canonicalize-lgpl' module is also used.
40925         * lib/canonicalize-lgpl.c: Undo last change.
40926         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
40927
40928 2008-04-20  Bruno Haible  <bruno@clisp.org>
40929
40930         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
40931         config.h. Provide _mkdir based fallback for mingw.
40932         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
40933         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
40934         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
40935         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
40936         rather than defining mkdir in config.h.
40937         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
40938         (gl_SYS_STAT_H_DEFAULTS): New macro.
40939         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
40940         HAVE_IO_H any more.
40941         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
40942         HAVE_DECL_MKDIR and HAVE_IO_H.
40943
40944 2008-04-20  Bruno Haible  <bruno@clisp.org>
40945
40946         * lib/isapipe.c: Port to native Windows platforms.
40947
40948 2008-04-20  Bruno Haible  <bruno@clisp.org>
40949
40950         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
40951
40952 2008-04-21  Eric Blake  <ebb9@byu.net>
40953
40954         Work around preprocessors that don't handle UINTMAX_MAX.
40955         * lib/memchr2.c (memchr2): Avoid embedded #if.
40956         Reported by Alain Guibert, fix suggested by Bruno Haible.
40957
40958 2008-04-21  Simon Josefsson  <simon@josefsson.org>
40959
40960         * doc/posix-functions/strftime.texi (strftime): Explain better
40961         Windows incompatibility.  Suggested by Micah Cowan
40962         <micah@cowan.name>.
40963
40964 2008-04-20  Bruno Haible  <bruno@clisp.org>
40965
40966         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
40967         unistr/u8-mblen.
40968
40969 2008-04-20  Bruno Haible  <bruno@clisp.org>
40970
40971         Fix test failure on platforms with non-GNU iconv.
40972         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
40973         (U_TO_U8): Use it, rather than u16_to_u8.
40974         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
40975         units at the end of the input string.
40976         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
40977
40978 2008-04-20  Bruno Haible  <bruno@clisp.org>
40979
40980         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
40981         when the resulting length is 0.
40982         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
40983
40984 2008-04-20  Bruno Haible  <bruno@clisp.org>
40985
40986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
40987         works.
40988         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
40989
40990 2008-04-20  Bruno Haible  <bruno@clisp.org>
40991
40992         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
40993         * modules/tsearch-tests (configure.ac): Test for initstate function.
40994
40995 2008-04-20  Bruno Haible  <bruno@clisp.org>
40996
40997         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
40998         for nlink_t if missing.
40999         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
41000
41001 2008-04-19  Bruno Haible  <bruno@clisp.org>
41002
41003         Work around snprintf bug on Linux libc5.
41004         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
41005         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41006         gl_SNPRINTF_SIZE1.
41007         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41008         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
41009         that test failed.
41010         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
41011         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
41012         * modules/snprintf (Files): Add m4/printf.m4.
41013         * modules/vsnprintf (Files): Likewise.
41014         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
41015         * doc/posix-functions/vsnprintf.texi: Likewise.
41016
41017 2008-04-19  Bruno Haible  <bruno@clisp.org>
41018
41019         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
41020         from 0.0058 to less than 10^-7.
41021
41022 2008-04-19  Bruno Haible  <bruno@clisp.org>
41023
41024         Fix rounding when a precision is given.
41025         * lib/vasnprintf.c (is_borderline): New function.
41026         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
41027         9...9x.
41028         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
41029         %e, %g.
41030         * tests/test-vasprintf-posix.c (test_function): Likewise.
41031         * tests/test-snprintf-posix.h (test_function): Likewise.
41032         * tests/test-sprintf-posix.h (test_function): Likewise.
41033         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
41034         * tests/test-printf-posix.h (test_function): Likewise.
41035         * tests/test-printf-posix.output: Update.
41036         Reported by John Darrington <john@darrington.wattle.id.au> via
41037         Ben Pfaff <blp@cs.stanford.edu>.
41038
41039 2008-04-18  Simon Josefsson  <simon@josefsson.org>
41040
41041         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
41042         Suggested by Bruno Haible <bruno@clisp.org>.
41043
41044 2008-04-17  Bruno Haible  <bruno@clisp.org>
41045
41046         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
41047         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
41048         implementation.
41049         Patch by Bruce Merry <bmerry@gmail.com>.
41050
41051 2008-04-17  Simon Josefsson  <simon@josefsson.org>
41052
41053         * doc/posix-functions/strftime.texi (strftime): Mention that %e
41054         doesn't work under Windows.
41055
41056 2008-04-16  Bruno Haible  <bruno@clisp.org>
41057
41058         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
41059         New macros.
41060         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
41061         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
41062         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
41063         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
41064         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
41065         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
41066         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
41067         macros.
41068         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
41069         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
41070         Northern Sotho, Uighur.
41071
41072 2008-04-16  Bruno Haible  <bruno@clisp.org>
41073
41074         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
41075         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
41076         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
41077         Reported by Daniel Bergström <daniel@octocode.com>.
41078
41079 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
41080             Bruno Haible  <bruno@clisp.org>
41081
41082         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
41083         function.
41084         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
41085         New functions, mostly extracted from gl_locale_name_default.
41086         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
41087
41088 2008-04-16  Eric Blake  <ebb9@byu.net>
41089
41090         Adjust strtod detection to catch glibc 2.7 bug.
41091         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
41092         Reported by John Gatewood Ham.
41093
41094 2008-04-16  Bruno Haible  <bruno@clisp.org>
41095
41096         Add tentative support for Linux libc5.
41097         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
41098         * lib/fpurge.c (fpurge): Likewise.
41099         * lib/freadable.c (freadable): Likewise.
41100         * lib/freadahead.c (freadahead): Likewise.
41101         * lib/freading.c (freading): Likewise.
41102         * lib/freadptr.c (freadptr): Likewise.
41103         * lib/freadseek.c (freadptrinc): Likewise.
41104         * lib/fseeko.c (rpl_fseeko): Likewise.
41105         * lib/fseterr.c (fseterr): Likewise.
41106         * lib/fwritable.c (fwritable): Likewise.
41107         * lib/fwriting.c (fwriting): Likewise.
41108         Reported by Alain Guibert <alguibert+bts@free.fr>.
41109
41110 2008-04-15  Bruno Haible  <bruno@clisp.org>
41111
41112         * modules/mathl (configure.ac): Define module indicator.
41113
41114 2008-04-15  Bruno Haible  <bruno@clisp.org>
41115
41116         * lib/logl.c (logl): Remove unused variables.
41117
41118 2008-04-15  Bruno Haible  <bruno@clisp.org>
41119
41120         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
41121         fails.
41122
41123 2008-04-15  Bruno Haible  <bruno@clisp.org>
41124
41125         * lib/trim.c (trim2): Fix argument of isspace() macro.
41126
41127 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
41128
41129         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
41130         to 0.
41131         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
41132
41133 2008-04-14  Bruno Haible  <bruno@clisp.org>
41134
41135         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
41136         AC_LANG_PROGRAM argument.
41137         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
41138         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
41139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41140         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41141         * m4/math_h.m4 (gl_MATH_H): Likewise.
41142         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
41143         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41144         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41145         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
41146         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41147         * m4/regex.m4 (gl_REGEX): Likewise.
41148         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
41149         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
41150         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41151         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
41152         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41153         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41154         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41155         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41156
41157 2008-04-14  Jim Meyering  <meyering@redhat.com>
41158
41159         test-strtod: fix typos: s/abs/fabs/
41160         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
41161
41162 2008-04-13  Bruno Haible  <bruno@clisp.org>
41163
41164         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
41165         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
41166         module is also used and while not building the reloc-wrapper.
41167
41168 2008-04-13  Bruno Haible  <bruno@clisp.org>
41169
41170         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
41171
41172 2008-04-13  Bruno Haible  <bruno@clisp.org>
41173
41174         Fix AIX compilation failure introduced on 2008-04-02.
41175         * tests/test-frexp.c (exp): Undefine before redefining.
41176         * tests/test-frexpl.c (exp): Likewise.
41177
41178 2008-04-13  Bruno Haible  <bruno@clisp.org>
41179
41180         Work around a HP-UX stdio bug.
41181         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
41182         * tests/test-ftello.c (main): Likewise.
41183         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
41184         * doc/posix-functions/ftello.texi: Likewise.
41185
41186 2008-04-13  Bruno Haible  <bruno@clisp.org>
41187
41188         Make test-signbit pass on HP-UX/hppa.
41189         * tests/test-signbit.c (minus_zerol): New variable.
41190         (test_signbitl): Use it.
41191
41192 2008-04-13  Bruno Haible  <bruno@clisp.org>
41193
41194         Make truncl work on OSF/1 4.0.
41195         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
41196         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41197         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
41199         HAVE_DECL_TRUNCL.
41200         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
41201         HAVE_DECL_TRUNCL.
41202         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
41203
41204 2008-04-13  Bruno Haible  <bruno@clisp.org>
41205
41206         * lib/unictype.h: Remove trailing comma from enumeration definitions.
41207
41208 2008-04-13  Bruno Haible  <bruno@clisp.org>
41209
41210         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
41211         expression, so as to avoid HP-UX 11 cc compiler bug.
41212
41213 2008-04-13  Bruno Haible  <bruno@clisp.org>
41214
41215         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
41216
41217 2008-04-13  Bruno Haible  <bruno@clisp.org>
41218
41219         * lib/git-merge-changelog.c: Remove empty declaration outside of
41220         functions.
41221
41222 2008-04-13  Bruno Haible  <bruno@clisp.org>
41223
41224         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
41225
41226 2008-04-13  Bruno Haible  <bruno@clisp.org>
41227
41228         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
41229         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
41230         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
41231         also if it exists but lacks definitions of the SHUT_* macros.
41232         * modules/sys_socket (Description): Update.
41233         Reported by Elbert Pol <e.pol@chello.nl>.
41234
41235 2008-04-13  Bruno Haible  <bruno@clisp.org>
41236
41237         * lib/localcharset.c (OS2): Don't redefine if already defined.
41238         Reported by Elbert Pol <e.pol@chello.nl>.
41239
41240 2008-04-13  Bruno Haible  <bruno@clisp.org>
41241
41242         * lib/binary-io.h [__EMX__]: Include <io.h>.
41243         Reported by Elbert Pol <e.pol@chello.nl>.
41244
41245 2008-04-12  Bruno Haible  <bruno@clisp.org>
41246
41247         * lib/fpucw.h: Enable the definitions also for x86_64.
41248         Needed for NetBSD/x86_64.
41249         Reported by Thomas Klausner <tk@giga.or.at>.
41250
41251 2008-04-12  Bruno Haible  <bruno@clisp.org>
41252
41253         * tests/test-strtod.c: Include isnand.h.
41254         (main): Use isnand instead of isnan.
41255         Reported by Jim Meyering.
41256
41257 2008-04-12  Bruno Haible  <bruno@clisp.org>
41258
41259         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
41260         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
41261
41262 2008-04-12  Jim Meyering  <meyering@redhat.com>
41263
41264         * m4/math_h.m4 (gl_MATH_H): Fix typos.
41265
41266 2008-04-12  Bruno Haible  <bruno@clisp.org>
41267
41268         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
41269         Reported by Elbert Pol <e.pol@chello.nl>.
41270
41271 2008-04-12  Eric Blake  <ebb9@byu.net>
41272
41273         Work around Solaris 10 math.h bug.
41274         * m4/math_h.m4 (gl_MATH_H): Check for bug.
41275         (gl_MATH_H_DEFAULTS): Set up default.
41276         * modules/math (Makefile.am): Replace new indicators.
41277         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
41278         * tests/test-math.c (main): Test this.
41279         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
41280         * doc/posix-headers/math.texi (math.h): Mention bug.
41281         Reported by Nelson H. F. Beebe and Jim Meyering.
41282
41283 2008-04-11  Bruno Haible  <bruno@clisp.org>
41284
41285         Adapt to future versions of Apple GCC.
41286         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
41287         Reported by Peter O'Gorman <peter@pogma.com>.
41288
41289 2008-04-11  Bruno Haible  <bruno@clisp.org>
41290
41291         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
41292
41293 2008-04-11  Bruno Haible  <bruno@clisp.org>
41294
41295         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
41296
41297         * modules/getaddrinfo-tests (Makefile.am): Define
41298         test_getaddrinfo_LDADD.
41299
41300 2008-04-11  Bruno Haible  <bruno@clisp.org>
41301
41302         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
41303         (init): Fix syntax error.
41304         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
41305         is declared.
41306
41307 2008-04-11  Bruno Haible  <bruno@clisp.org>
41308
41309         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
41310         * modules/glob (Depends-on): Add stdbool.
41311
41312 2008-04-11  Bruno Haible  <bruno@clisp.org>
41313
41314         * lib/trim.c: Include <string.h>.
41315
41316 2008-04-11  Eric Blake  <ebb9@byu.net>
41317
41318         Avoid compile failure on OS/2.
41319         * lib/regex_internal.h (internal_function): Disable optimization
41320         on OS/2 (__EMX__), where it caused compiler error.
41321         Reported by Elbert Pol.
41322
41323 2008-04-11  Bruno Haible  <bruno@clisp.org>
41324
41325         Flush the standard error stream before aborting. Needed on mingw.
41326         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
41327         * tests/test-array_list.c (ASSERT): Likewise.
41328         * tests/test-array_oset.c (ASSERT): Likewise.
41329         * tests/test-avltree_list.c (ASSERT): Likewise.
41330         * tests/test-avltree_oset.c (ASSERT): Likewise.
41331         * tests/test-avltreehash_list.c (ASSERT): Likewise.
41332         * tests/test-binary-io.c (ASSERT): Likewise.
41333         * tests/test-byteswap.c (ASSERT): Likewise.
41334         * tests/test-c-ctype.c (ASSERT): Likewise.
41335         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
41336         * tests/test-c-strcasestr.c (ASSERT): Likewise.
41337         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
41338         * tests/test-c-strstr.c (ASSERT): Likewise.
41339         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
41340         * tests/test-canonicalize.c (ASSERT): Likewise.
41341         * tests/test-carray_list.c (ASSERT): Likewise.
41342         * tests/test-ceilf1.c (ASSERT): Likewise.
41343         * tests/test-ceilf2.c (ASSERT): Likewise.
41344         * tests/test-ceill.c (ASSERT): Likewise.
41345         * tests/test-count-one-bits.c (ASSERT): Likewise.
41346         * tests/test-fbufmode.c (ASSERT): Likewise.
41347         * tests/test-fflush2.c (ASSERT): Likewise.
41348         * tests/test-floorf1.c (ASSERT): Likewise.
41349         * tests/test-floorf2.c (ASSERT): Likewise.
41350         * tests/test-floorl.c (ASSERT): Likewise.
41351         * tests/test-fopen.c (ASSERT): Likewise.
41352         * tests/test-fpending.c (ASSERT): Likewise.
41353         * tests/test-fprintf-posix.c (ASSERT): Likewise.
41354         * tests/test-fpurge.c (ASSERT): Likewise.
41355         * tests/test-freadable.c (ASSERT): Likewise.
41356         * tests/test-freadahead.c (ASSERT): Likewise.
41357         * tests/test-freading.c (ASSERT): Likewise.
41358         * tests/test-freadptr.c (ASSERT): Likewise.
41359         * tests/test-freadptr2.c (ASSERT): Likewise.
41360         * tests/test-freadseek.c (ASSERT): Likewise.
41361         * tests/test-freopen.c (ASSERT): Likewise.
41362         * tests/test-frexp.c (ASSERT): Likewise.
41363         * tests/test-frexpl.c (ASSERT): Likewise.
41364         * tests/test-fseek.c (ASSERT): Likewise.
41365         * tests/test-fseeko.c (ASSERT): Likewise.
41366         * tests/test-fstrcmp.c (ASSERT): Likewise.
41367         * tests/test-ftell.c (ASSERT): Likewise.
41368         * tests/test-ftello.c (ASSERT): Likewise.
41369         * tests/test-func.c (ASSERT): Likewise.
41370         * tests/test-fwritable.c (ASSERT): Likewise.
41371         * tests/test-fwriting.c (ASSERT): Likewise.
41372         * tests/test-getdelim.c (ASSERT): Likewise.
41373         * tests/test-getline.c (ASSERT): Likewise.
41374         * tests/test-i-ring.c (ASSERT): Likewise.
41375         * tests/test-iconv-utf.c (ASSERT): Likewise.
41376         * tests/test-iconv.c (ASSERT): Likewise.
41377         * tests/test-isfinite.c (ASSERT): Likewise.
41378         * tests/test-isnand.c (ASSERT): Likewise.
41379         * tests/test-isnanf.c (ASSERT): Likewise.
41380         * tests/test-isnanl.h (ASSERT): Likewise.
41381         * tests/test-ldexpl.c (ASSERT): Likewise.
41382         * tests/test-linked_list.c (ASSERT): Likewise.
41383         * tests/test-linkedhash_list.c (ASSERT): Likewise.
41384         * tests/test-localename.c (ASSERT): Likewise.
41385         * tests/test-lseek.c (ASSERT): Likewise.
41386         * tests/test-mbscasecmp.c (ASSERT): Likewise.
41387         * tests/test-mbscasestr1.c (ASSERT): Likewise.
41388         * tests/test-mbscasestr2.c (ASSERT): Likewise.
41389         * tests/test-mbscasestr3.c (ASSERT): Likewise.
41390         * tests/test-mbscasestr4.c (ASSERT): Likewise.
41391         * tests/test-mbschr.c (ASSERT): Likewise.
41392         * tests/test-mbscspn.c (ASSERT): Likewise.
41393         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
41394         * tests/test-mbspbrk.c (ASSERT): Likewise.
41395         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
41396         * tests/test-mbsrchr.c (ASSERT): Likewise.
41397         * tests/test-mbsspn.c (ASSERT): Likewise.
41398         * tests/test-mbsstr1.c (ASSERT): Likewise.
41399         * tests/test-mbsstr2.c (ASSERT): Likewise.
41400         * tests/test-mbsstr3.c (ASSERT): Likewise.
41401         * tests/test-memchr2.c (ASSERT): Likewise.
41402         * tests/test-memmem.c (ASSERT): Likewise.
41403         * tests/test-open.c (ASSERT): Likewise.
41404         * tests/test-printf-frexp.c (ASSERT): Likewise.
41405         * tests/test-printf-frexpl.c (ASSERT): Likewise.
41406         * tests/test-printf-posix.c (ASSERT): Likewise.
41407         * tests/test-quotearg.c (ASSERT): Likewise.
41408         * tests/test-rbtree_list.c (ASSERT): Likewise.
41409         * tests/test-rbtree_oset.c (ASSERT): Likewise.
41410         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
41411         * tests/test-round1.c (ASSERT): Likewise.
41412         * tests/test-roundf1.c (ASSERT): Likewise.
41413         * tests/test-roundl.c (ASSERT): Likewise.
41414         * tests/test-signbit.c (ASSERT): Likewise.
41415         * tests/test-sleep.c (ASSERT): Likewise.
41416         * tests/test-snprintf-posix.c (ASSERT): Likewise.
41417         * tests/test-snprintf.c (ASSERT): Likewise.
41418         * tests/test-sprintf-posix.c (ASSERT): Likewise.
41419         * tests/test-stat-time.c (ASSERT): Likewise.
41420         * tests/test-strcasestr.c (ASSERT): Likewise.
41421         * tests/test-strerror.c (ASSERT): Likewise.
41422         * tests/test-striconv.c (ASSERT): Likewise.
41423         * tests/test-striconveh.c (ASSERT): Likewise.
41424         * tests/test-striconveha.c (ASSERT): Likewise.
41425         * tests/test-strsignal.c (ASSERT): Likewise.
41426         * tests/test-strstr.c (ASSERT): Likewise.
41427         * tests/test-strtod.c (ASSERT): Likewise.
41428         * tests/test-trunc1.c (ASSERT): Likewise.
41429         * tests/test-trunc2.c (ASSERT): Likewise.
41430         * tests/test-truncf1.c (ASSERT): Likewise.
41431         * tests/test-truncf2.c (ASSERT): Likewise.
41432         * tests/test-truncl.c (ASSERT): Likewise.
41433         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
41434         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
41435         * tests/test-vasnprintf.c (ASSERT): Likewise.
41436         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
41437         * tests/test-vasprintf.c (ASSERT): Likewise.
41438         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
41439         * tests/test-vprintf-posix.c (ASSERT): Likewise.
41440         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
41441         * tests/test-vsnprintf.c (ASSERT): Likewise.
41442         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
41443         * tests/test-wcwidth.c (ASSERT): Likewise.
41444         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
41445         * tests/test-xprintf-posix.c (ASSERT): Likewise.
41446         * tests/test-xvasprintf.c (ASSERT): Likewise.
41447         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
41448         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
41449         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
41450         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
41451         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
41452         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
41453         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
41454         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
41455         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
41456         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
41457         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
41458         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
41459         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
41460         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
41461         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
41462         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
41463         * tests/unictype/test-block_list.c (ASSERT): Likewise.
41464         * tests/unictype/test-block_of.c (ASSERT): Likewise.
41465         * tests/unictype/test-block_test.c (ASSERT): Likewise.
41466         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
41467         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
41468         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
41469         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
41470         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
41471         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
41472         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
41473         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
41474         * tests/unictype/test-combining.c (ASSERT): Likewise.
41475         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
41476         * tests/unictype/test-digit.c (ASSERT): Likewise.
41477         * tests/unictype/test-mirror.c (ASSERT): Likewise.
41478         * tests/unictype/test-numeric.c (ASSERT): Likewise.
41479         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
41480         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
41481         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
41482         * tests/unictype/test-scripts.c (ASSERT): Likewise.
41483         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
41484         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
41485         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
41486         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
41487         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
41488         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
41489         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
41490         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
41491         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
41492         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
41493         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
41494         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
41495         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
41496         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
41497         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
41498         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
41499         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
41500         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
41501         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
41502         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
41503         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
41504         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
41505         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
41506         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
41507         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
41508         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
41509         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
41510         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
41511         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
41512         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
41513         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
41514         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
41515         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
41516         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
41517         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
41518         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
41519         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
41520         Reported by Eric Blake.
41521
41522 2008-04-11  Bruno Haible  <bruno@clisp.org>
41523
41524         * lib/wchar.in.h: Tweak comment.
41525
41526 2008-04-11  Bruno Haible  <bruno@clisp.org>
41527
41528         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
41529         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
41530         gl_COMMON.
41531         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
41532
41533 2008-04-11  Bruno Haible  <bruno@clisp.org>
41534
41535         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
41536
41537 2008-04-11  Simon Josefsson  <simon@josefsson.org>
41538
41539         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
41540         of attempting to use non-existing /dev/*random.  Based on patch
41541         from Adam Strzelecki <ono@java.pl> in
41542         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
41543
41544 2008-04-08  Bruno Haible  <bruno@clisp.org>
41545
41546         Add tentative support for emx+gcc.
41547         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
41548         * lib/fpurge.c (fpurge): Likewise.
41549         * lib/freadable.c (freadable): Likewise.
41550         * lib/freadahead.c (freadahead): Likewise.
41551         * lib/freading.c (freading): Likewise.
41552         * lib/freadptr.c (freadptr): Likewise.
41553         * lib/freadseek.c (freadptrinc): Likewise.
41554         * lib/fseeko.c (rpl_fseeko): Likewise.
41555         * lib/fseterr.c (fseterr): Likewise.
41556         * lib/fwritable.c (fwritable): Likewise.
41557         * lib/fwriting.c (fwriting): Likewise.
41558         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
41559
41560 2008-04-09  Eric Blake  <ebb9@byu.net>
41561
41562         Avoid some autoconf warnings.
41563         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
41564         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
41565         * m4/afs.m4 (gl_AFS): Likewise.
41566         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
41567         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
41568         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41569         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
41570         (gl_INTEGER_TYPE_SUFFIX): Likewise.
41571         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
41572         (AC_CHECK_DECLS_ONCE): Likewise.
41573         Rename file...
41574         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
41575         gnulib-tool requires autoconf 2.59 or better.
41576         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
41577
41578 2008-04-08  Eric Blake  <ebb9@byu.net>
41579
41580         Use 'git describe --match' if present (added in git 1.5.5).
41581         * build-aux/git-version-gen: Limit result to tags that match 'v*'
41582         if possible.
41583
41584 2008-04-08  Bruno Haible  <bruno@clisp.org>
41585
41586         Add tentative support for OpenServer.
41587         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
41588         _ptr, _cnt.
41589         * lib/fpurge.c (fpurge): Likewise.
41590         * lib/freadable.c (freadable): Likewise.
41591         * lib/freadahead.c (freadahead): Likewise.
41592         * lib/freading.c (freading): Likewise.
41593         * lib/freadptr.c (freadptr): Likewise.
41594         * lib/freadseek.c (freadptrinc): Likewise.
41595         * lib/fseeko.c (rpl_fseeko): Likewise.
41596         * lib/fseterr.c (fseterr): Likewise.
41597         * lib/fwritable.c (fwritable): Likewise.
41598         * lib/fwriting.c (fwriting): Likewise.
41599         Reported by Roger Cornelius <rac@tenzing.org> and
41600         Brian K. White <brian@aljex.com>.
41601
41602 2008-04-06  Jim Meyering  <meyering@redhat.com>
41603
41604         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41605
41606 2008-04-06  Bruno Haible  <bruno@clisp.org>
41607
41608         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41609         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41610         * tests/test-printf-posix.sh: Likewise.
41611         * tests/test-vfprintf-posix.sh: Likewise.
41612         * tests/test-vprintf-posix.sh: Likewise.
41613         * tests/test-xprintf-posix.sh: Likewise.
41614
41615 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41616
41617         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41618         hide error from 'ls', needed on OS/2.
41619         Report by Elbert Pol <elbert.pol@gmail.com>.
41620
41621 2008-04-04  Eric Blake  <ebb9@byu.net>
41622
41623         Make test-fseeko.c failures meaningful.
41624         * tests/test-fseeko.c: Print line number on failure.
41625         * tests/test-fseek.c: Likewise.
41626         Reported by Nelson H. F. Beebe.
41627
41628         Improve strtod bug detection check.
41629         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
41630         required for Solaris 10.
41631         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
41632
41633 2008-04-04  Bruno Haible  <bruno@clisp.org>
41634
41635         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
41636         by m4/setenv.m4.
41637
41638 2008-04-03  Eric Blake  <ebb9@byu.net>
41639
41640         Ensure sane .version contents.
41641         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
41642         version string.
41643         * build-aux/git-version-gen: Improve documentation.
41644
41645         Make GNU make output nicer.
41646         * top/GNUmakefile [!_have-Makefile]: Add dependency on
41647         MAKECMDGOALS to enforce message for all command line targets.  Set
41648         srcdir for use in maint.mk.
41649
41650         Another maintainer tweak.
41651         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
41652         a target that regenerates version.
41653
41654 2008-04-03  Jim Meyering  <meyering@redhat.com>
41655
41656         vc-list-files: don't cause coreutils "make po-check" failure
41657         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
41658
41659 2008-04-03  Eric Blake  <ebb9@byu.net>
41660
41661         Allow VPATH usage of vc-list-files.
41662         * build-aux/vc-list-files (scriptversion): Add timestamp.
41663         (options): Add --help, --version, -C.
41664         (CVS): Support installed cvsu.
41665
41666 2008-04-02  Bruno Haible  <bruno@clisp.org>
41667
41668         Avoid some "statement with no effect" warnings from gcc.
41669         * tests/test-wctype.c (main): Explicitly ignore unused values.
41670         Reported by Jim Meyering.
41671
41672 2008-04-02  Jim Meyering  <meyering@redhat.com>
41673
41674         Avoid some warnings from "gcc -Wshadow".
41675         * tests/test-frexp.c (exp): Define to a different identifier.
41676         * tests/test-frexpl.c (exp): Likewise.
41677
41678 2008-04-03  Jim Meyering  <meyering@redhat.com>
41679
41680         bootstrap: remove dangling *.[ch] symlinks from lib
41681         * build-aux/bootstrap [dangling symlink removal]: Move find's
41682         -depth option to precede all others, to avoid a warning.
41683         Remove *.[ch] files too, and from "$source_base" (usually lib/).
41684
41685 2008-04-02  Bruno Haible  <bruno@clisp.org>
41686
41687         Avoid some warnings from "gcc -Wshadow".
41688         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
41689         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
41690         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
41691         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
41692         Reported by Jim Meyering.
41693
41694 2008-04-01  Bruno Haible  <bruno@clisp.org>
41695
41696         Fix test to work on IRIX 6.5 with cc.
41697         * tests/test-math.c (numeric_equal): New function.
41698         (main): Use it.
41699
41700 2008-04-01  Bruno Haible  <bruno@clisp.org>
41701
41702         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
41703
41704 2008-04-01  Bruno Haible  <bruno@clisp.org>
41705
41706         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
41707         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41708         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
41709         (Depends-on): Remove math.
41710
41711         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
41712         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41713         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
41714         (Depends-on): Remove math.
41715
41716         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
41717         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41718         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
41719         (Depends-on): Remove math.
41720         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
41721         (Depends-on): Remove math.
41722
41723         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
41724         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41725         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
41726         (Depends-on): Remove math.
41727         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
41728         (Depends-on): Remove math.
41729
41730         * tests/test-round1.c: Include nan.h.
41731         (main): Use NaNd instead of NAN.
41732         * modules/round-tests (Files): Add tests/nan.h.
41733
41734         * tests/test-trunc1.c: Include nan.h.
41735         (main): Use NaNd instead of NAN.
41736         * modules/trunc-tests (Files): Add tests/nan.h.
41737
41738         * tests/test-roundf1.c: Include nan.h.
41739         (main): Use NaNf instead of NAN.
41740         * modules/roundf-tests (Files): Add tests/nan.h.
41741
41742         * tests/test-truncf1.c: Include nan.h.
41743         (main): Use NaNf instead of NAN.
41744         * modules/truncf-tests (Files): Add tests/nan.h.
41745
41746         * tests/test-ceilf1.c: Include nan.h.
41747         (main): Use NaNf instead of NAN.
41748         * modules/ceilf-tests (Files): Add tests/nan.h.
41749
41750         * tests/test-floorf1.c: Include nan.h.
41751         (main): Use NaNf instead of NAN.
41752         * modules/floorf-tests (Files): Add tests/nan.h.
41753
41754         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
41755         (main): Use NaNf instead of NAN.
41756         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
41757
41758         * tests/test-isnand.c: Include nan.h instead of <math.h>.
41759         (main): Use NaNd instead of NAN.
41760         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
41761
41762         * tests/test-frexp.c: Include nan.h.
41763         (main): Use NaNd instead of NAN.
41764         * modules/frexp-tests (Files): Add tests/nan.h.
41765
41766         * lib/isnan.c: Don't include <math.h>.
41767         (FUNC): Don't use NAN macro.
41768         * modules/isnand-nolibm (Depends-on): Remove math.
41769         * modules/isnanf-nolibm (Depends-on): Remove math.
41770         * modules/isnanl (Depends-on): Remove math.
41771         * modules/isnanl-nolibm (Depends-on): Remove math.
41772
41773         * tests/nan.h: New file.
41774
41775 2008-04-01  Eric Blake  <ebb9@byu.net>
41776
41777         Fix typos.
41778         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
41779         values to be the right type.
41780
41781         For now, cater to gnulib strtod inaccuracies.
41782         * tests/test-strtod.c (main): Allow 1-ulp error on expected
41783         fractional results.  While not as nice from a QoI perspective, it
41784         is a quicker patch than correctly implementing decimal to binary
41785         rounding.
41786
41787 2008-03-31  Eric Blake  <ebb9@byu.net>
41788
41789         Guarantee a definition of NAN.
41790         * lib/math.in.h (NAN): Define if missing.
41791         * tests/test-math.c (main): Test it.
41792         * doc/posix-headers/math.texi (math.h): Document this.
41793         * lib/isnan.c (rpl_isnand): Use it.
41794         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
41795         * tests/test-floorf1.c (NaN): Likewise.
41796         * tests/test-frexp.c (NaN): Likewise.
41797         * tests/test-isnand.c (NaN): Likewise.
41798         * tests/test-isnanf.c (NaN): Likewise.
41799         * tests/test-round1.c (NaN): Likewise.
41800         * tests/test-roundf1.c (NaN): Likewise.
41801         * tests/test-snprintf-posix.h (NaN): Likewise.
41802         * tests/test-sprintf-posix.h (NaN): Likewise.
41803         * tests/test-trunc1.c (NaN): Likewise.
41804         * tests/test-truncf1.c (NaN): Likewise.
41805         * tests/test-vasnprintf-posix.c (NaN): Likewise.
41806         * tests/test-vasprintf-posix.c (NaN): Likewise.
41807         * modules/isnand-nolibm (Depends-on): Add math.
41808         * modules/isnanf-nolibm (Depends-on): Likewise.
41809         * modules/isnanl (Depends-on): Likewise.
41810         * modules/isnanl-nolibm (Depends-on): Likewise.
41811         * modules/snprintf-posix-tests (Depends-on): Likewise.
41812         * modules/sprintf-posix-tests (Depends-on): Likewise.
41813         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
41814         * modules/vsprintf-posix-tests (Depends-on): Likewise.
41815         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
41816         * modules/vasprintf-posix-tests (Depends-on): Likewise.
41817
41818 2008-03-31  Bruno Haible  <bruno@clisp.org>
41819
41820         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
41821         * doc/posix-functions/strtod.texi: Likewise.
41822
41823 2008-03-31  Bruno Haible  <bruno@clisp.org>
41824
41825         * tests/test-strtod.c (main): Don't use C99 syntax.
41826
41827 2008-03-31  Bruno Haible  <bruno@clisp.org>
41828
41829         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
41830         Reported by Eric Blake.
41831
41832 2008-03-31  Jim Meyering  <meyering@redhat.com>
41833
41834         Don't compare actual signbit return values.
41835         * tests/test-strtod.c (main): Rather, compare only their
41836         zero/non-zero nature.
41837
41838 2008-03-31  Eric Blake  <ebb9@byu.net>
41839
41840         More strtod documentation.
41841         * doc/posix-functions/strtod.texi (strtod): Interpret more test
41842         failures as distinct bugs.
41843
41844 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41845
41846         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
41847         Problem reported by Erik Benada in
41848         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
41849
41850 2008-03-30  Bruno Haible  <bruno@clisp.org>
41851
41852         * tests/test-strtod.c: Add comments about which assertion fails on which
41853         platform.
41854         * doc/posix-functions/strtod.texi: Add info about many more platforms.
41855
41856 2008-03-30  Eric Blake  <ebb9@byu.net>
41857
41858         Test signbit behavior on zeros.
41859         * tests/test-signbit.c (test_signbitf): Add tests for zero.
41860         (test_signbitd, test_signbitl): Likewise.
41861
41862         More strtod touchups.
41863         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
41864         sign of negative underflow, for now.  Use .5, not .1.
41865         * doc/posix-functions/strtod.texi (strtod): Mention these
41866         limitations.
41867         Reported by Jim Meyering.
41868
41869 2008-03-30  Bruno Haible  <bruno@clisp.org>
41870
41871         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
41872         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
41873
41874 2008-03-30  Bruno Haible  <bruno@clisp.org>
41875
41876         Avoid failure when attempting to return empty iconv results on some
41877         platforms.
41878         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
41879         allocation, don't report ENOMEM when the resulting string is empty.
41880
41881 2008-03-30  Bruno Haible  <bruno@clisp.org>
41882
41883         Fix buffer overrun.
41884         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
41885         Don't consider the width for tmp_length. Check count against tmp_length
41886         before doing the padding. Ensure enough allocation during padding.
41887
41888 2008-03-30  Eric Blake  <ebb9@byu.net>
41889
41890         strtod touchups.
41891         * lib/strtod.c (strtod): Avoid compiler warnings.
41892         Reported by Jim Meyering.
41893
41894 2008-03-30  Bruno Haible  <bruno@clisp.org>
41895
41896         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
41897         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
41898         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
41899         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
41900         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
41901         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
41902         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
41903         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
41904
41905         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
41906         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
41907         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
41908         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
41909         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
41910         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
41911         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
41912         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
41913
41914         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
41915         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
41916         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
41917         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
41918         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
41919         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
41920         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
41921         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
41922
41923         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
41924         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
41925
41926         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
41927         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
41928
41929         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
41930         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
41931
41932         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
41933         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
41934         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
41935
41936         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
41937         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
41938         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
41939
41940         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
41941         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
41942         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
41943
41944         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
41945         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
41946         * modules/vasprintf (Depends-on): Add EOVERFLOW.
41947
41948         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
41949         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
41950         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
41951         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
41952         (Depends-on): Add EOVERFLOW.
41953         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
41954         (Depends-on): Add EOVERFLOW.
41955         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41956         (Depends-on): Add EOVERFLOW.
41957         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41958         (Depends-on): Add EOVERFLOW.
41959         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41960         (Depends-on): Add EOVERFLOW.
41961         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41962         (Depends-on): Add EOVERFLOW.
41963         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41964         (Depends-on): Add EOVERFLOW.
41965         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41966         (Depends-on): Add EOVERFLOW.
41967
41968         * lib/sprintf.c (EOVERFLOW): Remove fallback.
41969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
41970         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
41971
41972         * lib/snprintf.c (EOVERFLOW): Remove fallback.
41973         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
41974         * modules/snprintf (Depends-on): Add EOVERFLOW.
41975
41976         * lib/poll.c (EOVERFLOW): Remove fallback.
41977         * modules/poll (Depends-on): Add EOVERFLOW.
41978
41979         * lib/getugroups.c (EOVERFLOW): Remove fallback.
41980         * modules/getugroups (Depends-on): Add EOVERFLOW.
41981
41982         * lib/getdelim.c (EOVERFLOW): Remove fallback.
41983         * modules/getdelim (Depends-on): Add EOVERFLOW.
41984
41985         * lib/ftell.c (EOVERFLOW): Remove fallback.
41986         * modules/ftell (Depends-on): Add EOVERFLOW.
41987
41988         * lib/fprintf.c (EOVERFLOW): Remove fallback.
41989         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
41990         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
41991
41992         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
41993
41994         * modules/EOVERFLOW-tests: New file.
41995         * tests/test-EOVERFLOW.c: New file.
41996
41997         * modules/EOVERFLOW: New file.
41998         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
41999
42000 2008-03-30  Bruno Haible  <bruno@clisp.org>
42001
42002         Fix bug introduced on 2007-06-10.
42003         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
42004         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
42005
42006 2008-03-30  Bruno Haible  <bruno@clisp.org>
42007
42008         Improve freadseek's efficiency after ungetc.
42009         * lib/freadseek.c: Include freadahead.h.
42010         (freadptrinc): New function, extracted from freadseek.
42011         (freadseek): Use it in a loop. Use freadahead to determine the number
42012         of loop iterations.
42013         * modules/freadseek (Depends-on): Add freadahead.
42014         (configure.ac): Require AC_C_INLINE.
42015
42016 2008-03-30  Bruno Haible  <bruno@clisp.org>
42017
42018         * lib/freadseek.c (freadseek): Don't ignore the return value of
42019         freadptr.
42020
42021 2008-03-29  Eric Blake  <ebb9@byu.net>
42022
42023         Add hex float support.
42024         * modules/strtod (Depends-on): Add c-ctype.
42025         (Link): Mention POW_LIB.
42026         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
42027         whitespace between 'e' and exponent.
42028         * tests/test-strtod.c (main): Enable hex float tests.
42029         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
42030         now provides.
42031
42032         Document various strtod bugs, with some fixes.
42033         * doc/posix-functions/strtod.texi (strtod): Document bugs with
42034         "-0x", "inf", "nan", and hex constants.
42035         * doc/posix-functions/atof.texi (atof): Likewise.
42036         * modules/stdlib (Makefile.am): Support strtod.
42037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42038         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
42039         detect additional strtod bugs.
42040         * lib/stdlib.in.h (rpl_strtod): Add declarations.
42041         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
42042         bool where appropriate.  Parse 'inf' and 'nan'.
42043         * tests/test-strtod.c: New file.
42044         * modules/strtod (Depends-on): Add stdbool, stdlib.
42045         (configure.ac): Turn on module indicator.
42046         * modules/strtod-tests: New module.
42047
42048 2008-03-29  Eric Blake  <ebb9@byu.net>
42049
42050         Fix ftell on mingw.
42051         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
42052         * modules/ftell-tests (Depends-on): Add binary-io.
42053         * modules/ftello-tests (Depends-on): Likewise.
42054         * tests/test-ftell.c (main): Enhance test to cover behavior after
42055         ungetc.  Enforce binary mode.
42056         * tests/test-ftello.c (main): Likewise.
42057
42058         Pass test-freadseek on cygwin.
42059         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
42060         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
42061         ungetc buffer.
42062
42063         * tests/test-fflush2.c (main): Fix typo.
42064
42065 2008-03-29  Bruno Haible  <bruno@clisp.org>
42066
42067         * tests/test-fflush2.c (main): Temporarily disable the contents of
42068         this test.
42069         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
42070         Reported by Eric Blake.
42071
42072 2008-03-28  Simon Josefsson  <simon@josefsson.org>
42073
42074         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
42075         (GC_SHA224_DIGEST_SIZE): Add.
42076
42077         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
42078         (gc_hash_digest_length): Likewise.
42079         (gc_hash_buffer): Likewise.
42080
42081 2008-03-25  Bruno Haible  <bruno@clisp.org>
42082
42083         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
42084         detail which gettext release to use.
42085         Reported by Simon Josefsson.
42086
42087 2008-03-26  Jim Meyering  <meyering@redhat.com>
42088
42089         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
42090         * modules/gnumakefile (clean-GNUmakefile): Also, use
42091         test ... && ... || : syntax rather than if-then ... fi.
42092
42093         gnumakefile: Don't double-quote-expand $(VPATH) value.
42094         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
42095
42096 2008-03-24  Eric Blake  <ebb9@byu.net>
42097
42098         Alter GNUmakefile to install into top directory.
42099         * modules/maintainer-makefile: Split, and add dependency...
42100         * modules/gnumakefile: to this new module.
42101         * build-aux/GNUmakefile: Move...
42102         * top/GNUmakefile: ...here.
42103         * build-aux/maint.mk: Move...
42104         * top/maint.mk: ...here.
42105         * MODULES.html.sh (Support for maintaining...): Document new
42106         module.
42107
42108 2008-03-23  Bruno Haible  <bruno@clisp.org>
42109
42110         * gnulib-tool: New options --vc-files, --no-vc-files.
42111         (func_usage): Document them.
42112         (vc_files): New variable.
42113         (func_import): Consider vc_files.
42114         (func_create_testdir): Set vc_files to empty.
42115         Suggested by Jim Meyering and Karl Berry.
42116
42117 2008-03-23  Bruno Haible  <bruno@clisp.org>
42118
42119         Fix regex compilation error on HP-UX 11.
42120         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
42121         * modules/regex (Files): Add m4/mbstate_t.m4.
42122         Reported by Ton Voon <ton.voon@altinity.com>.
42123
42124 2008-03-23  Bruno Haible  <bruno@clisp.org>
42125
42126         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
42127
42128 2008-03-23  Eric Blake  <ebb9@byu.net>
42129             Bruno Haible  <bruno@clisp.org>
42130
42131         Install files from top/ in the destination directory.
42132         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42133         augmentation also for the files from top/.
42134         (func_import, func_create_testdir): Rewrite file names:
42135         top/filename -> filename.
42136
42137 2008-03-23  Bruno Haible  <bruno@clisp.org>
42138
42139         Tweak "gnulib --version" output.
42140         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
42141
42142 2008-03-23  Bruno Haible  <bruno@clisp.org>
42143
42144         Tweak "gnulib --version" output.
42145         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
42146         rather than contents of ChangeLog, when possible.
42147
42148 2008-03-21  Eric Blake  <ebb9@byu.net>
42149
42150         More --version tweaks.
42151         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
42152         date of last ChangeLog entry.
42153
42154 2008-03-21  Jim Meyering  <meyering@redhat.com>
42155
42156         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
42157
42158 2008-03-20  Eric Blake  <ebb9@byu.net>
42159
42160         VPATH fix.
42161         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
42162
42163 2008-03-20  Simon Josefsson  <simon@josefsson.org>
42164
42165         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
42166         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
42167
42168 2008-03-20  Eric Blake  <ebb9@byu.net>
42169
42170         Sync GNUmakefile with coreutils.
42171         * build-aux/GNUmakefile (have-Makefile): Rename...
42172         (_have-Makefile): ...to this, for namespace consideration.
42173         (GNUmakefile.cfg): Include, if present.
42174         (_autoreconf): Define a default.
42175         (_is-dist-target): New rule for rebuilds to pick up intra-release
42176         version.
42177         (maint-cfg.mk): Rename...
42178         (cfg.mk): ...to this.
42179
42180 2008-03-18  Jim Meyering  <meyering@redhat.com>
42181
42182         New script and module: mktempd
42183         * MODULES.html.sh (maint+release support): Add mktempd.
42184         * build-aux/mktempd: New file.
42185         * modules/mktempd: New file.
42186
42187 2008-03-15  Jim Meyering  <meyering@redhat.com>
42188
42189         Undo last change.
42190         * lib/sha1.c, lib/md5.c: 63 != ~63.
42191         Reported by Andreas Schwab.
42192
42193         sha1.c, md5.c: Hoist a redundant expression.
42194         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
42195         "ctx->buflen" only once, before calling *_process_block.
42196         * lib/md5.c (md5_process_bytes): Likewise.
42197
42198 2008-03-14  Eric Blake  <ebb9@byu.net>
42199
42200         Bump copyright year in files generated by gnulib-tool.
42201         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
42202         gnulib-tool, rather than hard-coding it.
42203
42204         Fix 'gnulib-tool --version' output to work with git.
42205         * gnulib-tool (func_gnulib_dir): New function, extracted from...
42206         (startup): ...here.
42207         (func_version): Use it to invoke git-version-gen, rather than
42208         relying on CVS keyword expansion.  Modernize wording.
42209         (cvsdatestamp, last_checkin_date, version): Kill unused
42210         variables.
42211
42212 2008-03-12  Jim Meyering  <meyering@redhat.com>
42213
42214         Recognize optional cast of the argument to free.
42215         * build-aux/useless-if-before-free: Update regexps.
42216
42217         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
42218
42219 2008-03-11  Bruno Haible  <bruno@clisp.org>
42220
42221         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
42222         by a single package.
42223         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
42224         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
42225         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
42226         Reported by Sam Steingold <sds@gnu.org>.
42227
42228 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42229
42230         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
42231         repositories.
42232
42233 2008-03-11  Bruno Haible  <bruno@clisp.org>
42234
42235         Avoid conflicts between local macro definitions.
42236         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42237         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
42238
42239 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
42240             Bruno Haible  <bruno@clisp.org>
42241
42242         Make va_copy work with some version of xlc on AIX 5.1.
42243         * lib/stdarg.in.h: New file.
42244         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
42245         On AIX, use a <stdarg.h> file substitute.
42246         * modules/stdarg (Files): Add lib/stdarg.in.h.
42247         (Depends-on): Add include_next.
42248         (Makefile.am): Build a stdarg.h substitute if requested.
42249         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
42250
42251 2008-03-10  Bruno Haible  <bruno@clisp.org>
42252
42253         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
42254         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42255         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42256
42257 2008-03-10  Bruno Haible  <bruno@clisp.org>
42258
42259         * modules/stdlib (Depends-on): Add include_next, remove
42260         absolute-header.
42261
42262 2008-03-09  Bruno Haible  <bruno@clisp.org>
42263
42264         * lib/freadahead.h (freadahead): Document more precisely.
42265         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
42266         the sum of both buffer sizes.
42267         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
42268         * NEWS: Document the change.
42269
42270 2008-03-09  Bruno Haible  <bruno@clisp.org>
42271
42272         Extend freadptr to return also the buffer size.
42273         * lib/freadptr.h (freadptr): Add sizep argument.
42274         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
42275         (freadptr): Add sizep argument. Determine buffer size like freadahead
42276         does.
42277         * tests/test-freadptr.c: Don't include freadahead.h.
42278         (main): Adapt for new calling convention of freadptr.
42279         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
42280         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
42281         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
42282         tests/test-freadptr2.sh.
42283         (Depends): Remove freadahead.
42284         (TESTS): Add test-freadptr2.sh.
42285         (check_PROGRAMS): Add test-freadptr2.
42286
42287 2008-03-09  Bruno Haible  <bruno@clisp.org>
42288
42289         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
42290         Report and solution by Simon Josefsson.
42291
42292 2008-03-06  Bruno Haible  <bruno@clisp.org>
42293
42294         Make fflush after ungetc work on BSD platforms.
42295         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
42296         * tests/test-fflush2.c: New file.
42297         * tests/test-fflush2.sh: New file.
42298         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
42299         tests/test-fflush2.c.
42300         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
42301         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
42302
42303 2008-03-06  Eric Blake  <ebb9@byu.net>
42304
42305         Likewise for ftello.
42306         * modules/ftello (Dependencies): Add extensions.
42307         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
42308
42309 2008-03-06  Bruno Haible  <bruno@clisp.org>
42310
42311         * modules/fseeko (Dependencies): Add extensions.
42312         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
42313         Needed on glibc systems.
42314
42315 2008-03-06  Bruno Haible  <bruno@clisp.org>
42316
42317         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
42318         email address.
42319         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42320
42321 2008-03-06  Bruno Haible  <bruno@clisp.org>
42322
42323         * users.txt: Add libgnupdf.
42324
42325 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42326
42327         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
42328         (Header File Substitutes, Function Substitutes,
42329         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
42330         (Build robot for gnulib): Fix typo.
42331
42332 2008-03-06  Bruno Haible  <bruno@clisp.org>
42333
42334         * doc/gnulib-tool.texi (VCS Issues): Small updates.
42335         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42336
42337 2008-03-06  Bruno Haible  <bruno@clisp.org>
42338
42339         * doc/func.texi: New file, extracted from doc/gnulib.texi.
42340         * doc/gnulib.texi: Include it.
42341
42342 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42343
42344         * modules/func (License): Change license to unlimited; there was
42345         no LGPL parts in the module anyway.
42346
42347 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42348
42349         * modules/__func__: Renamed to modules/func.
42350         * modules/__func__-tests: Renamed to modules/func-tests.
42351         * tests/test-__func__.c: Renamed to tests/test-func.c.
42352         * m4/__func__.m4: Renamed to m4/func.m4.
42353         * doc/gnulib.texi (__func__): Section renamed to func.
42354         Suggested by Eric Blake <ebb9@byu.net>.
42355
42356 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42357
42358         * doc/gnulib.texi (__func__): Use C99 terminology when talking
42359         about __func__.  Make example self-contained.  Suggested by Eric
42360         Blake <ebb9@byu.net>.
42361
42362         * tests/test-__func__.c (main): Avoid extraneous () around __func.
42363         Suggested by Eric Blake <ebb9@byu.net>.
42364
42365 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42366
42367         * modules/__func__: New file.
42368         * modules/__func__-tests: New file.
42369         * tests/test-__func__.c: New file.
42370         * m4/__func__.m4: New file.
42371         * doc/gnulib.texi (__func__): Document __func__ module.
42372
42373 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42374
42375         * modules/byteswap (License): Re-license as LGPLv2+.
42376
42377 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42378
42379         * doc/Makefile: Add pdf target.
42380
42381 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42382
42383         * modules/inline (License): Use 'unlimited', since there are only
42384         *.m4 files in this module.
42385
42386 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42387             Bruno Haible  <bruno@clisp.org>
42388
42389         Add support for HP C 7.1 on OpenVMS 8.3.
42390         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
42391
42392 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42393
42394         Update VMS specifics.
42395         * lib/getopt.c [VMS]: Remove include of unixlib.h.
42396
42397 2008-03-02  Jim Meyering  <meyering@redhat.com>
42398
42399         Remove the last dependency on the "free" module.
42400         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
42401         Reported by Bob Proulx.
42402
42403         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
42404
42405         Remove useless "if" tests before free.  Deprecate "free" module.
42406         * doc/posix-functions/free.texi: Mention that this
42407         module is no longer useful.
42408         * modules/free (Notice): Say this module is obsolete.
42409         * modules/readutmp (Depends-on): Remove free.
42410         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
42411         * lib/putenv.c (putenv): Likewise.
42412         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
42413         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
42414         * tests/test-c-strcasestr.c (main): Likewise.
42415         * tests/test-c-strstr.c (main): Likewise.
42416         * tests/test-mbscasestr1.c (main): Likewise.
42417         * tests/test-mbscasestr2.c (main): Likewise.
42418         * tests/test-mbsstr1.c (main): Likewise.
42419         * tests/test-mbsstr2.c (main): Likewise.
42420         * tests/test-memmem.c (main): Likewise.
42421         * tests/test-strcasestr.c (main): Likewise.
42422         * tests/test-striconv.c (main): Likewise.
42423         * tests/test-striconveh.c (main): Likewise.
42424         * tests/test-striconveha.c (main): Likewise.
42425         * tests/test-strstr.c (main): Likewise.
42426
42427         * build-aux/git-version-gen: Adjust a comment and the Usage string.
42428
42429         bootstrap: sync from coreutils again
42430         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
42431
42432 2008-03-01  Jim Meyering  <meyering@redhat.com>
42433
42434         bootstrap: sync from coreutils
42435         * build-aux/bootstrap (update_po_files): Copy a .po file into place
42436         also when the target doesn't exist.
42437
42438 2008-03-01  Eric Blake  <ebb9@byu.net>
42439
42440         Fix bugs in last patch.
42441         * lib/memchr2.c (memchr2): Fix typo.
42442         * tests/test-memchr2.c: Test previous bug, and don't use GNU
42443         extension.
42444         Reported by Bruce Korb.
42445
42446         New module 'memchr2'.
42447         * modules/memchr2: New file.
42448         * modules/memchr2-tests: Likewise.
42449         * lib/memchr2.h: Likewise.
42450         * lib/memchr2.c: Likewise, based on memchr.c.
42451         * tests/test-memchr2.c: New test.
42452         * MODULES.html.sh (String handling): Add memchr2.
42453
42454 2008-02-29  Bruno Haible  <bruno@clisp.org>
42455
42456         * modules/freadseek-tests: New file.
42457         * tests/test-freadseek.sh: New file.
42458         * tests/test-freadseek.c: New file.
42459
42460         New module 'freadseek'.
42461         * modules/freadseek: New file.
42462         * lib/freadseek.h: New file.
42463         * lib/freadseek.c: New file.
42464         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
42465
42466 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42467
42468         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
42469         wydawca.
42470
42471         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
42472         program_invocation_name and program_invocation_short_name are
42473         present.
42474
42475 2008-02-28  Bruno Haible  <bruno@clisp.org>
42476
42477         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
42478         * tests/test-freadptr.sh: Also test non-seekable stdin.
42479
42480 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
42481
42482         * build-aux/bootstrap (source_base, m4_base)
42483         (doc_base, tests_base): New variables.
42484         (gnulib_tool_options): Do not hardcode base directories, use
42485         the above variables instead.
42486
42487 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
42488
42489         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
42490
42491 2008-02-28  Bruno Haible  <bruno@clisp.org>
42492
42493         * modules/freadptr-tests: New file.
42494         * tests/test-freadptr.sh: New file.
42495         * tests/test-freadptr.c: New file.
42496
42497         New module 'freadptr'.
42498         * modules/freadptr: New file.
42499         * lib/freadptr.h: New file.
42500         * lib/freadptr.c: New file.
42501         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
42502
42503 2008-02-26  Karl Berry  <karl@freefriends.org>
42504
42505         Sync from Libtool:
42506         * libltdl/argz.c (argz_add, argz_count): New functions.
42507         * libltdl/argz.in.h: Declare them.
42508         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
42509
42510 2008-02-22  Bruno Haible  <bruno@clisp.org>
42511
42512         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
42513         is a pointer type.  Needed for HP-UX 10.
42514         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
42515         * doc/posix-functions/gmtime_r.texi: Likewise.
42516         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42517
42518 2008-02-24  Bruno Haible  <bruno@clisp.org>
42519
42520         * modules/environ-tests: New file.
42521         * tests/test-environ.c: New file.
42522
42523         New module 'environ'.
42524         * modules/environ: New file.
42525         * lib/unistd.in.h (environ): New declaration.
42526         * m4/environ.m4: New file.
42527         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
42528         after use.
42529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
42530         HAVE_DECL_ENVIRON.
42531         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
42532         HAVE_DECL_ENVIRON.
42533         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
42534         wrong claim that 'environ' is missing on some systems.
42535         * modules/execute (Depends-on): Add environ.
42536         * lib/execute.c (environ): Remove fallback declaration.
42537         * modules/pipe (Depends-on): Add environ.
42538         * lib/pipe.c (environ): Remove fallback declaration.
42539         * modules/setenv (Depends-on): Add environ.
42540         * lib/setenv.c (environ): Remove fallback declaration.
42541         * modules/unsetenv (Depends-on): Add environ.
42542         * lib/unsetenv.c (environ): Remove fallback declaration.
42543         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
42544         m4/environ.m4.
42545         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
42546         (gl_PREREQ_UNSETENV): Likewise.
42547
42548 2008-02-24  Bruno Haible  <bruno@clisp.org>
42549
42550         * doc/posix-functions/environ.texi: Document the MacOS X problem.
42551
42552 2008-02-20  Bob Proulx  <bob@proulx.com>
42553
42554         Enable use of older two part flavor 'git describe'.
42555         * build-aux/git-version-gen: If using the older two part flavor of
42556         git version then recreate the third part now present in the
42557         newer three part flavor of git describe.
42558
42559 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
42560
42561         * lib/fts.c (fts_build): Typo correction to comment.
42562
42563 2008-02-17  Bruno Haible  <bruno@clisp.org>
42564
42565         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
42566         generating no-op conflicts.
42567
42568 2008-02-17  Bruno Haible  <bruno@clisp.org>
42569
42570         Speed up by 10%.
42571         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
42572         result_entries, rather than an index-based loop.
42573
42574 2008-02-17  Bruno Haible  <bruno@clisp.org>
42575
42576         Speed up by 25%.
42577         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
42578         'hashcode_cached'.
42579         (entry_create): New function.
42580         (entry_hashcode): Use the cached hashcode if possible.
42581         (read_changelog_file, try_split_merged_entry): Use entry_create.
42582
42583 2008-02-17  Bruno Haible  <bruno@clisp.org>
42584
42585         Speed up from O(n^2) to O(n) for long ChangeLog files.
42586         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
42587         (read_changelog_file): Change implementation of entries_reversed list
42588         to rbtreehash.
42589         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
42590
42591 2008-02-17  Bruno Haible  <bruno@clisp.org>
42592
42593         New option --split-merged-entry.
42594         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
42595         (find_paragraph_end, try_split_merged_entry): New functions.
42596         (long_options): Add option --split-merged-entry.
42597         (usage): Document option --split-merged-entry.
42598         (main): Implement option --split-merged-entry.
42599         Reported by Eric Blake.
42600
42601 2008-02-17  Bruno Haible  <bruno@clisp.org>
42602
42603         * lib/git-merge-changelog.c: Include c-strstr.h.
42604         (main): Support the "git pull --rebase" situation.
42605         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42606         Reported by Eric Blake.
42607
42608 2008-02-16  Eric Blake  <ebb9@byu.net>
42609
42610         Avoid doubling \ in common case of "c-maybe" quoting style.
42611         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42612         eliding outer quotes.
42613         * lib/quotearg.h: Document this.
42614         * tests/test-quotearg.c (result_strings, inputs, results_g)
42615         (flag_results, locale_results): Test it by adding a new string to
42616         each test group.
42617         (compare_strings): Test new string.
42618
42619 2008-02-13  Eric Blake  <ebb9@byu.net>
42620
42621         Avoid trigraph quoting in default output.
42622         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42623         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42624         unless explicitly requested.
42625         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42626
42627 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42628
42629         Don't rely on signed integer overflowing to negative value.
42630         * lib/getugroups.c (getugroups): Include <limits.h>.
42631         Instead, compare against INT_MAX, and increment only if the test passes.
42632
42633 2008-02-13  Jim Meyering  <meyering@redhat.com>
42634         and Eric Blake  <ebb9@byu.net>
42635
42636         Avoid shadowing warning and compile errors on Linux.
42637         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
42638         forwarding macros on Linux.
42639         (dcgettext): Define a stub, for Linux.
42640         (results_g, main): Avoid warnings.
42641
42642 2008-02-12  Eric Blake  <ebb9@byu.net>
42643
42644         Silence warning in last patch.
42645         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
42646
42647         Quotearg part 4: add tests, fix c-maybe colon quoting.
42648         * lib/quotearg.h: Improve documentation.
42649         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
42650         escapes when adding outer quotes.  When quoting trigraphs, use
42651         valid C notation.  When quoting NUL, omit extra characters if next
42652         character is not digit.  Alter prototype.
42653         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
42654         callers.
42655         * modules/quotearg-tests: New module.
42656         * tests/test-quotearg.c: New test.
42657
42658 2008-02-07  Eric Blake  <ebb9@byu.net>
42659
42660         Quotearg part 3: add flag to control outer quote elision.
42661         * lib/quotearg.h (c_maybe_quoting_style): New style.
42662         (enum quoting_flags): Better documentation of flags.
42663         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
42664         c-maybe style.
42665         (quotearg_buffer_restyled): Handle new flag to elide outer
42666         quotes.
42667
42668         Quotearg part 2: add flag that can control NUL elision.
42669         * lib/quotearg.h (set_quoting_flags): New prototype.
42670         * lib/quotearg.c (struct quoting_options): Add flag field.
42671         (set_quoting_flags): New function.
42672         (quotearg_buffer_restyled): Add flags parameter.
42673         (quotearg_alloc_mem): Set the flag if length cannot be returned.
42674         (quotearg_n_options): Set the flag, since length cannot be
42675         returned.
42676         (quoting_options_from_style): Default flags correctly.
42677
42678         Quotearg part 1: more wrappers, restore quotearg_char state.
42679         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
42680         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
42681         (quotearg_colon_mem): New wrappers.
42682         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
42683         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
42684         functions.
42685         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
42686         (quotearg_colon_mem): New functions.
42687
42688 2008-02-11  Bruno Haible  <bruno@clisp.org>
42689
42690         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
42691         library in the current directory: it does not work with parallel make.
42692         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42693
42694 2008-02-11  Bruno Haible  <bruno@clisp.org>
42695
42696         * .gitattributes: New file.
42697
42698 2008-02-11  Jim Meyering  <meyering@redhat.com>
42699
42700         useless-if-before-free: Fix reversed exit values.
42701         * build-aux/useless-if-before-free: Use correct values
42702         for EXIT_MATCH and EXIT_NO_MATCH.
42703
42704         * build-aux/useless-if-before-free: Close stdout carefully.
42705
42706 2008-02-10  Bruno Haible  <bruno@clisp.org>
42707
42708         New module 'git-merge-changelog'.
42709         * modules/git-merge-changelog: New file.
42710         * lib/git-merge-changelog.c: New file.
42711
42712 2008-02-10  Jim Meyering  <meyering@redhat.com>
42713
42714         useless-if-before-free: New option: --list (-l).
42715
42716         useless-if-before-free: Don't exit immediately upon open failure.
42717         * build-aux/useless-if-before-free: Exit 2 for errors.
42718         Upon failure to open a file, don't exit immediately.
42719         Rather, just warn and continue with any remaining files.
42720
42721 2008-02-10  Bruno Haible  <bruno@clisp.org>
42722
42723         New abstract list operation 'node_set_value'.
42724         * lib/gl_list.h (gl_list_node_set_value): New function.
42725         (struct gl_list_implementation): New field node_set_value.
42726         * lib/gl_list.c (gl_list_node_set_value): New function.
42727         * lib/gl_array_list.c (gl_array_node_set_value): New function.
42728         (gl_array_list_implementation): Update.
42729         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
42730         (gl_carray_list_implementation): Update.
42731         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
42732         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
42733         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
42734         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
42735         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
42736         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
42737         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
42738         Update.
42739         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
42740         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
42741         (gl_sublist_list_implementation): Update.
42742
42743 2008-02-10  Bruno Haible  <bruno@clisp.org>
42744
42745         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
42746         Needed when ELEMENT is #defined to 'some_type *'.
42747
42748 2008-02-10  Jim Meyering  <meyering@redhat.com>
42749
42750         New script and module: useless-if-before-free
42751         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
42752         * build-aux/useless-if-before-free: New file.
42753         * modules/useless-if-before-free: New file.
42754
42755         * build-aux/gitlog-to-changelog: Use committer date, not author date.
42756
42757         xstrtol_error: Fix typo.
42758         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
42759         s/exit_failure/exit_status/.
42760
42761 2008-02-09  Jim Meyering  <meyering@redhat.com>
42762
42763         New script and module: gitlog-to-changelog
42764         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
42765         * modules/gitlog-to-changelog: New file.
42766         * build-aux/gitlog-to-changelog: New file.
42767
42768 2008-02-08  Jim Meyering  <meyering@redhat.com>
42769
42770         Avoid two "parameter unused" warnings.
42771         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
42772         Mark "st" as used.
42773
42774         Use "git COMMAND", not "git-COMMAND".
42775         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
42776         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
42777         * build-aux/git-version-gen: Use "git status", not "git-status".
42778
42779 2008-02-07  Bruno Haible  <bruno@clisp.org>
42780
42781         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
42782         Avoids a crash on Windows Vista.
42783         Reported by Adam Strzelecki <ono@java.pl> via
42784         Simon Josefsson <simon@josefsson.org>.
42785
42786 2008-02-06  Bruno Haible  <bruno@clisp.org>
42787
42788         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
42789         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
42790         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
42791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
42792         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42793         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42794         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
42795         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
42796         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42797         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42798         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42799         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42800         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42801         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42802         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42803         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
42804         left-adjust flag.
42805         * tests/test-snprintf-posix.h (test_function): Likewise.
42806         * tests/test-sprintf-posix.h (test_function): Likewise.
42807         * tests/test-vasprintf-posix.c (test_function): Likewise.
42808         * doc/posix-functions/fprintf.texi: Update.
42809         * doc/posix-functions/printf.texi: Update.
42810         * doc/posix-functions/snprintf.texi: Update.
42811         * doc/posix-functions/sprintf.texi: Update.
42812         * doc/posix-functions/vfprintf.texi: Update.
42813         * doc/posix-functions/vprintf.texi: Update.
42814         * doc/posix-functions/vsnprintf.texi: Update.
42815         * doc/posix-functions/vsprintf.texi: Update.
42816         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42817
42818 2008-02-06  Bruno Haible  <bruno@clisp.org>
42819
42820         Fix bug introduced on 2008-01-26.
42821         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
42822
42823 2008-02-06  Bruno Haible  <bruno@clisp.org>
42824
42825         Fix bug introduced on 2007-06-10.
42826         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
42827         !NEED_PRINTF_FLAG_ZERO.
42828
42829 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
42830
42831         getloadavg: use libperfstat on AIX5
42832         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
42833
42834 2008-02-03  Bruno Haible  <bruno@clisp.org>
42835
42836         * lib/diffseq.h: Add comments about required #includes.
42837         Reported by Michael Biggs <gnulib@doubleplum.net>.
42838
42839 2008-02-01  Bruno Haible  <bruno@clisp.org>
42840
42841         * users.txt: Add gnuit.
42842
42843 2008-01-31  Bruno Haible  <bruno@clisp.org>
42844
42845         * lib/md4.c (set_uint32): Mark as inline.
42846         * lib/md5.c (set_uint32): Likewise.
42847         * lib/sha1.c (set_uint32): Likewise.
42848         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
42849         * m4/md5.m4 (gl_MD5): Likewise.
42850         * m4/sha1.m4 (gl_SHA1): Likewise.
42851
42852 2008-01-31  Jim Meyering  <meyering@redhat.com>
42853
42854         Use "sizeof VAR", rather than a literal "4".
42855         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
42856         * lib/md4.c (md4_read_ctx): Likewise.
42857         * lib/sha1.c (sha1_read_ctx): Likewise.
42858
42859 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42860
42861         * tests/test-sha1.c: New file, based on test-md5.c.
42862
42863         * modules/crypto/sha1-tests: New file.
42864
42865 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42866
42867         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
42868
42869 2008-01-31  Jim Meyering  <meyering@redhat.com>
42870
42871         Prefer "sizeof v" over the equivalent "4".
42872         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
42873         * lib/md5.c (set_uint32): Likewise.
42874         * lib/sha1.c (set_uint32): Likewise.
42875
42876 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42877
42878         * lib/sha1.c (set_uint32): Mark function as static.
42879
42880 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42881
42882         md2: clarify comments to say that alignment is not required.
42883         * lib/md2.h: Remove warning about alignment in comment.
42884         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
42885         never been required.
42886
42887 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42888
42889         md4: adapt alignment constraint fix from sha1.
42890         * lib/md4.c (set_uint32): New function, from sha1.c
42891         (md4_read_ctx): Use it.
42892         (md4_finish_ctx): Doc fix.
42893         * lib/md4.h: Doc fix.
42894
42895 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42896
42897         md5: adapt alignment constraint fix from sha1.
42898         * lib/md5.c (set_uint32): New function, from sha1.c
42899         (md5_read_ctx): Use it.
42900         (md5_finish_ctx): Doc fix.
42901         * lib/md5.h: Doc fix.
42902
42903 2008-01-30  Peter Palfrader  <weasel@debian.org>
42904
42905         sha1: remove the result buffer alignment constraint
42906         * lib/sha1.c (set_uint32): New function.
42907         (sha1_read_ctx): Rewrite to remove the result buffer alignment
42908         constraint.
42909         (sha1_finish_ctx): Remove comment warning about alignment constraint.
42910         * lib/sha1.h: Likewise.
42911
42912 2008-01-30  Andreas Schwab  <schwab@suse.de>
42913             Bruno Haible  <bruno@clisp.org>
42914
42915         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
42916         correct definition of LDBL_MIN_EXP.
42917
42918 2008-01-30  Karl Berry  <karl@gnu.org>
42919
42920         * config/srclist-update: try to preserve x bit on updates.
42921         * config/srclistvars.sh: update for karl.
42922
42923 2008-01-29  Jim Meyering  <meyering@redhat.com>
42924
42925         vasnprintf.c: Avoid warning about unused label
42926         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
42927         "overflow" label definition and associated code with the
42928         same cpp condition that guards the sole use of that label.
42929
42930 2008-01-26  Bruno Haible  <bruno@clisp.org>
42931
42932         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
42933         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
42934         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
42935         * lib/isnanl-nolibm.h (isnanl): Likewise.
42936         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42937
42938 2008-01-26  Bruno Haible  <bruno@clisp.org>
42939
42940         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
42941         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
42942
42943 2008-01-26  Bruno Haible  <bruno@clisp.org>
42944
42945         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
42946         GCC >= 4.0 built-in.
42947         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
42948
42949 2008-01-26  Bruno Haible  <bruno@clisp.org>
42950
42951         Rename isnan, applicable to 'double' only, to isnand.
42952         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
42953         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
42954         (configure.ac): Update.
42955         (Include): Replace "isnan.h" with "isnand.h".
42956         * m4/isnand.m4: Renamed from m4/isnan.m4.
42957         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
42958         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
42959         instead of isnan.c.
42960         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
42961         instead of HAVE_ISNAN_IN_LIBC.
42962         (isnand): Renamed from isnan.
42963         * lib/isnand.c: New file.
42964         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
42965         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
42966         (Makefile.am): Update.
42967         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
42968         Include isnand.h instead of isnan.h.
42969         (main): Test isnand instead of isnan.
42970         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
42971         isnan-nolibm.
42972         * modules/frexp (Depends-on): Likewise.
42973         * modules/frexp-tests (Depends-on): Likewise.
42974         * modules/frexp-nolibm (Depends-on): Likewise.
42975         * modules/frexp-nolibm-tests (Depends-on): Likewise.
42976         * modules/isfinite (Depends-on): Likewise.
42977         * modules/round-tests (Depends-on): Likewise.
42978         * modules/signbit (Depends-on): Likewise.
42979         * modules/signbit-tests (Depends-on): Likewise.
42980         * modules/snprintf-posix (Depends-on): Likewise.
42981         * modules/sprintf-posix (Depends-on): Likewise.
42982         * modules/trunc-tests (Depends-on): Likewise.
42983         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42984         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42985         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42986         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42987         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42988         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42989         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42990         * modules/vasnprintf-posix (Depends-on): Likewise.
42991         * modules/vasprintf-posix (Depends-on): Likewise.
42992         * modules/vfprintf-posix (Depends-on): Likewise.
42993         * modules/vsnprintf-posix (Depends-on): Likewise.
42994         * modules/vsprintf-posix (Depends-on): Likewise.
42995         * lib/frexp.c: Include isnand.h instead of isnan.h.
42996         (ISNAN): Set to isnand instead of isnan.
42997         * lib/isfinite.c: Include isnand.h instead of isnan.h.
42998         (gl_isfinited): Use isnand instead of isnan.
42999         * lib/signbitd.c: Include isnand.h instead of isnan.h.
43000         (gl_signbitd): Use isnand instead of isnan.
43001         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
43002         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
43003         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
43004         (main): Use isnand instead of isnan.
43005         * tests/test-round1.c: Include isnand.h.
43006         (main): Use isnand instead of isnan.
43007         * tests/test-round2.c: Include isnand.h instead of isnan.h.
43008         (ISNAN): Set to isnand instead of isnan.
43009         * tests/test-trunc1.c: Include isnand.h.
43010         (main): Use isnand instead of isnan.
43011         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
43012         (equal): Use isnand instead of isnan.
43013         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
43014         isnand-nolibm.
43015         * NEWS: Mention the change.
43016
43017 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43018             Bruno Haible  <bruno@clisp.org>
43019
43020         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
43021         the GCC builtins for signbits are present and set
43022         REPLACE_SIGNBIT_USING_GCC if so.
43023         * lib/math.in.h (signbit): Define using GCC builtins if
43024         REPLACE_SIGNBIT_USING_GCC is set.
43025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
43026         REPLACE_SIGNBIT_USING_GCC.
43027         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
43028
43029 2008-01-25  Jim Meyering  <meyering@redhat.com>
43030
43031         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
43032         * lib/poll.c: Include <config.h>, not "config.h".
43033         * tests/test-getaddrinfo.c: Likewise.
43034
43035 2008-01-25  Simon Josefsson  <simon@josefsson.org>
43036
43037         * modules/sockets-tests: New file.
43038
43039 2008-01-24  Simon Josefsson  <simon@josefsson.org>
43040
43041         * modules/sockets: New module, can be used to call WSA_Startup and
43042         WSA_Cleanup when needed.
43043
43044         * lib/sockets.h, lib/sockets.c: New files.
43045
43046         * m4/sockets.m4: New file.
43047
43048         * tests/test-sockets.c: New file.
43049
43050 2008-01-19  Bruno Haible  <bruno@clisp.org>
43051
43052         * doc/posix-headers: Renamed from doc/headers.
43053         * doc/posix-functions: Renamed from doc/functions.
43054         * doc/gnulib.texi: Update.
43055
43056 2008-01-19  Bruno Haible  <bruno@clisp.org>
43057
43058         * doc/glibc-functions/strcasestr.texi: Include contents of
43059         doc/functions/strcasestr.texi, fixing the list of platforms.
43060         * doc/functions/strcasestr.texi: Remove file.
43061
43062 2008-01-19  Bruno Haible  <bruno@clisp.org>
43063
43064         * doc/glibc-functions/memmem.texi: Include contents of
43065         doc/functions/memmem.texi.
43066         * doc/functions/memmem.texi: Remove file.
43067
43068 2008-01-18  Bruno Haible  <bruno@clisp.org>
43069
43070         * doc/glibc-functions/*.texi: New files.
43071         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
43072         to use the new files.
43073
43074 2008-01-17  Bruno Haible  <bruno@clisp.org>
43075
43076         * tests/test-gethostname.c (main): Fix printf statement.
43077
43078 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43079
43080         * modules/gethostname-tests: New file.
43081
43082         * tests/test-gethostname.c: New file.
43083
43084 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43085
43086         * lib/gethostname.c: Include string.h unconditionally, strncpy is
43087         used by the UNAME case.  Reported by Bruno Haible
43088         <bruno@clisp.org>.
43089
43090 2008-01-17  Eric Blake  <ebb9@byu.net>
43091
43092         Convert c-strcasestr to be more efficient.
43093         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
43094         (Depends-on): Add c-strcase, remove malloca, strnlen.
43095         * tests/test-c-strcasestr.c (main): Enhance test.
43096         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
43097
43098 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43099
43100         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
43101         Use it in creating po/Makevars.
43102
43103 2008-01-15  Simon Josefsson  <simon@josefsson.org>
43104
43105         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
43106         Applications that requires it should initialize libgcrypt
43107         manually.
43108
43109 2008-01-16  Simon Josefsson  <simon@josefsson.org>
43110
43111         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
43112
43113 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
43114
43115         Fix problem with getdate on mingw32 reported by Simon Josefsson
43116         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
43117         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
43118         tzname", when deciding whether to declare tzname.
43119         * lib/strftime.c (tzname): Likewise.
43120
43121 2008-01-15  Bruno Haible  <bruno@clisp.org>
43122
43123         Work around a MacOS X 10.5 bug in frexpl().
43124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
43125         * doc/functions/frexpl.texi: Document the bug.
43126         Reported by Elias Pipping <pipping@gentoo.org>.
43127
43128 2008-01-14  Eric Blake  <ebb9@byu.net>
43129
43130         Touch up previous patch.
43131         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
43132         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
43133
43134         Convert strcasestr module to use Two-Way algorithm.
43135         * modules/strcasestr-simple: New module, based on the old
43136         strcasestr, but with Two-Way rather than KMP.
43137         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
43138         * lib/string.in.h (rpl_strcasestr): Declare.
43139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
43140         performance.
43141         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
43142         * modules/string (Makefile.am): Support strcasestr.
43143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43144         * modules/strcasestr-tests (Depends-on): Check for alarm.
43145         * tests/test-strcasestr.c: Augment test.
43146         * lib/str-two-way.h: Clean up stray macro.
43147         * NEWS: Document new module.
43148         * MODULES.html.sh (string handling): Likewise.
43149         * doc/functions/strcasestr.texi: New file.
43150         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
43151         here, since it is not a POSIX function.
43152
43153 2008-01-14  Colin Watson  <cjwatson@debian.org>
43154             Bruno Haible  <bruno@clisp.org>
43155
43156         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
43157         works fine; if not, set REPLACE_STRSIGNAL.
43158         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
43159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43160         REPLACE_STRSIGNAL.
43161         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
43162         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
43163         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
43164
43165 2008-01-14  Bruno Haible  <bruno@clisp.org>
43166
43167         * modules/strsignal (Include): Change to <string.h>.
43168
43169 2008-01-14  Colin Watson  <cjwatson@debian.org>
43170
43171         * modules/argp (Notice): Add a notice recommending to change
43172         XGETTEXT_OPTIONS.
43173         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
43174
43175 2008-01-13  Colin Watson  <cjwatson@debian.org>
43176
43177         * modules/strsignal-tests: New file.
43178         * tests/test-strsignal.c: New file.
43179
43180         * lib/strsignal.c: New file, from glibc with modifications.
43181         * lib/siglist.h: New file, from glibc with modifications.
43182         * lib/string.in.h (strsignal): New declaration.
43183         * m4/strsignal.m4: New file.
43184         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43185         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
43186         * modules/strsignal: New file.
43187         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
43188         HAVE_DECL_STRSIGNAL.
43189
43190 2008-01-13  Bruno Haible  <bruno@clisp.org>
43191
43192         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
43193         locale encoding is not ASCII. Needed for OpenBSD 4.0.
43194         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43195         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43196
43197 2008-01-13  Bruno Haible  <bruno@clisp.org>
43198
43199         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
43200         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
43201         * lib/argp.h (__attribute__): Likewise.
43202         * lib/c-stack.c (__attribute__): Likewise.
43203         * lib/error.h (__attribute__): Likewise.
43204         * lib/fts.c (__attribute__): Likewise.
43205         * lib/openat.h (__attribute__): Likewise.
43206         * lib/stdio.in.h (__attribute__): Likewise.
43207         * lib/string.in.h (__attribute__): Likewise.
43208         * lib/utimens.c (__attribute__): Likewise.
43209         * lib/vasnprintf.h (__attribute__): Likewise.
43210         * lib/xalloc.h (__attribute__): Likewise.
43211         * lib/xprintf.h (__attribute__): Likewise.
43212         * lib/xstrtol.h (__attribute__): Likewise.
43213         * lib/xvasprintf.h (__attribute__): Likewise.
43214
43215 2008-01-12  Bruno Haible  <bruno@clisp.org>
43216
43217         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
43218         * doc/glibc-headers/a.out.texi: New file.
43219         * doc/glibc-headers/aliases.texi: New file.
43220         * doc/glibc-headers/alloca.texi: New file.
43221         * doc/glibc-headers/ar.texi: New file.
43222         * doc/glibc-headers/argp.texi: New file.
43223         * doc/glibc-headers/argz.texi: New file.
43224         * doc/glibc-headers/byteswap.texi: New file.
43225         * doc/glibc-headers/crypt.texi: New file.
43226         * doc/glibc-headers/endian.texi: New file.
43227         * doc/glibc-headers/envz.texi: New file.
43228         * doc/glibc-headers/err.texi: New file.
43229         * doc/glibc-headers/error.texi: New file.
43230         * doc/glibc-headers/execinfo.texi: New file.
43231         * doc/glibc-headers/fpu_control.texi: New file.
43232         * doc/glibc-headers/fstab.texi: New file.
43233         * doc/glibc-headers/fts.texi: New file.
43234         * doc/glibc-headers/getopt.texi: New file.
43235         * doc/glibc-headers/ieee754.texi: New file.
43236         * doc/glibc-headers/ifaddrs.texi: New file.
43237         * doc/glibc-headers/libintl.texi: New file.
43238         * doc/glibc-headers/mcheck.texi: New file.
43239         * doc/glibc-headers/mntent.texi: New file.
43240         * doc/glibc-headers/obstack.texi: New file.
43241         * doc/glibc-headers/paths.texi: New file.
43242         * doc/glibc-headers/printf.texi: New file.
43243         * doc/glibc-headers/pty.texi: New file.
43244         * doc/glibc-headers/resolv.texi: New file.
43245         * doc/glibc-headers/shadow.texi: New file.
43246         * doc/glibc-headers/sysexits.texi: New file.
43247         * doc/glibc-headers/ttyent.texi: New file.
43248
43249 2008-01-12  Jim Meyering  <meyering@redhat.com>
43250
43251         announce-gen: emit Gnulib's git-based version string.
43252         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
43253         New option --gnulib-version=V, where V is expected to be
43254         the output of running git describe in the gnulib directory.
43255         (get_tool_versions): Request feedback on xdelta.  I suspect it's
43256         not useful, and plan to stop publishing an xdelta file with each
43257         coreutils release.
43258
43259         * build-aux/announce-gen: Also check for lzma-compressed files.
43260
43261 2008-01-11  Bruno Haible  <bruno@clisp.org>
43262
43263         * tests/test-memmem.c (main): Increase maximum allowed time.
43264         * tests/test-strstr.c (main): Likewise.
43265
43266 2008-01-11  Bruno Haible  <bruno@clisp.org>
43267
43268         * doc/functions/memmem.texi: Add more precisions about platforms.
43269         * doc/functions/strstr.texi: Likewise.
43270
43271 2008-01-10  Eric Blake  <ebb9@byu.net>
43272
43273         * m4/strstr.m4: Delete cruft from copy-n-paste.
43274         Reported by Bruno Haible.
43275
43276 2008-01-10  Bruno Haible  <bruno@clisp.org>
43277
43278         Make c-strstr rely on strstr.
43279         * lib/c-strstr.c: Don't include str-kmp.h.
43280         (c_strstr): Define in terms of strstr.
43281         * modules/c-strstr (Files): Remove lib/str-kmp.h.
43282         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
43283
43284 2008-01-10  Bruno Haible  <bruno@clisp.org>
43285
43286         * doc/gnulib.texi (String Functions in C Locale): New section.
43287         * doc/c-ctype.texi: New file.
43288         * doc/c-strcase.texi: New file.
43289         * doc/c-strcaseeq.texi: New file.
43290         * doc/c-strcasestr.texi: New file.
43291         * doc/c-strstr.texi: New file.
43292         * doc/c-strtod.texi: New file.
43293         * doc/c-strtold.texi: New file.
43294
43295 2008-01-10  Eric Blake  <ebb9@byu.net>
43296
43297         * lib/relocatable.h: Fix a comment.
43298
43299 2008-01-10  Eric Blake  <ebb9@byu.net>
43300
43301         Share two-way algorithm.
43302         * lib/str-two-way.h: New file, merged from...
43303         * lib/memmem.c: ...here...
43304         * lib/strstr.c: ...and here.
43305         * modules/memmem (Files): Use it.
43306         * modules/strstr (Files): Likewise.
43307
43308         Avoid quadratic strstr implementations.
43309         * lib/strstr.c: New file.
43310         * m4/strstr.m4: Likewise.
43311         * modules/strstr: Likewise.
43312         * modules/strstr-tests: Likewise.
43313         * tests/test-strstr.c: Likewise.
43314         * lib/string.in.h (rpl_strstr): Declare.
43315         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
43316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
43317         * modules/string (Makefile.am): Likewise.
43318         * MODULES.html.sh (string handling): Mention new module.
43319         * doc/functions/strstr.texi (strstr): Document the bug.
43320
43321 2008-01-10  Bruno Haible  <bruno@clisp.org>
43322
43323         * lib/relocatable.h (relocate): State whether result is freshly
43324         allocated or not.
43325         * lib/relocatable.c (relocate): Return a freshly allocated string
43326         instead of a pointer to a privately held string.
43327         Reported by Sylvain Beucler <beuc@gnu.org>.
43328
43329 2008-01-10  Colin Watson  <cjwatson@debian.org>
43330
43331         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
43332         s/S_ISNLK/S_ISLNK/.
43333
43334 2008-01-09  Bruno Haible  <bruno@clisp.org>
43335
43336         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
43337         and other files.
43338         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
43339         if it's only a guess.
43340         * modules/memmem: Simplify by depending on memmem-simple.
43341
43342 2008-01-09  Bruno Haible  <bruno@clisp.org>
43343
43344         Work around OpenBSD 4.0 tdelete() bug.
43345         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
43346         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
43347         macros and don't redefine the enum values.
43348         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
43349         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
43350         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
43351
43352 2008-01-09  Bruno Haible  <bruno@clisp.org>
43353
43354         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
43355         (main): Don't perform the tests if setlocale did not install a UTF-8
43356         locale. Needed on OpenBSD 4.0.
43357         * modules/wcwidth-tests (Depends-on): Add localcharset.
43358
43359 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43360
43361         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
43362         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
43363         * NEWS: announce this.
43364         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
43365
43366 2008-01-09  Simon Josefsson  <simon@josefsson.org>
43367         and Eric Blake  <ebb9@byu.net>
43368
43369         Add memmem-simple module.
43370         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
43371         (gl_FUNC_MEMMEM): Separate performance from presence checks.
43372         * modules/memmem-simple: New file.
43373         * modules/memmem (Description): Tweak.
43374         * MODULES.html.sh (string handling): Mention new module.
43375         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
43376         addressed by memmem-simple.
43377         * NEWS: Document the difference.
43378
43379 2008-01-09  Eric Blake  <ebb9@byu.net>
43380
43381         Give gcc some memmem optimization hints.
43382         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
43383         (strcasestr): Declare as pure.
43384         * modules/memmem (Maintainer): Claim my implementation.
43385
43386 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43387
43388         Support AIX 6.1 and higher.
43389         * build-aux/config.libpath: Likewise.
43390         * build-aux/config.rpath: Likewise.
43391
43392 2008-01-08  Jim Meyering  <meyering@redhat.com>
43393             Bruno Haible  <bruno@clisp.org>
43394
43395         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
43396         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
43397         Reported by Peter Fales in
43398         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
43399
43400 2008-01-08  Bruno Haible  <bruno@clisp.org>
43401
43402         * modules/unictype/category-of (Depends-on): Add
43403         unictype/category-none.
43404         * modules/unictype/category-and-tests (Depends-on): Add
43405         unictype/category-{L,N,Lu,Nd}.
43406         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
43407         * modules/unictype/category-or-tests (Depends-on): Add
43408         unictype/category-{L,N}.
43409         * modules/unictype/category-name-tests (Depends-on): Add
43410         unictype/category-{Z,Nl}.
43411         Reported by Simon Josefsson.
43412
43413 2008-01-08  Bruno Haible  <bruno@clisp.org>
43414
43415         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
43416         convention better.
43417         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
43418         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
43419         Reported by Peter Miller <millerp@canb.auug.org.au>.
43420
43421 2008-01-08  Eric Blake  <ebb9@byu.net>
43422
43423         Rewrite memmem to guarantee linear complexity without malloc.
43424         * lib/memmem.c (memmem): Use Two-Way rather than
43425         Knuth-Morris-Pratt, to allow O(1) space usage.
43426         (critical_factorization, two_way_short_needle)
43427         (two_way_long_needle): New functions.
43428         (knuth_morris_pratt): Delete.
43429         * modules/memmem (Depends-on): No longer need malloca or stdbool.
43430         Add stdint.
43431         * tests/test-memmem.c (main): Add tests for periodic needle and
43432         sublinear performance.
43433         * doc/functions/memmem.texi (memmem): Document other deficiencies
43434         in cygwin and older glibc.
43435
43436 2008-01-08  Bruno Haible  <bruno@clisp.org>
43437
43438         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
43439         augmentation.
43440
43441 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
43442
43443         Add a configure time option: --disable-acl.
43444         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
43445         AC_ARG_ENABLE(acl).
43446
43447 2008-01-06  Simon Josefsson  <simon@josefsson.org>
43448
43449         * tests/test-localename.c: Don't include obsolete "setenv.h".
43450
43451         * modules/localename-tests (Depends-on): Need unsetenv.
43452
43453 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43454
43455         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
43456
43457 2008-01-06  Colin Watson  <cjwatson@debian.org>
43458
43459         * users.txt: Add man-db.
43460
43461 2008-01-07  Bruno Haible  <bruno@clisp.org>
43462
43463         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
43464         previous section name.
43465
43466 2008-01-07  Bruno Haible  <bruno@clisp.org>
43467
43468         * lib/progname.c (set_program_name): Don't strip off a leading
43469         "lt-" prefix outside a .libs directory.
43470         Suggested by Paul Eggert.
43471
43472 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
43473             Bruno Haible  <bruno@clisp.org>
43474
43475         Improve memory cleanup in 'relocatable' module.
43476         * lib/relocatable.h (compute_curr_prefix): Change return type to
43477         'char *'.
43478         * lib/relocatable.c (compute_curr_prefix): Change return type to
43479         'char *'. Free curr_installdir after use.
43480         (relocate): Free curr_prefix_better after use.
43481         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
43482
43483 2008-01-01  Bruno Haible  <bruno@clisp.org>
43484
43485         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
43486         failure on older glibc systems.
43487         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43488
43489 2008-01-05  Eric Blake  <ebb9@byu.net>
43490
43491         Avoid quadratic system memmem.
43492         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
43493         Reported by Ralf Wildenhues.
43494
43495         Fix memmem test for mingw.
43496         * modules/memmem-tests (configure.ac): Check for alarm.
43497         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
43498         it.
43499         * doc/functions/memmem.texi: New file.
43500         * doc/gnulib.texi (Function Substitutes): Add memmem.
43501         Reported by Bruno Haible.
43502
43503 2008-01-04  Bruno Haible  <bruno@clisp.org>
43504
43505         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
43506         Require gl_HEADER_STRINGS_H_DEFAULTS, not
43507         gl_HEADER_STRING_H_DEFAULTS.
43508
43509 2008-01-04  Eric Blake  <ebb9@byu.net>
43510
43511         Shorten duration of memmem test.
43512         * tests/test-memmem.c (main): Use alarm to declare failure if test
43513         is taking too long.
43514         Reported by Ralf Wildenhues.
43515
43516 2007-12-21  Simon Josefsson  <simon@josefsson.org>
43517
43518         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
43519         string, needed by strerror.
43520
43521 2008-01-03  Colin Watson  <cjwatson@debian.org>
43522             Bruno Haible  <bruno@clisp.org>
43523
43524         * doc/gnulib-tool.texi (Localization): New section.
43525
43526 2008-01-02  Bruno Haible  <bruno@clisp.org>
43527
43528         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
43529         variables to 'unsigned char *' type.
43530         Reported by Paul Eggert.
43531
43532 2008-01-02  Jim Meyering  <jim@meyering.net>
43533
43534         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43535
43536 2007-12-31  Jim Meyering  <jim@meyering.net>
43537
43538         Avoid use of private FTS type name.
43539         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
43540
43541 2007-12-30  Karl Berry  <karl@gnu.org>
43542
43543         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
43544         work around defect in Texinfo and/or the standalone Info browser.
43545
43546 2007-12-30  Bruno Haible  <bruno@clisp.org>
43547
43548         Unify 5 copies of the KMP code.
43549         * lib/str-kmp.h: New file.
43550         * lib/c-strcasestr.c: Include str-kmp.h.
43551         (knuth_morris_pratt): Remove function.
43552         (c_strcasestr): Update.
43553         * lib/c-strstr.c: Include str-kmp.h.
43554         (knuth_morris_pratt): Remove function.
43555         (c_strcasestr): Update.
43556         * lib/mbscasestr.c: Include str-kmp.h.
43557         (knuth_morris_pratt_unibyte): Remove function.
43558         * lib/mbsstr.c: Include str-kmp.h.
43559         (knuth_morris_pratt_unibyte): Remove function.
43560         * lib/strcasestr.c: Include str-kmp.h.
43561         (knuth_morris_pratt): Remove function.
43562         (strcasestr): Update.
43563         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
43564         * modules/c-strstr (Files): Likewise.
43565         * modules/mbscasestr (Files): Likewise.
43566         * modules/mbsstr (Files): Likewise.
43567         * modules/strcasestr (Files): Likewise.
43568         Suggested by Paul Eggert.
43569
43570 2007-12-30  Bruno Haible  <bruno@clisp.org>
43571
43572         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
43573         defined.
43574
43575 2007-12-30  Bruno Haible  <bruno@clisp.org>
43576
43577         * lib/xmalloca.h: Include xalloc.h.
43578         (xnmalloca): New macro.
43579
43580 2007-12-30  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/malloca.h (nmalloca): New macro.
43583         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
43584         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
43585         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
43586         knuth_morris_pratt_multibyte): Likewise.
43587         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
43588         knuth_morris_pratt_multibyte): Likewise.
43589         * lib/memmem.c (knuth_morris_pratt): Likewise.
43590         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
43591
43592 2007-12-25  Bruno Haible  <bruno@clisp.org>
43593
43594         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
43595         * lib/glob.c: Don't include openat.h.
43596         (link_exists2_p): Add back the code that deals with the
43597         !GLOB_ALTDIRFUNC case.
43598         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
43599         let it do the filename concatenation.
43600         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43601         * modules/glob (Depends-on): Remove openat.
43602
43603 2007-12-31  Bruno Haible  <bruno@clisp.org>
43604
43605         * modules/dirfd (License): Change to LGPLv2+.
43606         Approved by Jim Meyering.
43607
43608 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43609
43610         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43611         when multiplying M by sizeof (size_t).
43612
43613 2007-12-10  Martin Lambers  <marlam@marlam.de>
43614
43615         Override getpagesize on mingw.
43616         * lib/getpagesize.c: New file.
43617         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43618         * modules/getpagesize (Files): Add lib/getpagesize.c.
43619         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43621         REPLACE_GETPAGESIZE.
43622         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43623
43624 2007-12-25  Bruno Haible  <bruno@clisp.org>
43625
43626         * modules/localcharset (Notice): New field.
43627         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43628         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
43629
43630 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43631             Bruno Haible  <bruno@clisp.org>
43632
43633         Avoid using the syntax symbol() in formatted documentation.
43634         * MODULES.html.sh (func_module): When replacing symbol() with a
43635         hyperlink, remove the parentheses. Show an error if some remain.
43636         Recognize and render the '...' syntax.
43637         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
43638         Rework. Add paragraph about GCC's inlining.
43639         * doc/alloca.texi: Likewise.
43640         * doc/error.texi: Remove parentheses from symbol reference.
43641         * doc/gnulib-intro.texi: Likewise.
43642         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
43643         * modules/fnmatch (Description): Reword to say "the ... function".
43644         * modules/full-read (Description): Likewise.
43645         * modules/full-write (Description): Likewise.
43646         * modules/safe-read (Description): Likewise.
43647         * modules/safe-write (Description): Likewise.
43648         * modules/strchrnul (Description): Likewise.
43649         * modules/trim (Description): Likewise.
43650         * modules/error (Description): Remove parentheses from symbol
43651         references.
43652         * modules/verror (Description): Likewise.
43653         Reported by Karl Berry.
43654
43655 2007-12-25  Bruno Haible  <bruno@clisp.org>
43656
43657         Fixup after 2007-10-16 commit.
43658         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
43659
43660 2007-12-24  Bruno Haible  <bruno@clisp.org>
43661
43662         Make --enable-relocatable work with DESTDIR.
43663         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
43664         to compute installdir from destprog.
43665         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
43666         also set the RELOC_DESTDIR variable.
43667         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43668
43669 2007-12-24  Bruno Haible  <bruno@clisp.org>
43670
43671         Fix link error due to xalloc_die().
43672         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
43673         of xreadlink.
43674         * lib/relocwrapper.c: Update comments.
43675         * build-aux/install-reloc: Remove xreadlink.c from file list.
43676         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
43677         xreadlink.c.
43678         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43679
43680 2007-12-24  Bruno Haible  <bruno@clisp.org>
43681
43682         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
43683         * lib/setenv.h: Remove file.
43684         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
43685         lib/setenv.h.
43686         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
43687         (Depends-on): Add stdlib.
43688         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
43689         gl_FUNC_UNSETENV.
43690         (Include): Replace setenv.h with <stdlib.h>.
43691         * modules/unsetenv: New file.
43692         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
43693         * lib/unsetenv.c: Include <stdlib.h> first.
43694         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
43695         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
43696         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
43697         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
43698         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
43699         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
43701         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43702         * doc/functions/unsetenv.texi: Update.
43703         * modules/xsetenv (Depends-on): Add unsetenv.
43704         * modules/getdate (Depends-on): Likewise.
43705         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
43706         * lib/xsetenv.c: Don't include setenv.h.
43707         * lib/getdate.y: Likewise.
43708         * lib/relocwrapper.c: Likewise.
43709         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
43710         (Depends-on): Add stdlib.
43711         * NEWS: Mention the changes.
43712         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43713
43714 2007-12-23  Bruno Haible  <bruno@clisp.org>
43715
43716         * lib/memmem.c (memmem): Use lowercase variable names. Tab
43717         indentation.
43718
43719 2007-12-23  Bruno Haible  <bruno@clisp.org>
43720
43721         * lib/c-strcasestr.c: Add more comments.
43722         * lib/c-strstr.c: Likewise.
43723         * lib/mbscasestr.c: Likewise.
43724         * lib/mbsstr.c: Likewise.
43725         * lib/strcasestr.c: Likewise.
43726         * lib/memmem.c: Likewise.
43727
43728 2007-12-23  Bruno Haible  <bruno@clisp.org>
43729
43730         * tests/test-memmem.c: Include <string.h> first.
43731
43732 2007-12-22  Bruno Haible  <bruno@clisp.org>
43733
43734         * gnulib-tool (func_create_testdir): Change $auxdir while generating
43735         the contents of $testsbase.
43736         Reported by Ralf Wildenhues.
43737
43738 2007-12-22  Bruno Haible  <bruno@clisp.org>
43739
43740         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
43741         two variables local_ldadd_before, local_ldadd_last.
43742
43743 2007-12-20  Eric Blake  <ebb9@byu.net>
43744
43745         Work around circular library issue when cross-compiling.
43746         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
43747         that progname.o does not need to pull in rpl_memcmp.
43748
43749 2007-12-19  Eric Blake  <ebb9@byu.net>
43750
43751         Fix memmem to avoid O(n^2) worst-case complexity.
43752         * lib/memmem.c (knuth_morris_pratt): New function.
43753         (memmem): Use it if first few naive iterations fail.
43754         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
43755         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
43756         * modules/memchr (License): Likewise.
43757         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
43758         malloca.
43759         * tests/test-memmem.c: Rewrite, borrowing ideas from
43760         test-mbsstr1.c; the old version wouldn't even compile!
43761         * modules/memmem-tests: New file.
43762         * lib/string.in.h (rpl_memmem): Add declaration.
43763         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
43764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
43765         REPLACE_MEMMEM.
43766
43767 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43768
43769         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
43770         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
43771         before any system include files, and undef after them all.  This
43772         should fix a problem on VMS reported by John E. Malmberg in
43773         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
43774
43775 2007-12-17  Eric Blake  <ebb9@byu.net>
43776
43777         Revert addition of verify, for BSD/OS.
43778         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
43779         can't handle large files, for the sake of obsolete platforms.
43780         * modules/fseeko (Depends-on): Remove verify.
43781         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
43782         * doc/functions/ftello.texi (ftello): Likewise.
43783         * doc/functions/fgetpos.texi (fgetpos): Likewise.
43784         Reported by Larry Jones.
43785
43786 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
43787
43788         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
43789         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
43790
43791 2007-12-17  Jim Meyering  <meyering@redhat.com>
43792
43793         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
43794         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
43795         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
43796         * modules/getcwd (Depends-on): Add openat.
43797         Reported by Petr Salinger.
43798
43799 2007-12-17  Bruno Haible  <bruno@clisp.org>
43800
43801         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
43802         avoid a segmentation fault of the configure test on x86_64 systems.
43803
43804 2007-12-15  Jim Meyering  <meyering@redhat.com>
43805
43806         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
43807
43808 2007-12-13  Eric Blake  <ebb9@byu.net>
43809
43810         Another fseek test.
43811         * tests/test-fseek.c (main): Also test ungetc handling.
43812         * tests/test-fseeko.c (main): Likewise.
43813         * modules/fseeko (Depends-on): Add verify.
43814         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
43815         large.
43816         Reported by Larry Jones.
43817
43818         Fix fseeko on mingw.
43819         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
43820         seek.
43821
43822         Beef up fseek tests.
43823         * tests/test-fseek.c (main): Also test eof handling.
43824         * tests/test-fseeko.c (main): Likewise.
43825         Reported by Larry Jones.
43826
43827 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
43828
43829         Fix fseeko on BSD-based platforms.
43830         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
43831         successful seek.
43832
43833 2007-12-12  Eric Blake  <ebb9@byu.net>
43834
43835         Allow circular dependency of separate libtests.a
43836         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
43837         when use_libtests.
43838
43839 2007-12-11  Eric Blake  <ebb9@byu.net>
43840
43841         Fix bug with -0.0L in previous patch.
43842         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
43843         * tests/test-isnan.c (main): Also test on zeroes.
43844         * tests/test-isnanf.c (main): Likewise.
43845         * tests/test-isnanl.h (main): Likewise.
43846
43847         Detect pseudo-denormals on x86 even when cross-compiling.
43848         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
43849         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
43850         invalid bit patterns that happen to satisfy ==.
43851
43852         Avoid link failures with separate libtests.a.
43853         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
43854         last, to satisfy circular dependencies.
43855
43856 2007-12-11  Eric Blake  <ebb9@byu.net>
43857         and Bruno Haible  <bruno@clisp.org>
43858
43859         Fix OpenBSD 4.0 <float.h> handling of long double.
43860         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
43861         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
43862         * doc/headers/float.texi (float.h): Document OpenBSD bug.
43863
43864 2007-12-11  Jim Meyering  <meyering@redhat.com>
43865
43866         * users.txt: Add libvirt.
43867
43868         Support versions of autoconf prior to 2.59c.
43869         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
43870         if it is not already defined.
43871
43872 2007-12-09  Bruno Haible  <bruno@clisp.org>
43873
43874         Let 'gnulib-tool --import' collect sources needed for the tests in
43875         tests/ rather than in lib/.
43876         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
43877         argument. If true, add rules to generate libtests.a, and put libtests.a
43878         into $(LDADD). Consider source files in subdirectories and set
43879         uses_subdirs.
43880         (func_emit_initmacro_start, func_emit_initmacro_end,
43881         func_emit_initmacro_done): Pass all arguments explicitly.
43882         (func_import): Determine two module lists main_modules,
43883         testsrelated_modules. Determine use_libtests. Determine two variables
43884         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
43885         instead of just sed_transform_lib_file. Determine two variables
43886         main_files and testsrelated_files. Compute 'files' as the union of
43887         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
43888         func_add_or_update. In the generated gnulib-comp.m4, collect the
43889         object files for tests/ in different variables than those for lib/.
43890         Substitute LIBTESTS_LIBDEPS.
43891         (func_create_testdir): Combine the uses_subdirs results from
43892         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
43893
43894 2007-12-09  Bruno Haible  <bruno@clisp.org>
43895
43896         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
43897         the build-aux directory.
43898
43899 2007-12-09  Bruno Haible  <bruno@clisp.org>
43900
43901         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
43902         introduced on 2006-09-09.
43903
43904 2007-12-07  Jim Meyering  <meyering@redhat.com>
43905
43906         Let these macros work also with autoconf-2.59.
43907         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
43908         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
43909         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
43910
43911 2007-12-06  Jim Meyering  <meyering@redhat.com>
43912
43913         Avoid a configure-time syntax error in gl_FUNC_ACL.
43914         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
43915         function in each branch, before testing the cache variable.
43916
43917 2007-12-04  Eric Blake  <ebb9@byu.net>
43918
43919         Make scripts executable.
43920         * build-aux/config.guess: Add execute permissions.
43921         * build-aux/config.sub: Likewise.
43922         * build-aux/gendocs.sh: Likewise.
43923
43924         Fix frexp on mingw.
43925         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
43926         cross-compiling.
43927         * doc/functions/frexp.texi (frexp): Document the bug.
43928
43929         Make cygwin fseeko check more reliable.
43930         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
43931         version numbers, rather than unrelated feature check.
43932         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
43933         * doc/functions/ftello.texi (ftello): Likewise.
43934         Reported by Bruno Haible.
43935
43936         * m4/strerror.m4: Bump version number.
43937
43938 2007-12-03  Bruno Haible  <bruno@clisp.org>
43939
43940         * doc/functions/mprotect.texi: Mention the mingw problem.
43941
43942 2007-12-03  Eric Blake  <ebb9@byu.net>
43943
43944         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
43945         REPLACE_STRERROR is initialized before this macro.
43946
43947 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43948
43949         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
43950         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
43951         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
43952         put -lsec in even for programs other than 'ls'.  This fixes a problem
43953         for gettext reported by Bruno Haible in
43954         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
43955         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
43956         Add support for Solaris 10.  This isn't efficient, but should get the
43957         job done for now.
43958
43959 2007-12-03  James Youngman  <jay@gnu.org>
43960
43961         * doc/regexprops-generic.texi: change "an close-group" to "a
43962         close-group" and "illegal" to "not allowed".
43963
43964 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43965
43966         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
43967         pr_byname.h. Needed for the rare case when the maintainer has done
43968         "make maintainer-clean" in the source directory and then attempts a
43969         build outside the source directory.
43970         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
43971         scripts_byname.h.
43972
43973 2007-12-02  Martin Lambers <marlam@marlam.de>
43974             Bruno Haible  <bruno@clisp.org>
43975
43976         * lib/getpagesize.h: Remove file.
43977         * lib/unistd.in.h: Include declaration of getpagesize here.
43978         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
43979         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
43980         HAVE_SYS_PARAM_H.
43981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
43982         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43983         * modules/getpagesize (Files): Remove lib/getpagesize.h.
43984         (Depends-on): Add unistd.
43985         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43986         (Include): Use <unistd.h> instead of getpagesize.h.
43987         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
43988         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43989         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
43990         gl_GETPAGESIZE invocation, already handled by module dependency.
43991         * lib/pagealign_alloc.c: Don't include getpagesize.h.
43992
43993 2007-12-02  Bruno Haible  <bruno@clisp.org>
43994
43995         * modules/strings-tests: New file.
43996         * tests/test-strings.c: New file.
43997
43998         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
43999         * lib/strings.in.h: New file.
44000         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
44001         * m4/strings_h.m4: New file.
44002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
44003         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
44004         * modules/strings: New file.
44005         * modules/string (Makefile.am): Update.
44006         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
44007         Reported by Karl Berry.
44008
44009 2007-12-01  Eric Blake  <ebb9@byu.net>
44010
44011         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
44012         accomodate fix in cygwin 1.5.25.
44013
44014 2007-12-01  Jim Meyering  <meyering@redhat.com>
44015
44016         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
44017         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
44018         that would inhibit utf8-optimization of a regexp containing line-
44019         or buffer-anchors, e.g., `^', `$'.
44020
44021 2007-11-30  Bruno Haible  <bruno@clisp.org>
44022
44023         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
44024         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
44025         glthread_recursive_lock_init.
44026         * lib/lock.c (glthread_recursive_lock_init)
44027         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
44028         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44029
44030 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44031
44032         New function qset_acl, like set_acl but with syscall semantics.
44033         * lib/acl.h (qset_acl): New decl.
44034         * lib/acl.c (qset_acl): New function.
44035         (set_acl): Use new function.  Use more-consistent diagnostics.
44036
44037 2007-11-28  Jim Meyering  <meyering@redhat.com>
44038
44039         * modules/physmem (License): Change from GPL to LGPLv2+.
44040
44041 2007-11-26  Bruno Haible  <bruno@clisp.org>
44042
44043         * lib/vasnprintf.c (decode_long_double): Don't abort if the
44044         'long double' type has excess precision.
44045         Reported by Jim Meyering in
44046         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
44047
44048 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44049
44050         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
44051         Sync from <http://gnu.org/licenses>.
44052         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
44053         with license text from same location.
44054         * doc/maintain.texi, doc/standards.texi:  Sync from
44055         <http://savannah.gnu.org/projects/gnustandards>.
44056
44057 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
44058         and Jim Meyering  <meyering@redhat.com>
44059
44060         Adjust getdate' grammar to accept a slightly more regular language.
44061         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
44062         Before, the former was rejected.
44063         * lib/getdate.y (digits_to_date_time): New function, factored
44064         out of ...
44065         (number): ...here.  Just call digits_to_date_time.
44066         (hybrid): New non-terminal to handle an <unsigned number,
44067         signed relative offset> sequence consistently.
44068
44069 2007-11-18  Jim Meyering  <meyering@redhat.com>
44070
44071         Pull my changes from coreutils:
44072         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
44073         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
44074         use of $gnulib_tool_option_extras, so that it's separated from the
44075         preceding argument.
44076
44077         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
44078         * build-aux/bootstrap (cp_mark_as_generated): Create any required
44079         parent destination directories before copying a file into place.
44080
44081 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44082
44083         bootstrap: work also with 4-argument variant of AC_INIT
44084         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
44085
44086 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44087
44088         Port test-getaddrinfo to Solaris.
44089         Problem reported by Bruno Haible in
44090         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
44091         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
44092         explanation of setting 'hints'.
44093         Don't reject an implementation merely because it returns EAI_SERVICE.
44094         (EAI_SERVICE): Define to 0 if not defined.
44095
44096 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
44097
44098         The license of gnu-make and posix-shell is now "GPLed build tool".
44099         * modules/gnu-make (License): Likewise.
44100         * modules/posix-shell (License): Likewise.
44101
44102         New module posix-shell, for determining a POSIX shell
44103         or perhaps something that is close enough to a POSIX shell.
44104         * m4/posix-shell.m4: New file.
44105         * modules/posix-shell: New file.
44106
44107         * MODULES.html.sh: Mention new module.
44108
44109         New module gnu-make, for determining whether we're using GNU Make.
44110         * m4/gnu-make.m4: New file.
44111         * modules/gnu-make: New file.
44112         * MODULES.html.sh: Mention new module.
44113
44114 2007-11-14  Jim Meyering  <meyering@redhat.com>
44115
44116         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
44117         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
44118         use this macro to create a function _definition_.
44119         Remove useless "#undef ARGMATCH_DIE".
44120
44121 2007-11-14  Bruno Haible  <bruno@clisp.org>
44122
44123         * lib/config.charset: Update for OpenBSD 4.1.
44124         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
44125
44126 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
44127
44128         Document 64-bit #if problems in stdint.texi.
44129         * doc/headers/stdint.texi (stdint.h): Mention problems with
44130         64-bit-#if, and how to work around them.
44131
44132         Don't insist on 'long long int' support in the preprocessor.  It
44133         breaks too many things.  For example, PRIdMAX still uses a 'long
44134         long int' format with the latest Sun compiler, even though
44135         HAVE_LONG_LONG_INT isn't defined due to that compiler's
44136         preprocessor problem.  This causes the latest coreutils to dump
44137         core on Solaris 10 sparc with the Sun C compiler.
44138         Instead, fix the 2007-10-16 problem in a different way, by evaluating
44139         the troublesome expressions at configure-time, not at #if-time.
44140         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
44141         preprocessor.
44142         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
44143         compile-time C checks, done at 'configure'-time.
44144         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
44145         * modules/inttypes (Makefile): Substitute the new symbols that
44146         gl_INTTYPES_H now generates.
44147         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
44148
44149 2007-11-12  Bruno Haible  <bruno@clisp.org>
44150
44151         Tests for Unicode character classification functions.
44152
44153         * modules/unictype/bidicategory-byname-tests: New file.
44154         * modules/unictype/bidicategory-name-tests: New file.
44155         * modules/unictype/bidicategory-of-tests: New file.
44156         * modules/unictype/bidicategory-test-tests: New file.
44157         * modules/unictype/block-list-tests: New file.
44158         * modules/unictype/block-of-tests: New file.
44159         * modules/unictype/block-test-tests: New file.
44160         * modules/unictype/category-C-tests: New file.
44161         * modules/unictype/category-Cc-tests: New file.
44162         * modules/unictype/category-Cf-tests: New file.
44163         * modules/unictype/category-Cn-tests: New file.
44164         * modules/unictype/category-Co-tests: New file.
44165         * modules/unictype/category-Cs-tests: New file.
44166         * modules/unictype/category-L-tests: New file.
44167         * modules/unictype/category-Ll-tests: New file.
44168         * modules/unictype/category-Lm-tests: New file.
44169         * modules/unictype/category-Lo-tests: New file.
44170         * modules/unictype/category-Lt-tests: New file.
44171         * modules/unictype/category-Lu-tests: New file.
44172         * modules/unictype/category-M-tests: New file.
44173         * modules/unictype/category-Mc-tests: New file.
44174         * modules/unictype/category-Me-tests: New file.
44175         * modules/unictype/category-Mn-tests: New file.
44176         * modules/unictype/category-N-tests: New file.
44177         * modules/unictype/category-Nd-tests: New file.
44178         * modules/unictype/category-Nl-tests: New file.
44179         * modules/unictype/category-No-tests: New file.
44180         * modules/unictype/category-P-tests: New file.
44181         * modules/unictype/category-Pc-tests: New file.
44182         * modules/unictype/category-Pd-tests: New file.
44183         * modules/unictype/category-Pe-tests: New file.
44184         * modules/unictype/category-Pf-tests: New file.
44185         * modules/unictype/category-Pi-tests: New file.
44186         * modules/unictype/category-Po-tests: New file.
44187         * modules/unictype/category-Ps-tests: New file.
44188         * modules/unictype/category-S-tests: New file.
44189         * modules/unictype/category-Sc-tests: New file.
44190         * modules/unictype/category-Sk-tests: New file.
44191         * modules/unictype/category-Sm-tests: New file.
44192         * modules/unictype/category-So-tests: New file.
44193         * modules/unictype/category-Z-tests: New file.
44194         * modules/unictype/category-Zl-tests: New file.
44195         * modules/unictype/category-Zp-tests: New file.
44196         * modules/unictype/category-Zs-tests: New file.
44197         * modules/unictype/category-and-not-tests: New file.
44198         * modules/unictype/category-and-tests: New file.
44199         * modules/unictype/category-byname-tests: New file.
44200         * modules/unictype/category-name-tests: New file.
44201         * modules/unictype/category-none-tests: New file.
44202         * modules/unictype/category-of-tests: New file.
44203         * modules/unictype/category-or-tests: New file.
44204         * modules/unictype/category-test-withtable-tests: New file.
44205         * modules/unictype/combining-class-tests: New file.
44206         * modules/unictype/ctype-alnum-tests: New file.
44207         * modules/unictype/ctype-alpha-tests: New file.
44208         * modules/unictype/ctype-blank-tests: New file.
44209         * modules/unictype/ctype-cntrl-tests: New file.
44210         * modules/unictype/ctype-digit-tests: New file.
44211         * modules/unictype/ctype-graph-tests: New file.
44212         * modules/unictype/ctype-lower-tests: New file.
44213         * modules/unictype/ctype-print-tests: New file.
44214         * modules/unictype/ctype-punct-tests: New file.
44215         * modules/unictype/ctype-space-tests: New file.
44216         * modules/unictype/ctype-upper-tests: New file.
44217         * modules/unictype/ctype-xdigit-tests: New file.
44218         * modules/unictype/decimal-digit-tests: New file.
44219         * modules/unictype/digit-tests: New file.
44220         * modules/unictype/mirror-tests: New file.
44221         * modules/unictype/numeric-tests: New file.
44222         * modules/unictype/property-alphabetic-tests: New file.
44223         * modules/unictype/property-ascii-hex-digit-tests: New file.
44224         * modules/unictype/property-bidi-arabic-digit-tests: New file.
44225         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
44226         * modules/unictype/property-bidi-block-separator-tests: New file.
44227         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
44228         * modules/unictype/property-bidi-common-separator-tests: New file.
44229         * modules/unictype/property-bidi-control-tests: New file.
44230         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
44231         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
44232         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
44233         * modules/unictype/property-bidi-european-digit-tests: New file.
44234         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
44235         * modules/unictype/property-bidi-left-to-right-tests: New file.
44236         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
44237         * modules/unictype/property-bidi-other-neutral-tests: New file.
44238         * modules/unictype/property-bidi-pdf-tests: New file.
44239         * modules/unictype/property-bidi-segment-separator-tests: New file.
44240         * modules/unictype/property-bidi-whitespace-tests: New file.
44241         * modules/unictype/property-byname-tests: New file.
44242         * modules/unictype/property-combining-tests: New file.
44243         * modules/unictype/property-composite-tests: New file.
44244         * modules/unictype/property-currency-symbol-tests: New file.
44245         * modules/unictype/property-dash-tests: New file.
44246         * modules/unictype/property-decimal-digit-tests: New file.
44247         * modules/unictype/property-default-ignorable-code-point-tests: New file.
44248         * modules/unictype/property-deprecated-tests: New file.
44249         * modules/unictype/property-diacritic-tests: New file.
44250         * modules/unictype/property-extender-tests: New file.
44251         * modules/unictype/property-format-control-tests: New file.
44252         * modules/unictype/property-grapheme-base-tests: New file.
44253         * modules/unictype/property-grapheme-extend-tests: New file.
44254         * modules/unictype/property-grapheme-link-tests: New file.
44255         * modules/unictype/property-hex-digit-tests: New file.
44256         * modules/unictype/property-hyphen-tests: New file.
44257         * modules/unictype/property-id-continue-tests: New file.
44258         * modules/unictype/property-id-start-tests: New file.
44259         * modules/unictype/property-ideographic-tests: New file.
44260         * modules/unictype/property-ids-binary-operator-tests: New file.
44261         * modules/unictype/property-ids-trinary-operator-tests: New file.
44262         * modules/unictype/property-ignorable-control-tests: New file.
44263         * modules/unictype/property-iso-control-tests: New file.
44264         * modules/unictype/property-join-control-tests: New file.
44265         * modules/unictype/property-left-of-pair-tests: New file.
44266         * modules/unictype/property-line-separator-tests: New file.
44267         * modules/unictype/property-logical-order-exception-tests: New file.
44268         * modules/unictype/property-lowercase-tests: New file.
44269         * modules/unictype/property-math-tests: New file.
44270         * modules/unictype/property-non-break-tests: New file.
44271         * modules/unictype/property-not-a-character-tests: New file.
44272         * modules/unictype/property-numeric-tests: New file.
44273         * modules/unictype/property-other-alphabetic-tests: New file.
44274         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
44275         * modules/unictype/property-other-grapheme-extend-tests: New file.
44276         * modules/unictype/property-other-id-continue-tests: New file.
44277         * modules/unictype/property-other-id-start-tests: New file.
44278         * modules/unictype/property-other-lowercase-tests: New file.
44279         * modules/unictype/property-other-math-tests: New file.
44280         * modules/unictype/property-other-uppercase-tests: New file.
44281         * modules/unictype/property-paired-punctuation-tests: New file.
44282         * modules/unictype/property-paragraph-separator-tests: New file.
44283         * modules/unictype/property-pattern-syntax-tests: New file.
44284         * modules/unictype/property-pattern-white-space-tests: New file.
44285         * modules/unictype/property-private-use-tests: New file.
44286         * modules/unictype/property-punctuation-tests: New file.
44287         * modules/unictype/property-quotation-mark-tests: New file.
44288         * modules/unictype/property-radical-tests: New file.
44289         * modules/unictype/property-sentence-terminal-tests: New file.
44290         * modules/unictype/property-soft-dotted-tests: New file.
44291         * modules/unictype/property-space-tests: New file.
44292         * modules/unictype/property-terminal-punctuation-tests: New file.
44293         * modules/unictype/property-test-tests: New file.
44294         * modules/unictype/property-titlecase-tests: New file.
44295         * modules/unictype/property-unassigned-code-value-tests: New file.
44296         * modules/unictype/property-unified-ideograph-tests: New file.
44297         * modules/unictype/property-uppercase-tests: New file.
44298         * modules/unictype/property-variation-selector-tests: New file.
44299         * modules/unictype/property-white-space-tests: New file.
44300         * modules/unictype/property-xid-continue-tests: New file.
44301         * modules/unictype/property-xid-start-tests: New file.
44302         * modules/unictype/property-zero-width-tests: New file.
44303         * modules/unictype/scripts-tests: New file.
44304         * modules/unictype/syntax-c-ident-tests: New file.
44305         * modules/unictype/syntax-c-whitespace-tests: New file.
44306         * modules/unictype/syntax-java-ident-tests: New file.
44307         * modules/unictype/syntax-java-whitespace-tests: New file.
44308         * tests/unictype/test-bidi_byname.c: New file.
44309         * tests/unictype/test-bidi_name.c: New file.
44310         * tests/unictype/test-bidi_of.c: New file.
44311         * tests/unictype/test-bidi_test.c: New file.
44312         * tests/unictype/test-block_list.c: New file.
44313         * tests/unictype/test-block_of.c: New file.
44314         * tests/unictype/test-block_test.c: New file.
44315         * tests/unictype/test-categ_and.c: New file.
44316         * tests/unictype/test-categ_and_not.c: New file.
44317         * tests/unictype/test-categ_byname.c: New file.
44318         * tests/unictype/test-categ_name.c: New file.
44319         * tests/unictype/test-categ_none.c: New file.
44320         * tests/unictype/test-categ_of.c: New file.
44321         * tests/unictype/test-categ_or.c: New file.
44322         * tests/unictype/test-categ_test_withtable.c: New file.
44323         * tests/unictype/test-combining.c: New file.
44324         * tests/unictype/test-decdigit.c: New file.
44325         * tests/unictype/test-digit.c: New file.
44326         * tests/unictype/test-mirror.c: New file.
44327         * tests/unictype/test-numeric.c: New file.
44328         * tests/unictype/test-pr_byname.c: New file.
44329         * tests/unictype/test-pr_test.c: New file.
44330         * tests/unictype/test-predicate-part1.h: New file.
44331         * tests/unictype/test-predicate-part2.h: New file.
44332         * tests/unictype/test-scripts.c: New file.
44333         * tests/unictype/test-sy_c_ident.c: New file.
44334         * tests/unictype/test-sy_java_ident.c: New file.
44335
44336         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
44337         for Unicode 5.0.0.
44338         * tests/unictype/test-categ_Cc.c: Likewise.
44339         * tests/unictype/test-categ_Cf.c: Likewise.
44340         * tests/unictype/test-categ_Cn.c: Likewise.
44341         * tests/unictype/test-categ_Co.c: Likewise.
44342         * tests/unictype/test-categ_Cs.c: Likewise.
44343         * tests/unictype/test-categ_L.c: Likewise.
44344         * tests/unictype/test-categ_Ll.c: Likewise.
44345         * tests/unictype/test-categ_Lm.c: Likewise.
44346         * tests/unictype/test-categ_Lo.c: Likewise.
44347         * tests/unictype/test-categ_Lt.c: Likewise.
44348         * tests/unictype/test-categ_Lu.c: Likewise.
44349         * tests/unictype/test-categ_M.c: Likewise.
44350         * tests/unictype/test-categ_Mc.c: Likewise.
44351         * tests/unictype/test-categ_Me.c: Likewise.
44352         * tests/unictype/test-categ_Mn.c: Likewise.
44353         * tests/unictype/test-categ_N.c: Likewise.
44354         * tests/unictype/test-categ_Nd.c: Likewise.
44355         * tests/unictype/test-categ_Nl.c: Likewise.
44356         * tests/unictype/test-categ_No.c: Likewise.
44357         * tests/unictype/test-categ_P.c: Likewise.
44358         * tests/unictype/test-categ_Pc.c: Likewise.
44359         * tests/unictype/test-categ_Pd.c: Likewise.
44360         * tests/unictype/test-categ_Pe.c: Likewise.
44361         * tests/unictype/test-categ_Pf.c: Likewise.
44362         * tests/unictype/test-categ_Pi.c: Likewise.
44363         * tests/unictype/test-categ_Po.c: Likewise.
44364         * tests/unictype/test-categ_Ps.c: Likewise.
44365         * tests/unictype/test-categ_S.c: Likewise.
44366         * tests/unictype/test-categ_Sc.c: Likewise.
44367         * tests/unictype/test-categ_Sk.c: Likewise.
44368         * tests/unictype/test-categ_Sm.c: Likewise.
44369         * tests/unictype/test-categ_So.c: Likewise.
44370         * tests/unictype/test-categ_Z.c: Likewise.
44371         * tests/unictype/test-categ_Zl.c: Likewise.
44372         * tests/unictype/test-categ_Zp.c: Likewise.
44373         * tests/unictype/test-categ_Zs.c: Likewise.
44374         * tests/unictype/test-ctype_alnum.c: Likewise.
44375         * tests/unictype/test-ctype_alpha.c: Likewise.
44376         * tests/unictype/test-ctype_blank.c: Likewise.
44377         * tests/unictype/test-ctype_cntrl.c: Likewise.
44378         * tests/unictype/test-ctype_digit.c: Likewise.
44379         * tests/unictype/test-ctype_graph.c: Likewise.
44380         * tests/unictype/test-ctype_lower.c: Likewise.
44381         * tests/unictype/test-ctype_print.c: Likewise.
44382         * tests/unictype/test-ctype_punct.c: Likewise.
44383         * tests/unictype/test-ctype_space.c: Likewise.
44384         * tests/unictype/test-ctype_upper.c: Likewise.
44385         * tests/unictype/test-ctype_xdigit.c: Likewise.
44386         * tests/unictype/test-decdigit.h: Likewise.
44387         * tests/unictype/test-digit.h: Likewise.
44388         * tests/unictype/test-numeric.h: Likewise.
44389         * tests/unictype/test-pr_alphabetic.c: Likewise.
44390         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
44391         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44392         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44393         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
44394         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44395         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
44396         * tests/unictype/test-pr_bidi_control.c: Likewise.
44397         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
44398         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
44399         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44400         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44401         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44402         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44403         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44404         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44405         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
44406         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
44407         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
44408         * tests/unictype/test-pr_combining.c: Likewise.
44409         * tests/unictype/test-pr_composite.c: Likewise.
44410         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44411         * tests/unictype/test-pr_dash.c: Likewise.
44412         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44413         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
44414         * tests/unictype/test-pr_deprecated.c: Likewise.
44415         * tests/unictype/test-pr_diacritic.c: Likewise.
44416         * tests/unictype/test-pr_extender.c: Likewise.
44417         * tests/unictype/test-pr_format_control.c: Likewise.
44418         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44419         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44420         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44421         * tests/unictype/test-pr_hex_digit.c: Likewise.
44422         * tests/unictype/test-pr_hyphen.c: Likewise.
44423         * tests/unictype/test-pr_id_continue.c: Likewise.
44424         * tests/unictype/test-pr_id_start.c: Likewise.
44425         * tests/unictype/test-pr_ideographic.c: Likewise.
44426         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
44427         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
44428         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44429         * tests/unictype/test-pr_iso_control.c: Likewise.
44430         * tests/unictype/test-pr_join_control.c: Likewise.
44431         * tests/unictype/test-pr_left_of_pair.c: Likewise.
44432         * tests/unictype/test-pr_line_separator.c: Likewise.
44433         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44434         * tests/unictype/test-pr_lowercase.c: Likewise.
44435         * tests/unictype/test-pr_math.c: Likewise.
44436         * tests/unictype/test-pr_non_break.c: Likewise.
44437         * tests/unictype/test-pr_not_a_character.c: Likewise.
44438         * tests/unictype/test-pr_numeric.c: Likewise.
44439         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44440         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
44441         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
44442         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44443         * tests/unictype/test-pr_other_id_start.c: Likewise.
44444         * tests/unictype/test-pr_other_lowercase.c: Likewise.
44445         * tests/unictype/test-pr_other_math.c: Likewise.
44446         * tests/unictype/test-pr_other_uppercase.c: Likewise.
44447         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
44448         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
44449         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
44450         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
44451         * tests/unictype/test-pr_private_use.c: Likewise.
44452         * tests/unictype/test-pr_punctuation.c: Likewise.
44453         * tests/unictype/test-pr_quotation_mark.c: Likewise.
44454         * tests/unictype/test-pr_radical.c: Likewise.
44455         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44456         * tests/unictype/test-pr_soft_dotted.c: Likewise.
44457         * tests/unictype/test-pr_space.c: Likewise.
44458         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44459         * tests/unictype/test-pr_titlecase.c: Likewise.
44460         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44461         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44462         * tests/unictype/test-pr_uppercase.c: Likewise.
44463         * tests/unictype/test-pr_variation_selector.c: Likewise.
44464         * tests/unictype/test-pr_white_space.c: Likewise.
44465         * tests/unictype/test-pr_xid_continue.c: Likewise.
44466         * tests/unictype/test-pr_xid_start.c: Likewise.
44467         * tests/unictype/test-pr_zero_width.c: Likewise.
44468         * tests/unictype/test-sy_c_whitespace.c: Likewise.
44469         * tests/unictype/test-sy_java_whitespace.c: Likewise.
44470
44471 2007-11-12  Bruno Haible  <bruno@clisp.org>
44472
44473         Unicode character classification functions.
44474         * lib/unictype.h: New file.
44475         * modules/unictype/base: New file.
44476         * modules/unictype/category-L: New file.
44477         * modules/unictype/category-Lu: New file.
44478         * modules/unictype/category-Ll: New file.
44479         * modules/unictype/category-Lt: New file.
44480         * modules/unictype/category-Lm: New file.
44481         * modules/unictype/category-Lo: New file.
44482         * modules/unictype/category-M: New file.
44483         * modules/unictype/category-Mn: New file.
44484         * modules/unictype/category-Mc: New file.
44485         * modules/unictype/category-Me: New file.
44486         * modules/unictype/category-N: New file.
44487         * modules/unictype/category-Nd: New file.
44488         * modules/unictype/category-Nl: New file.
44489         * modules/unictype/category-No: New file.
44490         * modules/unictype/category-P: New file.
44491         * modules/unictype/category-Pc: New file.
44492         * modules/unictype/category-Pd: New file.
44493         * modules/unictype/category-Ps: New file.
44494         * modules/unictype/category-Pe: New file.
44495         * modules/unictype/category-Pi: New file.
44496         * modules/unictype/category-Pf: New file.
44497         * modules/unictype/category-Po: New file.
44498         * modules/unictype/category-S: New file.
44499         * modules/unictype/category-Sm: New file.
44500         * modules/unictype/category-Sc: New file.
44501         * modules/unictype/category-Sk: New file.
44502         * modules/unictype/category-So: New file.
44503         * modules/unictype/category-Z: New file.
44504         * modules/unictype/category-Zs: New file.
44505         * modules/unictype/category-Zl: New file.
44506         * modules/unictype/category-Zp: New file.
44507         * modules/unictype/category-C: New file.
44508         * modules/unictype/category-Cc: New file.
44509         * modules/unictype/category-Cf: New file.
44510         * modules/unictype/category-Cs: New file.
44511         * modules/unictype/category-Co: New file.
44512         * modules/unictype/category-Cn: New file.
44513         * modules/unictype/category-or: New file.
44514         * modules/unictype/category-of: New file.
44515         * modules/unictype/category-test: New file.
44516         * modules/unictype/category-test-withtable: New file.
44517         * modules/unictype/category-byname: New file.
44518         * modules/unictype/category-none: New file.
44519         * modules/unictype/category-and: New file.
44520         * modules/unictype/category-and-not: New file.
44521         * modules/unictype/category-name: New file.
44522         * modules/unictype/combining-class: New file.
44523         * modules/unictype/category-all: New file.
44524         * modules/unictype/bidicategory-all: New file.
44525         * modules/unictype/bidicategory-byname: New file.
44526         * modules/unictype/bidicategory-name: New file.
44527         * modules/unictype/bidicategory-of: New file.
44528         * modules/unictype/bidicategory-test: New file.
44529         * modules/unictype/decimal-digit: New file.
44530         * modules/unictype/digit: New file.
44531         * modules/unictype/numeric: New file.
44532         * modules/unictype/mirror: New file.
44533         * modules/unictype/property-white-space: New file.
44534         * modules/unictype/property-alphabetic: New file.
44535         * modules/unictype/property-other-alphabetic: New file.
44536         * modules/unictype/property-not-a-character: New file.
44537         * modules/unictype/property-default-ignorable-code-point: New file.
44538         * modules/unictype/property-other-default-ignorable-code-point: New
44539         file.
44540         * modules/unictype/property-deprecated: New file.
44541         * modules/unictype/property-logical-order-exception: New file.
44542         * modules/unictype/property-variation-selector: New file.
44543         * modules/unictype/property-private-use: New file.
44544         * modules/unictype/property-unassigned-code-value: New file.
44545         * modules/unictype/property-uppercase: New file.
44546         * modules/unictype/property-other-uppercase: New file.
44547         * modules/unictype/property-lowercase: New file.
44548         * modules/unictype/property-other-lowercase: New file.
44549         * modules/unictype/property-titlecase: New file.
44550         * modules/unictype/property-soft-dotted: New file.
44551         * modules/unictype/property-id-start: New file.
44552         * modules/unictype/property-other-id-start: New file.
44553         * modules/unictype/property-id-continue: New file.
44554         * modules/unictype/property-other-id-continue: New file.
44555         * modules/unictype/property-xid-start: New file.
44556         * modules/unictype/property-xid-continue: New file.
44557         * modules/unictype/property-pattern-white-space: New file.
44558         * modules/unictype/property-pattern-syntax: New file.
44559         * modules/unictype/property-join-control: New file.
44560         * modules/unictype/property-grapheme-base: New file.
44561         * modules/unictype/property-grapheme-extend: New file.
44562         * modules/unictype/property-other-grapheme-extend: New file.
44563         * modules/unictype/property-grapheme-link: New file.
44564         * modules/unictype/property-bidi-control: New file.
44565         * modules/unictype/property-bidi-left-to-right: New file.
44566         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
44567         * modules/unictype/property-bidi-arabic-right-to-left: New file.
44568         * modules/unictype/property-bidi-european-digit: New file.
44569         * modules/unictype/property-bidi-eur-num-separator: New file.
44570         * modules/unictype/property-bidi-eur-num-terminator: New file.
44571         * modules/unictype/property-bidi-arabic-digit: New file.
44572         * modules/unictype/property-bidi-common-separator: New file.
44573         * modules/unictype/property-bidi-block-separator: New file.
44574         * modules/unictype/property-bidi-segment-separator: New file.
44575         * modules/unictype/property-bidi-whitespace: New file.
44576         * modules/unictype/property-bidi-non-spacing-mark: New file.
44577         * modules/unictype/property-bidi-boundary-neutral: New file.
44578         * modules/unictype/property-bidi-pdf: New file.
44579         * modules/unictype/property-bidi-embedding-or-override: New file.
44580         * modules/unictype/property-bidi-other-neutral: New file.
44581         * modules/unictype/property-hex-digit: New file.
44582         * modules/unictype/property-ascii-hex-digit: New file.
44583         * modules/unictype/property-ideographic: New file.
44584         * modules/unictype/property-unified-ideograph: New file.
44585         * modules/unictype/property-radical: New file.
44586         * modules/unictype/property-ids-binary-operator: New file.
44587         * modules/unictype/property-ids-trinary-operator: New file.
44588         * modules/unictype/property-zero-width: New file.
44589         * modules/unictype/property-space: New file.
44590         * modules/unictype/property-non-break: New file.
44591         * modules/unictype/property-iso-control: New file.
44592         * modules/unictype/property-format-control: New file.
44593         * modules/unictype/property-dash: New file.
44594         * modules/unictype/property-hyphen: New file.
44595         * modules/unictype/property-punctuation: New file.
44596         * modules/unictype/property-line-separator: New file.
44597         * modules/unictype/property-paragraph-separator: New file.
44598         * modules/unictype/property-quotation-mark: New file.
44599         * modules/unictype/property-sentence-terminal: New file.
44600         * modules/unictype/property-terminal-punctuation: New file.
44601         * modules/unictype/property-currency-symbol: New file.
44602         * modules/unictype/property-math: New file.
44603         * modules/unictype/property-other-math: New file.
44604         * modules/unictype/property-paired-punctuation: New file.
44605         * modules/unictype/property-left-of-pair: New file.
44606         * modules/unictype/property-combining: New file.
44607         * modules/unictype/property-composite: New file.
44608         * modules/unictype/property-decimal-digit: New file.
44609         * modules/unictype/property-numeric: New file.
44610         * modules/unictype/property-diacritic: New file.
44611         * modules/unictype/property-extender: New file.
44612         * modules/unictype/property-ignorable-control: New file.
44613         * modules/unictype/property-test: New file.
44614         * modules/unictype/property-byname: New file.
44615         * modules/unictype/property-all: New file.
44616         * modules/unictype/scripts: New file.
44617         * modules/unictype/scripts-all: New file.
44618         * modules/unictype/block-of: New file.
44619         * modules/unictype/block-test: New file.
44620         * modules/unictype/block-list: New file.
44621         * modules/unictype/block-all: New file.
44622         * modules/unictype/syntax-c-whitespace: New file.
44623         * modules/unictype/syntax-java-whitespace: New file.
44624         * modules/unictype/syntax-c-ident: New file.
44625         * modules/unictype/syntax-java-ident: New file.
44626         * modules/unictype/ctype-alnum: New file.
44627         * modules/unictype/ctype-alpha: New file.
44628         * modules/unictype/ctype-cntrl: New file.
44629         * modules/unictype/ctype-digit: New file.
44630         * modules/unictype/ctype-graph: New file.
44631         * modules/unictype/ctype-lower: New file.
44632         * modules/unictype/ctype-print: New file.
44633         * modules/unictype/ctype-punct: New file.
44634         * modules/unictype/ctype-space: New file.
44635         * modules/unictype/ctype-upper: New file.
44636         * modules/unictype/ctype-xdigit: New file.
44637         * modules/unictype/ctype-blank: New file.
44638         * lib/unictype/bidi_byname.c: New file.
44639         * lib/unictype/bidi_name.c: New file.
44640         * lib/unictype/bidi_of.c: New file.
44641         * lib/unictype/bidi_test.c: New file.
44642         * lib/unictype/bitmap.h: New file.
44643         * lib/unictype/block_test.c: New file.
44644         * lib/unictype/blocks.c: New file.
44645         * lib/unictype/categ_C.c: New file.
44646         * lib/unictype/categ_Cc.c: New file.
44647         * lib/unictype/categ_Cf.c: New file.
44648         * lib/unictype/categ_Cn.c: New file.
44649         * lib/unictype/categ_Co.c: New file.
44650         * lib/unictype/categ_Cs.c: New file.
44651         * lib/unictype/categ_L.c: New file.
44652         * lib/unictype/categ_Ll.c: New file.
44653         * lib/unictype/categ_Lm.c: New file.
44654         * lib/unictype/categ_Lo.c: New file.
44655         * lib/unictype/categ_Lt.c: New file.
44656         * lib/unictype/categ_Lu.c: New file.
44657         * lib/unictype/categ_M.c: New file.
44658         * lib/unictype/categ_Mc.c: New file.
44659         * lib/unictype/categ_Me.c: New file.
44660         * lib/unictype/categ_Mn.c: New file.
44661         * lib/unictype/categ_N.c: New file.
44662         * lib/unictype/categ_Nd.c: New file.
44663         * lib/unictype/categ_Nl.c: New file.
44664         * lib/unictype/categ_No.c: New file.
44665         * lib/unictype/categ_P.c: New file.
44666         * lib/unictype/categ_Pc.c: New file.
44667         * lib/unictype/categ_Pd.c: New file.
44668         * lib/unictype/categ_Pe.c: New file.
44669         * lib/unictype/categ_Pf.c: New file.
44670         * lib/unictype/categ_Pi.c: New file.
44671         * lib/unictype/categ_Po.c: New file.
44672         * lib/unictype/categ_Ps.c: New file.
44673         * lib/unictype/categ_S.c: New file.
44674         * lib/unictype/categ_Sc.c: New file.
44675         * lib/unictype/categ_Sk.c: New file.
44676         * lib/unictype/categ_Sm.c: New file.
44677         * lib/unictype/categ_So.c: New file.
44678         * lib/unictype/categ_Z.c: New file.
44679         * lib/unictype/categ_Zl.c: New file.
44680         * lib/unictype/categ_Zp.c: New file.
44681         * lib/unictype/categ_Zs.c: New file.
44682         * lib/unictype/categ_and.c: New file.
44683         * lib/unictype/categ_and_not.c: New file.
44684         * lib/unictype/categ_byname.c: New file.
44685         * lib/unictype/categ_name.c: New file.
44686         * lib/unictype/categ_none.c: New file.
44687         * lib/unictype/categ_of.c: New file.
44688         * lib/unictype/categ_or.c: New file.
44689         * lib/unictype/categ_test.c: New file.
44690         * lib/unictype/combining.c: New file.
44691         * lib/unictype/ctype_alnum.c: New file.
44692         * lib/unictype/ctype_alpha.c: New file.
44693         * lib/unictype/ctype_blank.c: New file.
44694         * lib/unictype/ctype_cntrl.c: New file.
44695         * lib/unictype/ctype_digit.c: New file.
44696         * lib/unictype/ctype_graph.c: New file.
44697         * lib/unictype/ctype_lower.c: New file.
44698         * lib/unictype/ctype_print.c: New file.
44699         * lib/unictype/ctype_punct.c: New file.
44700         * lib/unictype/ctype_space.c: New file.
44701         * lib/unictype/ctype_upper.c: New file.
44702         * lib/unictype/ctype_xdigit.c: New file.
44703         * lib/unictype/decdigit.c: New file.
44704         * lib/unictype/digit.c: New file.
44705         * lib/unictype/identsyntaxmap.h: New file.
44706         * lib/unictype/mirror.c: New file.
44707         * lib/unictype/numeric.c: New file.
44708         * lib/unictype/pr_alphabetic.c: New file.
44709         * lib/unictype/pr_ascii_hex_digit.c: New file.
44710         * lib/unictype/pr_bidi_arabic_digit.c: New file.
44711         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
44712         * lib/unictype/pr_bidi_block_separator.c: New file.
44713         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
44714         * lib/unictype/pr_bidi_common_separator.c: New file.
44715         * lib/unictype/pr_bidi_control.c: New file.
44716         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
44717         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
44718         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
44719         * lib/unictype/pr_bidi_european_digit.c: New file.
44720         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
44721         * lib/unictype/pr_bidi_left_to_right.c: New file.
44722         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
44723         * lib/unictype/pr_bidi_other_neutral.c: New file.
44724         * lib/unictype/pr_bidi_pdf.c: New file.
44725         * lib/unictype/pr_bidi_segment_separator.c: New file.
44726         * lib/unictype/pr_bidi_whitespace.c: New file.
44727         * lib/unictype/pr_byname.c: New file.
44728         * lib/unictype/pr_byname.gperf: New file.
44729         * lib/unictype/pr_combining.c: New file.
44730         * lib/unictype/pr_composite.c: New file.
44731         * lib/unictype/pr_currency_symbol.c: New file.
44732         * lib/unictype/pr_dash.c: New file.
44733         * lib/unictype/pr_decimal_digit.c: New file.
44734         * lib/unictype/pr_default_ignorable_code_point.c: New file.
44735         * lib/unictype/pr_deprecated.c: New file.
44736         * lib/unictype/pr_diacritic.c: New file.
44737         * lib/unictype/pr_extender.c: New file.
44738         * lib/unictype/pr_format_control.c: New file.
44739         * lib/unictype/pr_grapheme_base.c: New file.
44740         * lib/unictype/pr_grapheme_extend.c: New file.
44741         * lib/unictype/pr_grapheme_link.c: New file.
44742         * lib/unictype/pr_hex_digit.c: New file.
44743         * lib/unictype/pr_hyphen.c: New file.
44744         * lib/unictype/pr_id_continue.c: New file.
44745         * lib/unictype/pr_id_start.c: New file.
44746         * lib/unictype/pr_ideographic.c: New file.
44747         * lib/unictype/pr_ids_binary_operator.c: New file.
44748         * lib/unictype/pr_ids_trinary_operator.c: New file.
44749         * lib/unictype/pr_ignorable_control.c: New file.
44750         * lib/unictype/pr_iso_control.c: New file.
44751         * lib/unictype/pr_join_control.c: New file.
44752         * lib/unictype/pr_left_of_pair.c: New file.
44753         * lib/unictype/pr_line_separator.c: New file.
44754         * lib/unictype/pr_logical_order_exception.c: New file.
44755         * lib/unictype/pr_lowercase.c: New file.
44756         * lib/unictype/pr_math.c: New file.
44757         * lib/unictype/pr_non_break.c: New file.
44758         * lib/unictype/pr_not_a_character.c: New file.
44759         * lib/unictype/pr_numeric.c: New file.
44760         * lib/unictype/pr_other_alphabetic.c: New file.
44761         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
44762         * lib/unictype/pr_other_grapheme_extend.c: New file.
44763         * lib/unictype/pr_other_id_continue.c: New file.
44764         * lib/unictype/pr_other_id_start.c: New file.
44765         * lib/unictype/pr_other_lowercase.c: New file.
44766         * lib/unictype/pr_other_math.c: New file.
44767         * lib/unictype/pr_other_uppercase.c: New file.
44768         * lib/unictype/pr_paired_punctuation.c: New file.
44769         * lib/unictype/pr_paragraph_separator.c: New file.
44770         * lib/unictype/pr_pattern_syntax.c: New file.
44771         * lib/unictype/pr_pattern_white_space.c: New file.
44772         * lib/unictype/pr_private_use.c: New file.
44773         * lib/unictype/pr_punctuation.c: New file.
44774         * lib/unictype/pr_quotation_mark.c: New file.
44775         * lib/unictype/pr_radical.c: New file.
44776         * lib/unictype/pr_sentence_terminal.c: New file.
44777         * lib/unictype/pr_soft_dotted.c: New file.
44778         * lib/unictype/pr_space.c: New file.
44779         * lib/unictype/pr_terminal_punctuation.c: New file.
44780         * lib/unictype/pr_test.c: New file.
44781         * lib/unictype/pr_titlecase.c: New file.
44782         * lib/unictype/pr_unassigned_code_value.c: New file.
44783         * lib/unictype/pr_unified_ideograph.c: New file.
44784         * lib/unictype/pr_uppercase.c: New file.
44785         * lib/unictype/pr_variation_selector.c: New file.
44786         * lib/unictype/pr_white_space.c: New file.
44787         * lib/unictype/pr_xid_continue.c: New file.
44788         * lib/unictype/pr_xid_start.c: New file.
44789         * lib/unictype/pr_zero_width.c: New file.
44790         * lib/unictype/scripts.c: New file.
44791         * lib/unictype/sy_c_ident.c: New file.
44792         * lib/unictype/sy_c_whitespace.c: New file.
44793         * lib/unictype/sy_java_ident.c: New file.
44794         * lib/unictype/sy_java_whitespace.c: New file.
44795
44796         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
44797         Unicode 5.0.0.
44798         * lib/unictype/blocks.h: Likewise.
44799         * lib/unictype/categ_C.h: Likewise.
44800         * lib/unictype/categ_Cc.h: Likewise.
44801         * lib/unictype/categ_Cf.h: Likewise.
44802         * lib/unictype/categ_Cn.h: Likewise.
44803         * lib/unictype/categ_Co.h: Likewise.
44804         * lib/unictype/categ_Cs.h: Likewise.
44805         * lib/unictype/categ_L.h: Likewise.
44806         * lib/unictype/categ_Ll.h: Likewise.
44807         * lib/unictype/categ_Lm.h: Likewise.
44808         * lib/unictype/categ_Lo.h: Likewise.
44809         * lib/unictype/categ_Lt.h: Likewise.
44810         * lib/unictype/categ_Lu.h: Likewise.
44811         * lib/unictype/categ_M.h: Likewise.
44812         * lib/unictype/categ_Mc.h: Likewise.
44813         * lib/unictype/categ_Me.h: Likewise.
44814         * lib/unictype/categ_Mn.h: Likewise.
44815         * lib/unictype/categ_N.h: Likewise.
44816         * lib/unictype/categ_Nd.h: Likewise.
44817         * lib/unictype/categ_Nl.h: Likewise.
44818         * lib/unictype/categ_No.h: Likewise.
44819         * lib/unictype/categ_P.h: Likewise.
44820         * lib/unictype/categ_Pc.h: Likewise.
44821         * lib/unictype/categ_Pd.h: Likewise.
44822         * lib/unictype/categ_Pe.h: Likewise.
44823         * lib/unictype/categ_Pf.h: Likewise.
44824         * lib/unictype/categ_Pi.h: Likewise.
44825         * lib/unictype/categ_Po.h: Likewise.
44826         * lib/unictype/categ_Ps.h: Likewise.
44827         * lib/unictype/categ_S.h: Likewise.
44828         * lib/unictype/categ_Sc.h: Likewise.
44829         * lib/unictype/categ_Sk.h: Likewise.
44830         * lib/unictype/categ_Sm.h: Likewise.
44831         * lib/unictype/categ_So.h: Likewise.
44832         * lib/unictype/categ_Z.h: Likewise.
44833         * lib/unictype/categ_Zl.h: Likewise.
44834         * lib/unictype/categ_Zp.h: Likewise.
44835         * lib/unictype/categ_Zs.h: Likewise.
44836         * lib/unictype/categ_of.h: Likewise.
44837         * lib/unictype/combining.h: Likewise.
44838         * lib/unictype/ctype_alnum.h: Likewise.
44839         * lib/unictype/ctype_alpha.h: Likewise.
44840         * lib/unictype/ctype_blank.h: Likewise.
44841         * lib/unictype/ctype_cntrl.h: Likewise.
44842         * lib/unictype/ctype_digit.h: Likewise.
44843         * lib/unictype/ctype_graph.h: Likewise.
44844         * lib/unictype/ctype_lower.h: Likewise.
44845         * lib/unictype/ctype_print.h: Likewise.
44846         * lib/unictype/ctype_punct.h: Likewise.
44847         * lib/unictype/ctype_space.h: Likewise.
44848         * lib/unictype/ctype_upper.h: Likewise.
44849         * lib/unictype/ctype_xdigit.h: Likewise.
44850         * lib/unictype/decdigit.h: Likewise.
44851         * lib/unictype/digit.h: Likewise.
44852         * lib/unictype/mirror.h: Likewise.
44853         * lib/unictype/numeric.h: Likewise.
44854         * lib/unictype/pr_alphabetic.h: Likewise.
44855         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44856         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44857         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44858         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44859         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44860         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44861         * lib/unictype/pr_bidi_control.h: Likewise.
44862         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44863         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44864         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44865         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44866         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44867         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44868         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44869         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44870         * lib/unictype/pr_bidi_pdf.h: Likewise.
44871         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44872         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44873         * lib/unictype/pr_combining.h: Likewise.
44874         * lib/unictype/pr_composite.h: Likewise.
44875         * lib/unictype/pr_currency_symbol.h: Likewise.
44876         * lib/unictype/pr_dash.h: Likewise.
44877         * lib/unictype/pr_decimal_digit.h: Likewise.
44878         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44879         * lib/unictype/pr_deprecated.h: Likewise.
44880         * lib/unictype/pr_diacritic.h: Likewise.
44881         * lib/unictype/pr_extender.h: Likewise.
44882         * lib/unictype/pr_format_control.h: Likewise.
44883         * lib/unictype/pr_grapheme_base.h: Likewise.
44884         * lib/unictype/pr_grapheme_extend.h: Likewise.
44885         * lib/unictype/pr_grapheme_link.h: Likewise.
44886         * lib/unictype/pr_hex_digit.h: Likewise.
44887         * lib/unictype/pr_hyphen.h: Likewise.
44888         * lib/unictype/pr_id_continue.h: Likewise.
44889         * lib/unictype/pr_id_start.h: Likewise.
44890         * lib/unictype/pr_ideographic.h: Likewise.
44891         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44892         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44893         * lib/unictype/pr_ignorable_control.h: Likewise.
44894         * lib/unictype/pr_iso_control.h: Likewise.
44895         * lib/unictype/pr_join_control.h: Likewise.
44896         * lib/unictype/pr_left_of_pair.h: Likewise.
44897         * lib/unictype/pr_line_separator.h: Likewise.
44898         * lib/unictype/pr_logical_order_exception.h: Likewise.
44899         * lib/unictype/pr_lowercase.h: Likewise.
44900         * lib/unictype/pr_math.h: Likewise.
44901         * lib/unictype/pr_non_break.h: Likewise.
44902         * lib/unictype/pr_not_a_character.h: Likewise.
44903         * lib/unictype/pr_numeric.h: Likewise.
44904         * lib/unictype/pr_other_alphabetic.h: Likewise.
44905         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44906         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44907         * lib/unictype/pr_other_id_continue.h: Likewise.
44908         * lib/unictype/pr_other_id_start.h: Likewise.
44909         * lib/unictype/pr_other_lowercase.h: Likewise.
44910         * lib/unictype/pr_other_math.h: Likewise.
44911         * lib/unictype/pr_other_uppercase.h: Likewise.
44912         * lib/unictype/pr_paired_punctuation.h: Likewise.
44913         * lib/unictype/pr_paragraph_separator.h: Likewise.
44914         * lib/unictype/pr_pattern_syntax.h: Likewise.
44915         * lib/unictype/pr_pattern_white_space.h: Likewise.
44916         * lib/unictype/pr_private_use.h: Likewise.
44917         * lib/unictype/pr_punctuation.h: Likewise.
44918         * lib/unictype/pr_quotation_mark.h: Likewise.
44919         * lib/unictype/pr_radical.h: Likewise.
44920         * lib/unictype/pr_sentence_terminal.h: Likewise.
44921         * lib/unictype/pr_soft_dotted.h: Likewise.
44922         * lib/unictype/pr_space.h: Likewise.
44923         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44924         * lib/unictype/pr_titlecase.h: Likewise.
44925         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44926         * lib/unictype/pr_unified_ideograph.h: Likewise.
44927         * lib/unictype/pr_uppercase.h: Likewise.
44928         * lib/unictype/pr_variation_selector.h: Likewise.
44929         * lib/unictype/pr_white_space.h: Likewise.
44930         * lib/unictype/pr_xid_continue.h: Likewise.
44931         * lib/unictype/pr_xid_start.h: Likewise.
44932         * lib/unictype/pr_zero_width.h: Likewise.
44933         * lib/unictype/scripts.h: Likewise.
44934         * lib/unictype/scripts_byname.gperf: Likewise.
44935         * lib/unictype/sy_c_ident.h: Likewise.
44936         * lib/unictype/sy_c_whitespace.h: Likewise.
44937         * lib/unictype/sy_java_ident.h: Likewise.
44938         * lib/unictype/sy_java_whitespace.h: Likewise.
44939
44940         * lib/unictype/Makefile: New file.
44941         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
44942         glibc.
44943         * lib/unictype/3level.h: New file, copied from glibc.
44944         * lib/unictype/3levelbit.h: New file.
44945
44946 2007-11-11  Bruno Haible  <bruno@clisp.org>
44947
44948         * modules/gperf: New file.
44949         * modules/iconv_open (Depends-on): Add it.
44950         (Makefile.am): Remove the GPERF definition.
44951
44952 2007-11-11  Bruno Haible  <bruno@clisp.org>
44953
44954         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
44955         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
44956
44957 2007-11-11  Bruno Haible  <bruno@clisp.org>
44958
44959         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
44960         (usage): Remove function.
44961
44962 2007-11-11  Bruno Haible  <bruno@clisp.org>
44963
44964         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
44965         gl_FUNC_CEILF_LIBS.
44966         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
44967         gl_FUNC_CEIL_LIBS.
44968         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
44969         gl_FUNC_CEILL_LIBS.
44970         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
44971         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
44972         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
44973
44974 2007-11-11  Bruno Haible  <bruno@clisp.org>
44975
44976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
44977         roundf were declared but do not exist on functions.
44978         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
44979         roundl were declared but do not exist on functions.
44980         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
44981         HAVE_FLOORL_AND_CEILL, respectively.
44982         Needed for Sun C on Solaris 10.
44983
44984 2007-11-11  Bruno Haible  <bruno@clisp.org>
44985
44986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
44987         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
44988         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
44989         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
44990         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
44991         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
44992         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
44993         HAVE_DECL_ROUNDF.
44994         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
44995         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
44996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
44997         of HAVE_DECL_ROUND*.
44998         * modules/math (Makefile.am): Update.
44999
45000 2007-11-10  Bruno Haible  <bruno@clisp.org>
45001
45002         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
45003         ptrdiff_t as m4/intl.m4.
45004
45005 2007-11-10  Jim Meyering  <meyering@redhat.com>
45006
45007         Avoid link failure for the argmatch test.
45008         * tests/test-argmatch.c (usage): Define function to avoid a link
45009         failure: argmatch_die requires a usage function.
45010
45011 2007-11-09  Bruno Haible  <bruno@clisp.org>
45012
45013         * doc/functions/snprintf.texi: Mention BeOS deficiency.
45014         * doc/functions/vsnprintf.texi: Likewise.
45015         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
45016         with a size argument < 2.
45017
45018 2007-11-09  Bruno Haible  <bruno@clisp.org>
45019
45020         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
45021         buffer. Fixes an inefficiency introduced on 2007-11-03.
45022
45023 2007-11-09  Bruno Haible  <bruno@clisp.org>
45024
45025         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
45026         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
45027
45028 2007-11-08  Jim Meyering  <meyering@redhat.com>
45029
45030         Change cache variable name prefix "jm_" to "gl_" everywhere.
45031         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
45032         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
45033         * m4/uptime.m4: s/gl_/jm_/
45034
45035 2007-11-07  Bruno Haible  <bruno@clisp.org>
45036
45037         Update to GNU gettext 0.17.
45038         * m4/intl.m4: Update to GNU gettext 0.17.
45039         * m4/po.m4: Likewise.
45040         * modules/gettext (Files): Remove m4/ulonglong.m4.
45041         (configure.ac): Require gettext infrastructure from version 0.17.
45042
45043 2007-11-06  Bruno Haible  <bruno@clisp.org>
45044
45045         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
45046         symbolic values are not defined in a public header.
45047         * lib/freadable.c (freadable) [QNX]: Likewise.
45048         * lib/freadahead.c (freadahead) [QNX]: Likewise.
45049         * lib/freading.c (freading) [QNX]: Likewise.
45050         * lib/fseterr.c (fseterr) [QNX]: Likewise.
45051         * lib/fwritable.c (fwritable) [QNX]: Likewise.
45052         * lib/fwriting.c (fwriting) [QNX]: Likewise.
45053         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
45054         Reported by Alain Magloire.
45055
45056         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
45057
45058 2007-11-05  Bruno Haible  <bruno@clisp.org>
45059
45060         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
45061         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
45062         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
45063         Reported by Eric Blake.
45064
45065 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45066             Bruno Haible  <bruno@clisp.org>
45067
45068         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
45069         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
45070         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
45071         (malloc): Undefine also before including <stdlib.h>.
45072         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
45073         Needed on OSF/1 4.0.
45074
45075 2007-11-05  Jim Meyering  <meyering@redhat.com>
45076
45077         git-version-gen: sync from coreutils.
45078         * build-aux/git-version-gen: Add comments.
45079         Change the first '-' to '.' in the snapshot version string,
45080         e.g., 6.9-377-08144 -> 6.9.377-08144
45081         Remove first parameter.
45082         Don't declare a version "-dirty" merely because a time
45083         stamp has changed.
45084
45085 2007-11-04  Bruno Haible  <bruno@clisp.org>
45086
45087         * lib/lock.h: Protect all macro definitions containing an 'if'
45088         statement through a "do { ... } while (0)".
45089         * lib/tls.h: Likewise.
45090
45091 2007-11-04  Bruno Haible  <bruno@clisp.org>
45092
45093         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
45094
45095 2007-11-04  Bruno Haible  <bruno@clisp.org>
45096
45097         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
45098         * modules/fprintf-posix (Depends-on): Add nocrash.
45099         * modules/snprintf-posix (Depends-on): Likewise.
45100         * modules/sprintf-posix (Depends-on): Likewise.
45101         * modules/vasnprintf-posix (Depends-on): Likewise.
45102         * modules/vasprintf-posix (Depends-on): Likewise.
45103         * modules/vfprintf-posix (Depends-on): Likewise.
45104         * modules/vsnprintf-posix (Depends-on): Likewise.
45105         * modules/vsprintf-posix (Depends-on): Likewise.
45106         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45107         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45108         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45109         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45110         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45111         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45112         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45113
45114 2007-11-04  Bruno Haible  <bruno@clisp.org>
45115
45116         * modules/nocrash: New file.
45117         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
45118         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
45119
45120 2007-11-04  Bruno Haible  <bruno@clisp.org>
45121
45122         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
45123         precision handling.
45124         * tests/test-vasprintf-posix.c (test_function): Likewise.
45125         * tests/test-snprintf-posix.h (test_function): Likewise.
45126         * tests/test-sprintf-posix.h (test_function): Likewise.
45127
45128         Fix *printf behaviour for large precisions on mingw and BeOS.
45129         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
45130         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
45131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
45132         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45133         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45134         gl_PRINTF_PRECISION and test its result. Invoke
45135         gl_PREREQ_VASNPRINTF_PRECISION.
45136         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45137         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45138         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45139         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45140         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45141         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45142         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45143         * doc/functions/fprintf.texi: Update.
45144         * doc/functions/printf.texi: Update.
45145         * doc/functions/snprintf.texi: Update.
45146         * doc/functions/sprintf.texi: Update.
45147         * doc/functions/vfprintf.texi: Update.
45148         * doc/functions/vprintf.texi: Update.
45149         * doc/functions/vsnprintf.texi: Update.
45150         * doc/functions/vsprintf.texi: Update.
45151
45152 2007-11-04  Bruno Haible  <bruno@clisp.org>
45153
45154         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
45155
45156 2007-11-04  Bruno Haible  <bruno@clisp.org>
45157
45158         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
45159         Reported by Sylvain Beucler <beuc@gnu.org>.
45160
45161 2007-11-03  Bruno Haible  <bruno@clisp.org>
45162
45163         * tests/test-fprintf-posix2.sh: New file.
45164         * tests/test-fprintf-posix2.c: New file.
45165         * modules/fprintf-posix-tests (Files): Add them.
45166         (TESTS): Add test-fprintf-posix2.sh.
45167         (configure.ac): Check for getrlimit and setrlimit.
45168         (check_PROGRAMS): Add test-fprintf-posix2.
45169
45170         * tests/test-printf-posix2.sh: New file.
45171         * tests/test-printf-posix2.c: New file.
45172         * modules/printf-posix-tests (Files): Add them.
45173         (TESTS): Add test-printf-posix2.sh.
45174         (configure.ac): Check for getrlimit and setrlimit.
45175         (check_PROGRAMS): Add test-printf-posix2.
45176
45177         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
45178         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
45179         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
45180         (decode_double): New function, copied from decode_long_double.
45181         (scale10_round_decimal_decoded): New function, extracted from
45182         scale10_round_decimal_long_double.
45183         (scale10_round_decimal_long_double): Use it.
45184         (scale10_round_decimal_double): New function.
45185         (floorlog10): New function.
45186         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
45187         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
45188         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45189         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45190         gl_PRINTF_ENOMEM and test its result. Invoke
45191         gl_PREREQ_VASNPRINTF_ENOMEM.
45192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45193         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45194         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45195         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45196         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45197         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45198         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45199         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
45200         * modules/snprintf-posix (Depends-on): Likewise.
45201         * modules/sprintf-posix (Depends-on): Likewise.
45202         * modules/vasnprintf-posix (Depends-on): Likewise.
45203         * modules/vasprintf-posix (Depends-on): Likewise.
45204         * modules/vfprintf-posix (Depends-on): Likewise.
45205         * modules/vsnprintf-posix (Depends-on): Likewise.
45206         * modules/vsprintf-posix (Depends-on): Likewise.
45207         * doc/functions/fprintf.texi: Update.
45208         * doc/functions/printf.texi: Update.
45209         * doc/functions/snprintf.texi: Update.
45210         * doc/functions/sprintf.texi: Update.
45211         * doc/functions/vfprintf.texi: Update.
45212         * doc/functions/vprintf.texi: Update.
45213         * doc/functions/vsnprintf.texi: Update.
45214         * doc/functions/vsprintf.texi: Update.
45215
45216 2007-11-03  Bruno Haible  <bruno@clisp.org>
45217
45218         * modules/frexp-nolibm-tests: New file.
45219
45220         * modules/frexp-nolibm: New file.
45221         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
45222
45223 2007-11-03  Bruno Haible  <bruno@clisp.org>
45224
45225         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
45226         value is C99 compliant.
45227         Needed for OSF/1 5.1.
45228
45229 2007-11-03  Bruno Haible  <bruno@clisp.org>
45230
45231         Fix out-of-memory handling of vasnprintf.
45232         * lib/printf-parse.c: Include <errno.h>.
45233         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
45234         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
45235         is already set.
45236
45237 2007-11-02  Eric Blake  <ebb9@byu.net>
45238
45239         Fix tests on cygwin.
45240         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
45241
45242 2007-11-01  Bruno Haible  <bruno@clisp.org>
45243
45244         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
45245         warning.
45246         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
45247         needed for POSIX compatibility.
45248
45249 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45250
45251         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
45252         for compatibility with GNU.
45253
45254 2007-11-01  Bruno Haible  <bruno@clisp.org>
45255
45256         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
45257         (putenv): Renamed from rpl_putenv. Change argument type from
45258         'const char *' to 'char *'.
45259         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
45260         of defining putenv in config.h, just set REPLACE_PUTENV.
45261         * modules/putenv (Depends-on): Add stdlib.
45262         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45263         (Include): Use <stdlib.h>.
45264         * lib/stdlib.in.h (putenv): New declaration.
45265         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
45266         REPLACE_PUTENV.
45267         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
45268         REPLACE_PUTENV.
45269         Needed for MacOS X 10.5.0.
45270         Reported by Peter O'Gorman <peter@pogma.com>.
45271
45272 2007-11-01  Jim Meyering  <meyering@redhat.com>
45273
45274         Treat an empty date string exactly like "0".
45275         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
45276         if the remaining date string (to be parsed) is empty, use "0".
45277         Reported by Mischa Molhoek and discussed in this thread:
45278         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
45279
45280 2007-10-31  Bruno Haible  <bruno@clisp.org>
45281
45282         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
45283         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
45284         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
45285         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
45286         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
45287         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
45288
45289 2007-10-31  Bruno Haible  <bruno@clisp.org>
45290
45291         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
45292         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
45293         (AC_TYPE_LONG_LONG_INT): Use it.
45294         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
45295         it as well.
45296         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
45297         to m4/longlong.m4.
45298         * modules/stdint (Files): Remove m4/ulonglong.m4.
45299         * modules/strtoull (Files): Use m4/longlong.m4 instead of
45300         m4/ulonglong.m4.
45301         * modules/strtoumax (Files): Likewise.
45302
45303 2007-10-30  Bruno Haible  <bruno@clisp.org>
45304
45305         * modules/xvasprintf-posix: New file.
45306         Suggested by Eric Blake.
45307
45308 2007-10-30  Bruno Haible  <bruno@clisp.org>
45309
45310         * modules/xprintf-posix-tests: New file.
45311         * tests/test-xprintf-posix.sh: New file.
45312         * tests/test-xprintf-posix.c: New file.
45313         * tests/test-xfprintf-posix.c: New file.
45314
45315         * modules/xprintf-posix: New file.
45316
45317 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45318
45319         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
45320         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
45321         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
45322
45323 2007-10-29  Bruno Haible  <bruno@clisp.org>
45324
45325         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
45326         contain the special marker '_cv_'.
45327         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45328         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45329         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45330         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
45331         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45332         Reported by Ralf Wildenhues.
45333
45334 2007-10-29  Bruno Haible  <bruno@clisp.org>
45335
45336         * gnulib-tool (func_import): When --lgpl is not specified, set
45337         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
45338         GPLv3.
45339         Reported by Simon Josefsson.
45340
45341 2007-10-28  Bruno Haible  <bruno@clisp.org>
45342
45343         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
45344         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
45345         HAVE_DECL_ISFINITE.
45346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45347         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
45348         HAVE_DECL_ISFINITE.
45349
45350 2007-10-28  Bruno Haible  <bruno@clisp.org>
45351
45352         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
45353         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
45354
45355 2007-10-28  Bruno Haible  <bruno@clisp.org>
45356
45357         Fix link errors with Sun C 5.0 on Solaris 10.
45358         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
45359         function is declared but not present in the compiler's libm.
45360         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
45361         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45362         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
45363         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
45364         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
45365         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
45366         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
45367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45368         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
45369         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
45370         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
45371         HAVE_DECL_FLOORL.
45372
45373 2007-10-28  Bruno Haible  <bruno@clisp.org>
45374
45375         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
45376         gl_FUNC_FLOORL. Cache the result.
45377         (gl_FUNC_FLOORL): Use it.
45378         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
45379         gl_FUNC_CEILL. Cache the result.
45380         (gl_FUNC_CEILL): Use it.
45381
45382         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
45383         gl_FUNC_FLOOR. Cache the result.
45384         (gl_FUNC_FLOOR): Use it.
45385         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
45386         gl_FUNC_CEIL. Cache the result.
45387         (gl_FUNC_CEIL): Use it.
45388
45389         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
45390         gl_FUNC_FLOORF. Cache the result.
45391         (gl_FUNC_FLOORF): Use it.
45392         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
45393         gl_FUNC_CEILF. Cache the result.
45394         (gl_FUNC_CEILF): Use it.
45395
45396 2007-10-28  Bruno Haible  <bruno@clisp.org>
45397
45398         * gnulib-tool: Allow specifying the LGPL version number through
45399         --lgpl=2 or --lgpl=3.
45400         (func_usage): Document --lgpl with argument.
45401         Handle --lgpl=... arguments.
45402         (func_import): Recognize also gl_LGPL calls with an argument. When
45403         --lgpl=2 is used and the module's license is just LGPL, report an
45404         error. Set sed_transform_lib_file according to the lgpl variable. In
45405         the generated files, use --lgpl or gl_LGPL invocations with argument,
45406         if necessary.
45407         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
45408         an LGPv2+ license.
45409         * doc/gnulib-tool.texi (Modified imports): Update explanation of
45410         gl_LGPL macro.
45411
45412 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45413             Bruno Haible  <bruno@clisp.org>
45414
45415         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
45416         (u16_uctomb_aux): Likewise.
45417         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
45418         !HAVE_INLINE.
45419         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
45420
45421 2007-10-28  Bruno Haible  <bruno@clisp.org>
45422
45423         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
45424         Invoke AM_GETTEXT_OPTION if it exists.
45425         * modules/vasprintf: Likewise.
45426         * modules/verror: Likewise.
45427         * modules/xprintf: Likewise.
45428         * modules/xvasprintf: Likewise.
45429
45430 2007-10-27  Ben Pfaff  <blp@gnu.org>
45431
45432         * lib/math.in.h: Define isfinite macro and prototypes for
45433         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
45434         implementations.
45435         * m4/math_h.m4: New substitutions for isfinite module.
45436         * lib/isfinite.c: New file.
45437         * m4/isfinite.m4: New file.
45438         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
45439         * modules/isfinite: New file.
45440         * modules/isfinite-tests: New file.
45441         * tests/tests-isfinite.c: New file.
45442         * doc/functions/isfinite.texi: Mention isfinite module.
45443         * MODULES.html.sh: Mention new module.
45444
45445 2007-10-27  Ben Pfaff  <blp@gnu.org>
45446
45447         Ralf Wildenhues reported that Tru64 4.0D declares the round
45448         functions but does not have definitions.
45449         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
45450         cannot be found in any library, set the output variable to
45451         "missing" instead of "".
45452         * m4/round.m4: Also use our substitute if we cannot find round in
45453         any library, even if it is declared.
45454         * m4/roundf.m4: Likewise for roundf.
45455         * m4/roundl.m4: Likewise for roundl.
45456         * lib/math.in.h: Undefine roundf, round, roundl before defining
45457         their replacements, to allow for hypothetical systems where these
45458         may be defined as macros but not available in libraries.
45459
45460 2007-10-27  Bruno Haible  <bruno@clisp.org>
45461
45462         * doc/gnulib.texi: Invoke @firstparagraphindent.
45463         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
45464         changes in gnulib.
45465         (Source changes): New section.
45466
45467 2007-10-26  Bruno Haible  <bruno@clisp.org>
45468
45469         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
45470         borrowed from autoconf.
45471
45472 2007-10-26  Bruno Haible  <bruno@clisp.org>
45473
45474         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
45475         strerror returned the empty string. Needed on HP-UX 11.00.
45476
45477 2007-10-24  Micah Cowan  <micah@cowan.name>
45478
45479         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
45480         * build-aux/bootstrap: Remove support for now-unnecessary option,
45481         --cvs-user, and envvars CVS_USER, CVS_RSH.
45482
45483 2007-10-24  Jim Meyering  <meyering@redhat.com>
45484
45485         Avoid diagnostics from sha1sum when there is no cached checksum.
45486         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
45487         if the po.s1 file hasn't been created yet.
45488
45489         * build-aux/bootstrap: Sync from coreutils:
45490         2007-10-24  Jim Meyering  <meyering@redhat.com>
45491         Get gnulib from the git repository, not from an obsolete cvs one.
45492         * build-aux/bootstrap: Suggestion from Micah Cowan.
45493         2007-10-04  Jim Meyering  <jim@meyering.net>
45494         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
45495         (update_po_files): Work also when there are no .po files in po/.
45496
45497 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45498
45499         * README: Append ".git" to git and cg examples.
45500         Problem reported by Benoit Sigoure.
45501
45502 2007-10-23  Micah Cowan  <micah@cowan.name>
45503
45504         * users.txt: Add wget.
45505
45506 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45507
45508         Fix linking of some unistdio tests on FreeBSD.
45509         * modules/unistdio/u16-vsnprintf-tests
45510         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
45511         * modules/unistdio/u16-vsprintf-tests
45512         (test_u16_vsnprintf1_LDADD): Likewise.
45513         * modules/unistdio/u32-vsnprintf-tests
45514         (test_u32_vsnprintf1_LDADD): Likewise.
45515         * modules/unistdio/u32-vsprintf-tests
45516         (test_u32_vsprintf1_LDADD): Likewise.
45517         * modules/unistdio/u8-vsnprintf-tests
45518         (test_u8_vsnprintf1_LDADD): Likewise.
45519         * modules/unistdio/u8-vsprintf-tests
45520         (test_u8_vsprintf1_LDADD): Likewise.
45521         * modules/unistdio/ulc-vsnprintf-tests
45522         (test_ulc_vsnprintf1_LDADD): Likewise.
45523         * modules/unistdio/ulc-vsprintf-tests
45524         (test_ulc_vsprintf1_LDADD): Likewise.
45525
45526         Fix linking of some uniconv tests on FreeBSD.
45527         * modules/uniconv/u16-conv-from-enc-tests
45528         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
45529         * modules/uniconv/u16-conv-to-enc-tests
45530         (test_u16_conv_to_enc_LDADD): Likewise.
45531         * modules/uniconv/u16-strconv-from-enc-tests
45532         (test_u16_strconv_from_enc_LDADD): Likewise.
45533         * modules/uniconv/u16-strconv-to-enc-tests
45534         (test_u16_strconv_to_enc_LDADD): Likewise.
45535         * modules/uniconv/u32-conv-from-enc-tests
45536         (test_u32_conv_from_enc_LDADD): Likewise.
45537         * modules/uniconv/u32-conv-to-enc-tests
45538         (test_u32_conv_to_enc_LDADD): Likewise.
45539         * modules/uniconv/u32-strconv-from-enc-tests
45540         (test_u32_strconv_from_enc_LDADD): Likewise.
45541         * modules/uniconv/u32-strconv-to-enc-tests
45542         (test_u32_strconv_to_enc_LDADD): Likewise.
45543         * modules/uniconv/u8-conv-from-enc-tests
45544         (test_u8_conv_from_enc_LDADD): Likewise.
45545         * modules/uniconv/u8-conv-to-enc-tests
45546         (test_u8_conv_to_enc_LDADD): Likewise.
45547         * modules/uniconv/u8-strconv-from-enc-tests
45548         (test_u8_strconv_from_enc_LDADD): Likewise.
45549         * modules/uniconv/u8-strconv-to-enc-tests
45550         (test_u8_strconv_to_enc_LDADD): Likewise.
45551
45552 2007-10-22  Bruno Haible  <bruno@clisp.org>
45553
45554         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
45555         size.
45556
45557 2007-10-22  Eric Blake  <ebb9@byu.net>
45558
45559         Tweak x*printf documentation.
45560         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
45561         variable name and comments.
45562         Suggested by Bruno Haible.
45563
45564 2007-10-22  Bruno Haible  <bruno@clisp.org>
45565
45566         * lib/acl.c (copy_acl): Fix file name in comment.
45567
45568 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45569
45570         Fix Tru64 problem with stdbool.h.
45571         * lib/stdbool.in.h (false, true):
45572         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
45573         Don't declare as an enum in this situation; it runs afoul of Tru64.
45574         Problem reported by Steven M. Schweda in
45575         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
45576
45577 2007-10-22  Eric Blake  <ebb9@byu.net>
45578
45579         Also wrap vf?printf.
45580         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
45581         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
45582         (xvprintf, xvfprintf): New functions.
45583
45584 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45585
45586         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
45587         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
45588
45589         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
45590         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
45591
45592 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45593
45594         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
45595         by Bruno Haible.
45596
45597 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45598
45599         * lib/getloadavg.c
45600         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45601         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45602
45603         * tests/test-i-ring.c: Work for C89.
45604
45605 2007-10-22  Bruno Haible  <bruno@clisp.org>
45606
45607         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45608         -1u, in preprocessor expression, so that we don't test for the bug
45609         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45610         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45611
45612 2007-10-22  Eric Blake  <ebb9@byu.net>
45613
45614         * tests/test-yesno.sh: Silence stderr during test.
45615
45616 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45617
45618         * modules/crypto/gc-camellia: New file.
45619
45620         * m4/gc-camellia.m4: New file.
45621
45622         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45623
45624         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45625
45626 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45627
45628         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
45629         --help to stdout.  Reported by sms@antinode.org (Steven
45630         M. Schweda).
45631
45632 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45633
45634         * users.txt: Fix link to libksba.
45635
45636 2007-10-21  Ben Pfaff  <blp@gnu.org>
45637
45638         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
45639         round.c roundf implementation that depends on floorf and ceilf to
45640         be tested unconditionally.
45641
45642 2007-10-21  Ben Pfaff  <blp@gnu.org>
45643
45644         * m4/check-libm-func.m4: Removed.
45645         * m4/check-math-lib.m4: New file.
45646         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
45647         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
45648         definition and lack of AC_LIBOBJ([roundf]).
45649         * m4/roundl.m4: Ditto, and similarly for roundl.
45650         * modules/round: Reference new m4 file.
45651         * modules/roundf: Ditto.
45652         * modules/roundl: Ditto.
45653         * tests/test-round2.c (main): Use ROUND instead of round.
45654         Bug report from Bruno Haible.
45655
45656 2007-10-21  Bruno Haible  <bruno@clisp.org>
45657
45658         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
45659         context.
45660
45661 2007-10-21  Bruno Haible  <bruno@clisp.org>
45662
45663         * tests/test-wcwidth.c (main): Allow negative result for some control
45664         characters.
45665
45666         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
45667         Needed on OSF/1 5.1.
45668
45669 2007-10-21  Bruno Haible  <bruno@clisp.org>
45670
45671         * tests/test-floorf1.c: Include isnanf.h.
45672         (main): Use isnanf() instead of isnan().
45673         * tests/test-ceilf1.c: Include isnanf.h.
45674         (main): Use isnanf() instead of isnan().
45675         * tests/test-truncf1.c: Include isnanf.h.
45676         (main): Use isnanf() instead of isnan().
45677         * tests/test-roundf1.c: Include isnanf.h.
45678         (main): Use isnanf() instead of isnan().
45679
45680 2007-10-21  Eric Blake  <ebb9@byu.net>
45681
45682         * users.txt: Update URL for m4.
45683
45684 2007-10-21  Bruno Haible  <bruno@clisp.org>
45685
45686         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
45687
45688 2007-10-21  Bruno Haible  <bruno@clisp.org>
45689
45690         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
45691         Git's management files if the CVS files are not present.
45692
45693 2007-10-20  Bruno Haible  <bruno@clisp.org>
45694
45695         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
45696         gcc-3.4.x.
45697
45698 2007-10-20  Ben Pfaff  <blp@gnu.org>
45699
45700         * lib/math.in.h: Declare round, roundf, roundl if we are providing
45701         implementations.
45702         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
45703         * lib/round.c: New file.
45704         * lib/roundf.c: New file.
45705         * lib/roundl.c: New file.
45706         * m4/round.m4: New file.
45707         * m4/roundf.m4: New file.
45708         * m4/roundl.m4: New file.
45709         * m4/check-libm-func-m4: New file.
45710         * modules/math: Replace round, roundf, roundl related @VARS@ in
45711         math.in.h.
45712         * modules/round: New file.
45713         * modules/round-tests: New file.
45714         * modules/roundf: New file.
45715         * modules/roundf-tests: New file.
45716         * modules/roundl: New file.
45717         * modules/roundl-tests: New file.
45718         * tests/test-round1.c: New file.
45719         * tests/test-round2.c: New file.
45720         * tests/test-roundf1.c: New file.
45721         * tests/test-roundf2.c: New file.
45722         * tests/test-roundl.c: New file.
45723         * doc/functions/round.texi: Mention round module.
45724         * doc/functions/roundf.texi: Mention roundf module.
45725         * doc/functions/roundl.texi: Mention roundl module.
45726         * MODULES.html.sh: Mention new modules.
45727         Thanks to Bruno Haible for suggestions.
45728
45729 2007-10-20  Jim Meyering  <meyering@redhat.com>
45730
45731         * lib/xprintf.c: Include <config.h> unconditionally.
45732
45733         Change xprintf's license to GPL.
45734         * modules/xprintf (License): s/LGPL/GPL/, since this module
45735         depends on modules (exit and exitfail) which are GPL.
45736         Suggestion from Bruno Haible.
45737
45738         xprintf fixes.
45739         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
45740         Use a clearer diagnostic.
45741         Patch from Bruno Haible.
45742
45743 2007-10-20  Bruno Haible  <bruno@clisp.org>
45744
45745         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
45746         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
45747         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45748
45749 2007-10-20  Bruno Haible  <bruno@clisp.org>
45750
45751         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
45752         precision in the comparison result > x - 1 or similar.
45753         * tests/test-ceilf2.c (correct_result_p): Likewise.
45754         * tests/test-truncf2.c (correct_result_p): Likewise.
45755         * tests/test-trunc2.c (correct_result_p): Likewise.
45756         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45757
45758 2007-10-20  Bruno Haible  <bruno@clisp.org>
45759
45760         * modules/ceil: New file.
45761         * m4/ceil.m4: New file.
45762         * doc/functions/ceil.texi: Mention the 'ceil' module.
45763
45764 2007-10-20  Bruno Haible  <bruno@clisp.org>
45765
45766         * modules/floor: New file.
45767         * m4/floor.m4: New file.
45768         * doc/functions/floor.texi: Mention the 'floor' module.
45769
45770 2007-10-20  Bruno Haible  <bruno@clisp.org>
45771
45772         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
45773         of %a.
45774         * modules/floorf-tests (Depends-on): Likewise.
45775         * modules/truncf-tests (Depends-on): Likewise.
45776         * modules/trunc-tests (Depends-on): Likewise.
45777         Reported by Ben Pfaff.
45778
45779 2007-10-19  Jim Meyering  <meyering@redhat.com>
45780
45781         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
45782         Don't bother testing specific errno values.  Just test ferror.
45783
45784         New module: xprintf
45785         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
45786
45787 2007-10-19  Bruno Haible  <bruno@clisp.org>
45788
45789         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
45790         syntax.
45791         * modules/javaexec (Makefile.am): Likewise.
45792         * modules/relocatable-prog (Makefile.am): Likewise.
45793         Suggested by Jim Meyering.
45794
45795 2007-10-18  Bruno Haible  <bruno@clisp.org>
45796
45797         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
45798         Reported by Jim Meyering.
45799
45800 2007-10-18  Eric Blake  <ebb9@byu.net>
45801
45802         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
45803
45804 2007-10-18  Bruno Haible  <bruno@clisp.org>
45805
45806         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
45807         the format string into writable memory. Needed in Fortify conditions.
45808
45809 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
45810             Bruno Haible  <bruno@clisp.org>
45811
45812         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
45813         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
45814         * modules/trim (Depends-on): Add mbchar.
45815         (configure.ac): Add gl_FUNC_MBRTOWC.
45816         (Makefile.am): Augment lib_SOURCES.
45817
45818 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45819
45820         Modify glob.c to use fstatat and dirfd, to simplify it.
45821         Suggested by Eric Blake.
45822         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
45823         Don't include <stdbool.h>; not used.
45824         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
45825         (link_exists_p): Simplify implementation, since we can now assume
45826         dirfd and fstatat.
45827         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
45828
45829 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45830
45831         * gnulib-tool (func_get_dependencies): Fix sed script to
45832         match only tests.
45833
45834 2007-10-17  Bruno Haible  <bruno@clisp.org>
45835
45836         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
45837         allow locale names without encoding suffix.
45838         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45839         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45840
45841 2007-10-16  Bruno Haible  <bruno@clisp.org>
45842
45843         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
45844         * lib/getgroups.c (getgroups): Likewise.
45845         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
45846
45847 2007-10-16  Bruno Haible  <bruno@clisp.org>
45848
45849         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
45850         * modules/malloc-posix (License): Likewise.
45851         * modules/realloc-posix (License): Likewise.
45852         * modules/calloc-posix (License): Likewise.
45853         * modules/intprops (License): Change from GPL to LGPL, with
45854         Paul Eggert's approval.
45855
45856 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45857
45858         Merge glibc changes into lib/glob.c.
45859
45860         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
45861         2007-10-15 04:59:03 UTC.  Here are the changes:
45862
45863         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
45864
45865         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
45866
45867         * lib/glob.c: Add some branch prediction throughout.
45868
45869         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
45870
45871         [BZ #5103]
45872         * lib/glob.c (glob): Recognize patterns starting \/.
45873
45874         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
45875
45876         [BZ #3996]
45877         * lib/glob.c (attribute_hidden): Define if not defined.
45878         (glob): Unescape dirname, filename or username when needed and not
45879         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
45880         is NULL.  Handle unescaped [ in pattern without closing ].
45881         Don't pass GLOB_CHECK down to recursive glob for directories.
45882         (__glob_pattern_type): New function.
45883         (__glob_pattern_p): Implement using __glob_pattern_type.
45884         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
45885         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
45886         Remove unreachable code.
45887
45888         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
45889
45890         * lib/glob.c (glob_in_dir): Add some comments and asserts to
45891         explain why there are no leaks.
45892
45893         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
45894
45895         [BZ #3253]
45896         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
45897         time, rather allocate increasingly bigger arrays of pointers, if
45898         possible with alloca, if too large with malloc.
45899
45900 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45901
45902         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
45903         Problem reported by H.Merijn Brand in
45904         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
45905         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
45906         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
45907
45908 2007-10-15  Bruno Haible  <bruno@clisp.org>
45909
45910         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
45911         with explicit rpl_ prefix.
45912         * lib/fopen.c (fopen): Likewise.
45913         * lib/freopen.c (freopen): Likewise.
45914         * lib/iconv.c (iconv): Likewise.
45915         * lib/iconv_close.c (iconv_close): Likewise.
45916
45917 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45918
45919         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
45920
45921 2007-10-15  Bruno Haible  <bruno@clisp.org>
45922
45923         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
45924         <stddef.h> instead of <stdlib.h> since we only need NULL.
45925         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45926
45927 2007-10-15  Bruno Haible  <bruno@clisp.org>
45928
45929         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
45930         Replace paragraph talking about LIBOBJS.
45931         Reported by Colin Watson <cjwatson@debian.org>.
45932
45933 2007-10-15  Bruno Haible  <bruno@clisp.org>
45934
45935         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
45936         <stdlib.h> before using NULL.
45937
45938 2007-10-15  Simon Josefsson  <simon@josefsson.org>
45939
45940         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
45941         Reported by Albert Chin <china@thewrittenword.com>.
45942
45943 2007-10-14  Bruno Haible  <bruno@clisp.org>
45944
45945         * modules/iconv_open-utf-tests: New file.
45946         * tests/test-iconv-utf.c: New file.
45947
45948         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
45949         * modules/iconv_open-utf: New file.
45950         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
45951         (iconv, iconv_close): New declarations.
45952         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
45953         be defined.
45954         (iconv_open): Add special handling of conversion between UTF-8 and
45955         UTF-{16,32}{BE,LE}.
45956         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
45957         * lib/iconv_close.c: New file.
45958         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
45959         gl_FUNC_ICONV_OPEN.
45960         (gl_FUNC_ICONV_OPEN): Use it.
45961         (gl_FUNC_ICONV_OPEN_UTF): New macro.
45962         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
45963         and REPLACE_ICONV_UTF.
45964         * modules/iconv_open (Depends-on): Add c-strcase.
45965         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
45966         ICONV_CONST.
45967         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
45968
45969 2007-10-13  Albert Chin  <china@thewrittenword.com>
45970             Bruno Haible  <bruno@clisp.org>
45971
45972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
45973         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
45974
45975 2007-10-13  Bruno Haible  <bruno@clisp.org>
45976
45977         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
45978         defined, use the ISO C99 inline semantics.
45979         * lib/argp.h (ARGP_EI): Likewise.
45980
45981 2007-10-13  Bruno Haible  <bruno@clisp.org>
45982
45983         Handle 'inline' change in gcc 4.3.0.
45984         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
45985         argp_fmtstream_write, argp_fmtstream_set_lmargin,
45986         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
45987         argp_fmtstream_point): Disable 'extern' declaration if the function
45988         definition is going to be provided inline.
45989         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
45990         semantics, not the ISO C99 inline semantics.
45991         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
45992         'extern' declaration if the function definition is going to be provided
45993         inline.
45994         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
45995         the GNU C inline semantics, not the ISO C99 inline semantics. With
45996         GCC 4.2, avoid a warning.
45997
45998 2007-10-13  Bruno Haible  <bruno@clisp.org>
45999
46000         * lib/freading.h (freading): Enable the use of __freading for
46001         glibc >= 2.7.
46002         * lib/freading.c (freading): Likewise.
46003
46004 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46005
46006         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
46007         "warning: C99 inline functions are not supported; using GNU89".
46008
46009 2007-10-12  Bruno Haible  <bruno@clisp.org>
46010
46011         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
46012         of 2.
46013         * tests/test-ceilf2.c: New file.
46014         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
46015
46016         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
46017         * modules/ceilf-tests: Update.
46018
46019 2007-10-12  Bruno Haible  <bruno@clisp.org>
46020
46021         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
46022         of 2.
46023         * tests/test-floorf2.c: New file.
46024         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
46025
46026         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
46027         * modules/floorf-tests: Update.
46028
46029 2007-10-12  Bruno Haible  <bruno@clisp.org>
46030
46031         * tests/test-trunc2.c: New file.
46032         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
46033
46034         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
46035         * modules/trunc-tests: Update.
46036
46037 2007-10-12  Bruno Haible  <bruno@clisp.org>
46038
46039         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
46040         of 2.
46041         * tests/test-truncf2.c: New file.
46042         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
46043
46044         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
46045         * modules/truncf-tests: Update.
46046
46047 2007-10-11  Eric Blake  <ebb9@byu.net>
46048
46049         Don't claim strerror is broken on Interix.
46050         * doc/functions/strerror.texi (strerror): Known broken systems are
46051         now Solaris 8, and not Interix.
46052         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
46053         Interix on cross-compile.
46054         Reported by Martin Koeppe in
46055         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
46056
46057 2007-10-11  Bruno Haible  <bruno@clisp.org>
46058
46059         * modules/i-ring-tests: New file.
46060         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
46061         instead of assert.
46062
46063 2007-10-11  Bruno Haible  <bruno@clisp.org>
46064
46065         * modules/filenamecat-tests: New file.
46066         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
46067         * lib/filenamecat.c: Remove test code.
46068
46069 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46070
46071         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
46072
46073         * lib/strerror.c: Include <string.h> always, to test interface,
46074         and to remove the need for the dummy.
46075         Include intprops.h to compute width instead of doing it ourselves
46076         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
46077         (strerror): Define it to return NULL if there's no system strerror.
46078         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
46079         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
46080         ancient pre-strerror Unix systems well any more.  Saying "unknown
46081         system error" is enough.
46082         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
46083         simpler strerror.c implementation.
46084         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
46085         Simplify the tests to reflect the simpler strerror implementation.
46086         * modules/strerror (Depends-on): Add intprops.
46087
46088 2007-10-09  Eric Blake  <ebb9@byu.net>
46089
46090         Silence test-fpending.
46091         * modules/fpending-tests (Files): Add wrapper script.
46092         * tests/test-fpending.sh: New file.
46093
46094 2007-10-09  Bruno Haible  <bruno@clisp.org>
46095
46096         * MODULES.html.sh (func_module): Don't create a hyperlink for
46097         function names like 'printf_frexp'.
46098         (Misc): Add crc, memxor.
46099         (Characteristics of floating types): New section.
46100         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
46101         isnanf-nolibm, signbit, trunc, truncf, truncl.
46102         (Enhancements for ISO C 99 functions): New subsection Input/output.
46103         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
46104         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
46105         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
46106         (Compatibility checks for POSIX:2001 functions): Add clock-time.
46107         (Enhancements for POSIX:2001 functions): Add chdir-long.
46108         (File system functions): Add areadlink, chdir-safer, read-file.
46109         Remove cycle-check.
46110         (File system as inode set): New section.
46111         (Date and time): Add gethrxtime.
46112         (Multithreading): Add openmp.
46113         (Internationalization functions): Add localename.
46114         (Unicode string functions): Add unistr/u*-mbsnlen.
46115         (Support for maintaining and releasing projects): Add git-version-gen.
46116         (Lone files): Remove directories.
46117
46118 2007-10-08  Ben Pfaff  <blp@gnu.org>
46119
46120         * lib/xmalloca.h: Fix typo in comment.
46121
46122 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46123
46124         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
46125         when avoiding problems with integer overflow.  Use a portable test
46126         instead.
46127
46128 2007-10-08  Simon Josefsson  <simon@josefsson.org>
46129
46130         * modules/dummy (License): Change to LGPLv2+.
46131         * modules/float (License): Likewise
46132         * modules/realloc (License): Likewise
46133         * modules/stdlib (License): Likewise
46134
46135 2007-10-07  Bruno Haible  <bruno@clisp.org>
46136
46137         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
46138         * floor.c (TWO_MANT_DIG): Likewise.
46139         * ceil.c (TWO_MANT_DIG): Likewise.
46140         Reported by Ben Pfaff.
46141
46142 2007-10-07  Bruno Haible  <bruno@clisp.org>
46143
46144         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
46145         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
46146         * lib/frexp.c (FUNC): Likewise.
46147         * lib/printf-frexp.h (printf_frexp): Likewise.
46148         * lib/printf-frexpl.h (printf_frexpl): Likewise.
46149         * lib/printf-frexp.c (FUNC): Likewise.
46150         Suggested by Jim Meyering.
46151
46152 2007-10-07  Jim Meyering  <meyering@redhat.com>
46153
46154         Make xnanosleep's integer overflow test more robust.
46155         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
46156         so that gcc-4.3.0 doesn't optimize away this test for overflow.
46157
46158 2007-10-07  Bruno Haible  <bruno@clisp.org>
46159
46160         * NEWS: Mention the license change.
46161
46162         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
46163         abbreviations in the modules files.
46164
46165         Change copyright notice from GPLv2+ to GPLv3+.
46166         * README: Change copyright notice.
46167         * MODULES.html.sh: Likewise.
46168         * build-aux/bootstrap.conf: Likewise.
46169         * build-aux/config.libpath: Likewise.
46170         * build-aux/csharpcomp.sh.in: Likewise.
46171         * build-aux/csharpexec.sh.in: Likewise.
46172         * build-aux/install-reloc: Likewise.
46173         * build-aux/javacomp.sh.in: Likewise.
46174         * build-aux/javaexec.sh.in: Likewise.
46175         * build-aux/ldd.sh.in: Likewise.
46176         * build-aux/reloc-ldflags: Likewise.
46177         * build-aux/relocatable.sh.in: Likewise.
46178         * build-aux/x-to-1.in: Likewise.
46179         * check-module: Likewise.
46180         * config/srclistvars.sh: Likewise.
46181         * gnulib-tool: Likewise.
46182         * lib/acl-internal.h: Likewise.
46183         * lib/acl.c: Likewise.
46184         * lib/acl.h: Likewise.
46185         * lib/acl_entries.c: Likewise.
46186         * lib/areadlink-with-size.c: Likewise.
46187         * lib/areadlink.c: Likewise.
46188         * lib/areadlink.h: Likewise.
46189         * lib/argmatch.c: Likewise.
46190         * lib/argmatch.h: Likewise.
46191         * lib/argp-ba.c: Likewise.
46192         * lib/argp-eexst.c: Likewise.
46193         * lib/argp-fmtstream.c: Likewise.
46194         * lib/argp-fmtstream.h: Likewise.
46195         * lib/argp-fs-xinl.c: Likewise.
46196         * lib/argp-help.c: Likewise.
46197         * lib/argp-namefrob.h: Likewise.
46198         * lib/argp-parse.c: Likewise.
46199         * lib/argp-pin.c: Likewise.
46200         * lib/argp-pv.c: Likewise.
46201         * lib/argp-pvh.c: Likewise.
46202         * lib/argp-xinl.c: Likewise.
46203         * lib/argp.h: Likewise.
46204         * lib/at-func.c: Likewise.
46205         * lib/atanl.c: Likewise.
46206         * lib/backupfile.c: Likewise.
46207         * lib/backupfile.h: Likewise.
46208         * lib/basename.c: Likewise.
46209         * lib/binary-io.h: Likewise.
46210         * lib/byteswap.in.h: Likewise.
46211         * lib/c-stack.c: Likewise.
46212         * lib/c-stack.h: Likewise.
46213         * lib/c-strcasestr.c: Likewise.
46214         * lib/c-strcasestr.h: Likewise.
46215         * lib/c-strstr.c: Likewise.
46216         * lib/c-strstr.h: Likewise.
46217         * lib/c-strtod.c: Likewise.
46218         * lib/calloc.c: Likewise.
46219         * lib/canon-host.c: Likewise.
46220         * lib/canon-host.h: Likewise.
46221         * lib/canonicalize-lgpl.c: Likewise.
46222         * lib/canonicalize.c: Likewise.
46223         * lib/canonicalize.h: Likewise.
46224         * lib/ceil.c: Likewise.
46225         * lib/ceilf.c: Likewise.
46226         * lib/ceill.c: Likewise.
46227         * lib/chdir-long.c: Likewise.
46228         * lib/chdir-long.h: Likewise.
46229         * lib/chdir-safer.c: Likewise.
46230         * lib/chdir-safer.h: Likewise.
46231         * lib/chown.c: Likewise.
46232         * lib/classpath.c: Likewise.
46233         * lib/classpath.h: Likewise.
46234         * lib/clean-temp.c: Likewise.
46235         * lib/clean-temp.h: Likewise.
46236         * lib/cloexec.c: Likewise.
46237         * lib/close-stream.c: Likewise.
46238         * lib/closein.c: Likewise.
46239         * lib/closein.h: Likewise.
46240         * lib/closeout.c: Likewise.
46241         * lib/closeout.h: Likewise.
46242         * lib/concat-filename.c: Likewise.
46243         * lib/copy-file.c: Likewise.
46244         * lib/copy-file.h: Likewise.
46245         * lib/count-one-bits.h: Likewise.
46246         * lib/crc.c: Likewise.
46247         * lib/crc.h: Likewise.
46248         * lib/creat-safer.c: Likewise.
46249         * lib/csharpcomp.c: Likewise.
46250         * lib/csharpcomp.h: Likewise.
46251         * lib/csharpexec.c: Likewise.
46252         * lib/csharpexec.h: Likewise.
46253         * lib/cycle-check.c: Likewise.
46254         * lib/cycle-check.h: Likewise.
46255         * lib/diacrit.c: Likewise.
46256         * lib/diacrit.h: Likewise.
46257         * lib/diffseq.h: Likewise.
46258         * lib/dirchownmod.c: Likewise.
46259         * lib/dirent.in.h: Likewise.
46260         * lib/dirfd.c: Likewise.
46261         * lib/dirfd.h: Likewise.
46262         * lib/dirname.c: Likewise.
46263         * lib/dirname.h: Likewise.
46264         * lib/dummy.c: Likewise.
46265         * lib/dup-safer.c: Likewise.
46266         * lib/dup2.c: Likewise.
46267         * lib/eealloc.h: Likewise.
46268         * lib/error.c: Likewise.
46269         * lib/error.h: Likewise.
46270         * lib/euidaccess.c: Likewise.
46271         * lib/exclude.c: Likewise.
46272         * lib/exclude.h: Likewise.
46273         * lib/execute.c: Likewise.
46274         * lib/execute.h: Likewise.
46275         * lib/exitfail.c: Likewise.
46276         * lib/exitfail.h: Likewise.
46277         * lib/expl.c: Likewise.
46278         * lib/fatal-signal.c: Likewise.
46279         * lib/fatal-signal.h: Likewise.
46280         * lib/fbufmode.c: Likewise.
46281         * lib/fbufmode.h: Likewise.
46282         * lib/fchdir.c: Likewise.
46283         * lib/fchmodat.c: Likewise.
46284         * lib/fchownat.c: Likewise.
46285         * lib/fcntl--.h: Likewise.
46286         * lib/fcntl-safer.h: Likewise.
46287         * lib/fcntl.in.h: Likewise.
46288         * lib/fd-safer.c: Likewise.
46289         * lib/fflush.c: Likewise.
46290         * lib/file-has-acl.c: Likewise.
46291         * lib/file-set.c: Likewise.
46292         * lib/file-type.c: Likewise.
46293         * lib/file-type.h: Likewise.
46294         * lib/fileblocks.c: Likewise.
46295         * lib/filemode.c: Likewise.
46296         * lib/filemode.h: Likewise.
46297         * lib/filename.h: Likewise.
46298         * lib/filenamecat.c: Likewise.
46299         * lib/filenamecat.h: Likewise.
46300         * lib/findprog.c: Likewise.
46301         * lib/findprog.h: Likewise.
46302         * lib/float.in.h: Likewise.
46303         * lib/floor.c: Likewise.
46304         * lib/floorf.c: Likewise.
46305         * lib/floorl.c: Likewise.
46306         * lib/fopen-safer.c: Likewise.
46307         * lib/fopen.c: Likewise.
46308         * lib/fpending.c: Likewise.
46309         * lib/fpending.h: Likewise.
46310         * lib/fprintf.c: Likewise.
46311         * lib/fprintftime.h: Likewise.
46312         * lib/fpucw.h: Likewise.
46313         * lib/fpurge.c: Likewise.
46314         * lib/fpurge.h: Likewise.
46315         * lib/freadable.c: Likewise.
46316         * lib/freadable.h: Likewise.
46317         * lib/freadahead.c: Likewise.
46318         * lib/freadahead.h: Likewise.
46319         * lib/freading.c: Likewise.
46320         * lib/freading.h: Likewise.
46321         * lib/free.c: Likewise.
46322         * lib/freopen.c: Likewise.
46323         * lib/frexp.c: Likewise.
46324         * lib/frexpl.c: Likewise.
46325         * lib/fseek.c: Likewise.
46326         * lib/fseterr.c: Likewise.
46327         * lib/fseterr.h: Likewise.
46328         * lib/fstatat.c: Likewise.
46329         * lib/fstrcmp.c: Likewise.
46330         * lib/fstrcmp.h: Likewise.
46331         * lib/fsusage.c: Likewise.
46332         * lib/fsusage.h: Likewise.
46333         * lib/ftell.c: Likewise.
46334         * lib/ftello.c: Likewise.
46335         * lib/fts-cycle.c: Likewise.
46336         * lib/fts.c: Likewise.
46337         * lib/fts_.h: Likewise.
46338         * lib/full-read.c: Likewise.
46339         * lib/full-read.h: Likewise.
46340         * lib/full-write.c: Likewise.
46341         * lib/full-write.h: Likewise.
46342         * lib/fwritable.c: Likewise.
46343         * lib/fwritable.h: Likewise.
46344         * lib/fwriteerror.c: Likewise.
46345         * lib/fwriteerror.h: Likewise.
46346         * lib/fwriting.c: Likewise.
46347         * lib/fwriting.h: Likewise.
46348         * lib/gcd.c: Likewise.
46349         * lib/gcd.h: Likewise.
46350         * lib/getcwd.c: Likewise.
46351         * lib/getdate.h: Likewise.
46352         * lib/getdate.y: Likewise.
46353         * lib/getdomainname.c: Likewise.
46354         * lib/getdomainname.h: Likewise.
46355         * lib/getgroups.c: Likewise.
46356         * lib/gethostname.c: Likewise.
46357         * lib/gethrxtime.c: Likewise.
46358         * lib/gethrxtime.h: Likewise.
46359         * lib/getloadavg.c: Likewise.
46360         * lib/getndelim2.c: Likewise.
46361         * lib/getndelim2.h: Likewise.
46362         * lib/getnline.c: Likewise.
46363         * lib/getnline.h: Likewise.
46364         * lib/getopt.c: Likewise.
46365         * lib/getopt.in.h: Likewise.
46366         * lib/getopt1.c: Likewise.
46367         * lib/getopt_int.h: Likewise.
46368         * lib/getpagesize.h: Likewise.
46369         * lib/getsubopt.c: Likewise.
46370         * lib/gettime.c: Likewise.
46371         * lib/getugroups.c: Likewise.
46372         * lib/getugroups.h: Likewise.
46373         * lib/getusershell.c: Likewise.
46374         * lib/gl_anyavltree_list1.h: Likewise.
46375         * lib/gl_anyavltree_list2.h: Likewise.
46376         * lib/gl_anyhash_list1.h: Likewise.
46377         * lib/gl_anyhash_list2.h: Likewise.
46378         * lib/gl_anylinked_list1.h: Likewise.
46379         * lib/gl_anylinked_list2.h: Likewise.
46380         * lib/gl_anyrbtree_list1.h: Likewise.
46381         * lib/gl_anyrbtree_list2.h: Likewise.
46382         * lib/gl_anytree_list1.h: Likewise.
46383         * lib/gl_anytree_list2.h: Likewise.
46384         * lib/gl_anytree_oset.h: Likewise.
46385         * lib/gl_anytreehash_list1.h: Likewise.
46386         * lib/gl_anytreehash_list2.h: Likewise.
46387         * lib/gl_array_list.c: Likewise.
46388         * lib/gl_array_list.h: Likewise.
46389         * lib/gl_array_oset.c: Likewise.
46390         * lib/gl_array_oset.h: Likewise.
46391         * lib/gl_avltree_list.c: Likewise.
46392         * lib/gl_avltree_list.h: Likewise.
46393         * lib/gl_avltree_oset.c: Likewise.
46394         * lib/gl_avltree_oset.h: Likewise.
46395         * lib/gl_avltreehash_list.c: Likewise.
46396         * lib/gl_avltreehash_list.h: Likewise.
46397         * lib/gl_carray_list.c: Likewise.
46398         * lib/gl_carray_list.h: Likewise.
46399         * lib/gl_linked_list.c: Likewise.
46400         * lib/gl_linked_list.h: Likewise.
46401         * lib/gl_linkedhash_list.c: Likewise.
46402         * lib/gl_linkedhash_list.h: Likewise.
46403         * lib/gl_list.c: Likewise.
46404         * lib/gl_list.h: Likewise.
46405         * lib/gl_oset.c: Likewise.
46406         * lib/gl_oset.h: Likewise.
46407         * lib/gl_rbtree_list.c: Likewise.
46408         * lib/gl_rbtree_list.h: Likewise.
46409         * lib/gl_rbtree_oset.c: Likewise.
46410         * lib/gl_rbtree_oset.h: Likewise.
46411         * lib/gl_rbtreehash_list.c: Likewise.
46412         * lib/gl_rbtreehash_list.h: Likewise.
46413         * lib/gl_sublist.c: Likewise.
46414         * lib/gl_sublist.h: Likewise.
46415         * lib/group-member.c: Likewise.
46416         * lib/group-member.h: Likewise.
46417         * lib/hard-locale.c: Likewise.
46418         * lib/hard-locale.h: Likewise.
46419         * lib/hash-pjw.c: Likewise.
46420         * lib/hash-pjw.h: Likewise.
46421         * lib/hash-triple.c: Likewise.
46422         * lib/hash.c: Likewise.
46423         * lib/hash.h: Likewise.
46424         * lib/human.c: Likewise.
46425         * lib/human.h: Likewise.
46426         * lib/i-ring.c: Likewise.
46427         * lib/i-ring.h: Likewise.
46428         * lib/idcache.c: Likewise.
46429         * lib/imaxabs.c: Likewise.
46430         * lib/imaxdiv.c: Likewise.
46431         * lib/inet_pton.c: Likewise.
46432         * lib/inet_pton.h: Likewise.
46433         * lib/intprops.h: Likewise.
46434         * lib/inttostr.c: Likewise.
46435         * lib/inttostr.h: Likewise.
46436         * lib/inttypes.in.h: Likewise.
46437         * lib/isapipe.c: Likewise.
46438         * lib/isdir.c: Likewise.
46439         * lib/isnan.c: Likewise.
46440         * lib/isnan.h: Likewise.
46441         * lib/isnanf.c: Likewise.
46442         * lib/isnanf.h: Likewise.
46443         * lib/isnanl-nolibm.h: Likewise.
46444         * lib/isnanl.c: Likewise.
46445         * lib/isnanl.h: Likewise.
46446         * lib/javacomp.c: Likewise.
46447         * lib/javacomp.h: Likewise.
46448         * lib/javaexec.c: Likewise.
46449         * lib/javaexec.h: Likewise.
46450         * lib/javaversion.c: Likewise.
46451         * lib/javaversion.h: Likewise.
46452         * lib/javaversion.java: Likewise.
46453         * lib/lbrkprop.h: Likewise.
46454         * lib/lchmod.h: Likewise.
46455         * lib/lchown.c: Likewise.
46456         * lib/ldexpl.c: Likewise.
46457         * lib/linebreak.c: Likewise.
46458         * lib/linebreak.h: Likewise.
46459         * lib/linebuffer.c: Likewise.
46460         * lib/linebuffer.h: Likewise.
46461         * lib/locale.in.h: Likewise.
46462         * lib/logl.c: Likewise.
46463         * lib/long-options.c: Likewise.
46464         * lib/long-options.h: Likewise.
46465         * lib/lstat.c: Likewise.
46466         * lib/lstat.h: Likewise.
46467         * lib/math.in.h: Likewise.
46468         * lib/mbchar.c: Likewise.
46469         * lib/mbchar.h: Likewise.
46470         * lib/mbfile.h: Likewise.
46471         * lib/mbiter.h: Likewise.
46472         * lib/mbscasecmp.c: Likewise.
46473         * lib/mbscasestr.c: Likewise.
46474         * lib/mbschr.c: Likewise.
46475         * lib/mbscspn.c: Likewise.
46476         * lib/mbslen.c: Likewise.
46477         * lib/mbsncasecmp.c: Likewise.
46478         * lib/mbsnlen.c: Likewise.
46479         * lib/mbspbrk.c: Likewise.
46480         * lib/mbspcasecmp.c: Likewise.
46481         * lib/mbsrchr.c: Likewise.
46482         * lib/mbssep.c: Likewise.
46483         * lib/mbsspn.c: Likewise.
46484         * lib/mbsstr.c: Likewise.
46485         * lib/mbstok_r.c: Likewise.
46486         * lib/mbswidth.c: Likewise.
46487         * lib/mbswidth.h: Likewise.
46488         * lib/mbuiter.h: Likewise.
46489         * lib/memcasecmp.c: Likewise.
46490         * lib/memcasecmp.h: Likewise.
46491         * lib/memchr.c: Likewise.
46492         * lib/memcmp.c: Likewise.
46493         * lib/memcoll.c: Likewise.
46494         * lib/memcoll.h: Likewise.
46495         * lib/memcpy.c: Likewise.
46496         * lib/memrchr.c: Likewise.
46497         * lib/mkancesdirs.c: Likewise.
46498         * lib/mkdir-p.c: Likewise.
46499         * lib/mkdir-p.h: Likewise.
46500         * lib/mkdir.c: Likewise.
46501         * lib/mkdirat.c: Likewise.
46502         * lib/mkdtemp.c: Likewise.
46503         * lib/mkstemp-safer.c: Likewise.
46504         * lib/mkstemp.c: Likewise.
46505         * lib/modechange.c: Likewise.
46506         * lib/modechange.h: Likewise.
46507         * lib/mountlist.c: Likewise.
46508         * lib/mountlist.h: Likewise.
46509         * lib/mpsort.c: Likewise.
46510         * lib/nanosleep.c: Likewise.
46511         * lib/obstack.c: Likewise.
46512         * lib/obstack.h: Likewise.
46513         * lib/open-safer.c: Likewise.
46514         * lib/open.c: Likewise.
46515         * lib/openat-die.c: Likewise.
46516         * lib/openat-priv.h: Likewise.
46517         * lib/openat-proc.c: Likewise.
46518         * lib/openat.c: Likewise.
46519         * lib/openat.h: Likewise.
46520         * lib/pagealign_alloc.c: Likewise.
46521         * lib/pagealign_alloc.h: Likewise.
46522         * lib/physmem.c: Likewise.
46523         * lib/physmem.h: Likewise.
46524         * lib/pipe-safer.c: Likewise.
46525         * lib/pipe.c: Likewise.
46526         * lib/pipe.h: Likewise.
46527         * lib/posixtm.c: Likewise.
46528         * lib/posixtm.h: Likewise.
46529         * lib/posixver.c: Likewise.
46530         * lib/printf-frexp.c: Likewise.
46531         * lib/printf-frexp.h: Likewise.
46532         * lib/printf-frexpl.c: Likewise.
46533         * lib/printf-frexpl.h: Likewise.
46534         * lib/printf.c: Likewise.
46535         * lib/progname.c: Likewise.
46536         * lib/progname.h: Likewise.
46537         * lib/progreloc.c: Likewise.
46538         * lib/putenv.c: Likewise.
46539         * lib/quote.c: Likewise.
46540         * lib/quote.h: Likewise.
46541         * lib/quotearg.c: Likewise.
46542         * lib/quotearg.h: Likewise.
46543         * lib/raise.c: Likewise.
46544         * lib/readline.c: Likewise.
46545         * lib/readline.h: Likewise.
46546         * lib/readlink.c: Likewise.
46547         * lib/readtokens.c: Likewise.
46548         * lib/readtokens.h: Likewise.
46549         * lib/readtokens0.c: Likewise.
46550         * lib/readtokens0.h: Likewise.
46551         * lib/readutmp.c: Likewise.
46552         * lib/readutmp.h: Likewise.
46553         * lib/realloc.c: Likewise.
46554         * lib/relocwrapper.c: Likewise.
46555         * lib/rename-dest-slash.c: Likewise.
46556         * lib/rename.c: Likewise.
46557         * lib/rmdir.c: Likewise.
46558         * lib/rpmatch.c: Likewise.
46559         * lib/safe-read.c: Likewise.
46560         * lib/safe-read.h: Likewise.
46561         * lib/safe-write.c: Likewise.
46562         * lib/safe-write.h: Likewise.
46563         * lib/same-inode.h: Likewise.
46564         * lib/same.c: Likewise.
46565         * lib/same.h: Likewise.
46566         * lib/save-cwd.c: Likewise.
46567         * lib/save-cwd.h: Likewise.
46568         * lib/savedir.c: Likewise.
46569         * lib/savedir.h: Likewise.
46570         * lib/savewd.c: Likewise.
46571         * lib/savewd.h: Likewise.
46572         * lib/search.in.h: Likewise.
46573         * lib/setenv.c: Likewise.
46574         * lib/setenv.h: Likewise.
46575         * lib/settime.c: Likewise.
46576         * lib/sh-quote.c: Likewise.
46577         * lib/sh-quote.h: Likewise.
46578         * lib/sig2str.c: Likewise.
46579         * lib/sig2str.h: Likewise.
46580         * lib/signal.in.h: Likewise.
46581         * lib/signbitd.c: Likewise.
46582         * lib/signbitf.c: Likewise.
46583         * lib/signbitl.c: Likewise.
46584         * lib/sigprocmask.c: Likewise.
46585         * lib/sincosl.c: Likewise.
46586         * lib/sleep.c: Likewise.
46587         * lib/sprintf.c: Likewise.
46588         * lib/sqrtl.c: Likewise.
46589         * lib/stat-time.h: Likewise.
46590         * lib/stdio--.h: Likewise.
46591         * lib/stdio-safer.h: Likewise.
46592         * lib/stdlib--.h: Likewise.
46593         * lib/stdlib-safer.h: Likewise.
46594         * lib/stdlib.in.h: Likewise.
46595         * lib/stpcpy.c: Likewise.
46596         * lib/stpncpy.c: Likewise.
46597         * lib/strchrnul.c: Likewise.
46598         * lib/strcspn.c: Likewise.
46599         * lib/strerror.c: Likewise.
46600         * lib/strftime.c: Likewise.
46601         * lib/strftime.h: Likewise.
46602         * lib/striconveh.c: Likewise.
46603         * lib/striconveh.h: Likewise.
46604         * lib/striconveha.c: Likewise.
46605         * lib/striconveha.h: Likewise.
46606         * lib/stripslash.c: Likewise.
46607         * lib/strnlen1.c: Likewise.
46608         * lib/strnlen1.h: Likewise.
46609         * lib/strtod.c: Likewise.
46610         * lib/strtoimax.c: Likewise.
46611         * lib/strtok_r.c: Likewise.
46612         * lib/strtol.c: Likewise.
46613         * lib/strtoll.c: Likewise.
46614         * lib/strtoul.c: Likewise.
46615         * lib/strtoull.c: Likewise.
46616         * lib/sysexits.in.h: Likewise.
46617         * lib/tempname.c: Likewise.
46618         * lib/tempname.h: Likewise.
46619         * lib/timespec.h: Likewise.
46620         * lib/tls.c: Likewise.
46621         * lib/tls.h: Likewise.
46622         * lib/tmpdir.c: Likewise.
46623         * lib/tmpdir.h: Likewise.
46624         * lib/tmpfile-safer.c: Likewise.
46625         * lib/tmpfile.c: Likewise.
46626         * lib/trigl.c: Likewise.
46627         * lib/trigl.h: Likewise.
46628         * lib/trim.c: Likewise.
46629         * lib/trim.h: Likewise.
46630         * lib/trunc.c: Likewise.
46631         * lib/truncf.c: Likewise.
46632         * lib/truncl.c: Likewise.
46633         * lib/tsearch.c: Likewise.
46634         * lib/unicodeio.c: Likewise.
46635         * lib/unicodeio.h: Likewise.
46636         * lib/unistd--.h: Likewise.
46637         * lib/unistd-safer.h: Likewise.
46638         * lib/unistdio/ulc-fprintf.c: Likewise.
46639         * lib/unistdio/ulc-vfprintf.c: Likewise.
46640         * lib/unlinkdir.c: Likewise.
46641         * lib/unlinkdir.h: Likewise.
46642         * lib/unlocked-io.h: Likewise.
46643         * lib/unsetenv.c: Likewise.
46644         * lib/userspec.c: Likewise.
46645         * lib/utime.c: Likewise.
46646         * lib/utimecmp.c: Likewise.
46647         * lib/utimecmp.h: Likewise.
46648         * lib/utimens.c: Likewise.
46649         * lib/verify.h: Likewise.
46650         * lib/verror.c: Likewise.
46651         * lib/verror.h: Likewise.
46652         * lib/version-etc-fsf.c: Likewise.
46653         * lib/version-etc.c: Likewise.
46654         * lib/version-etc.h: Likewise.
46655         * lib/vfprintf.c: Likewise.
46656         * lib/vprintf.c: Likewise.
46657         * lib/vsprintf.c: Likewise.
46658         * lib/w32spawn.h: Likewise.
46659         * lib/wait-process.c: Likewise.
46660         * lib/wait-process.h: Likewise.
46661         * lib/wcwidth.c: Likewise.
46662         * lib/write-any-file.c: Likewise.
46663         * lib/xalloc-die.c: Likewise.
46664         * lib/xalloc.h: Likewise.
46665         * lib/xasprintf.c: Likewise.
46666         * lib/xgetcwd.c: Likewise.
46667         * lib/xgetcwd.h: Likewise.
46668         * lib/xgetdomainname.c: Likewise.
46669         * lib/xgetdomainname.h: Likewise.
46670         * lib/xgethostname.c: Likewise.
46671         * lib/xmalloc.c: Likewise.
46672         * lib/xmalloca.c: Likewise.
46673         * lib/xmalloca.h: Likewise.
46674         * lib/xmemcoll.c: Likewise.
46675         * lib/xnanosleep.c: Likewise.
46676         * lib/xreadlink.c: Likewise.
46677         * lib/xreadlink.h: Likewise.
46678         * lib/xsetenv.c: Likewise.
46679         * lib/xsetenv.h: Likewise.
46680         * lib/xstriconv.c: Likewise.
46681         * lib/xstriconv.h: Likewise.
46682         * lib/xstrndup.c: Likewise.
46683         * lib/xstrndup.h: Likewise.
46684         * lib/xstrtod.c: Likewise.
46685         * lib/xstrtod.h: Likewise.
46686         * lib/xstrtol-error.c: Likewise.
46687         * lib/xstrtol.c: Likewise.
46688         * lib/xstrtol.h: Likewise.
46689         * lib/xtime.h: Likewise.
46690         * lib/xvasprintf.c: Likewise.
46691         * lib/xvasprintf.h: Likewise.
46692         * lib/yesno.c: Likewise.
46693         * lib/yesno.h: Likewise.
46694         * posix-modules: Likewise.
46695         * tests/test-alloca-opt.c: Likewise.
46696         * tests/test-arcfour.c: Likewise.
46697         * tests/test-arctwo.c: Likewise.
46698         * tests/test-argmatch.c: Likewise.
46699         * tests/test-argp-2.sh: Likewise.
46700         * tests/test-argp.c: Likewise.
46701         * tests/test-arpa_inet.c: Likewise.
46702         * tests/test-array_list.c: Likewise.
46703         * tests/test-array_oset.c: Likewise.
46704         * tests/test-atexit.c: Likewise.
46705         * tests/test-avltree_list.c: Likewise.
46706         * tests/test-avltree_oset.c: Likewise.
46707         * tests/test-avltreehash_list.c: Likewise.
46708         * tests/test-base64.c: Likewise.
46709         * tests/test-binary-io.c: Likewise.
46710         * tests/test-byteswap.c: Likewise.
46711         * tests/test-c-ctype.c: Likewise.
46712         * tests/test-c-strcasecmp.c: Likewise.
46713         * tests/test-c-strcasestr.c: Likewise.
46714         * tests/test-c-strncasecmp.c: Likewise.
46715         * tests/test-c-strstr.c: Likewise.
46716         * tests/test-canonicalize-lgpl.c: Likewise.
46717         * tests/test-canonicalize.c: Likewise.
46718         * tests/test-carray_list.c: Likewise.
46719         * tests/test-ceilf.c: Likewise.
46720         * tests/test-ceill.c: Likewise.
46721         * tests/test-count-one-bits.c: Likewise.
46722         * tests/test-crc.c: Likewise.
46723         * tests/test-dirname.c: Likewise.
46724         * tests/test-fbufmode.c: Likewise.
46725         * tests/test-fcntl.c: Likewise.
46726         * tests/test-fflush.c: Likewise.
46727         * tests/test-floorf.c: Likewise.
46728         * tests/test-floorl.c: Likewise.
46729         * tests/test-fopen.c: Likewise.
46730         * tests/test-fprintf-posix.c: Likewise.
46731         * tests/test-fprintf-posix.h: Likewise.
46732         * tests/test-fpurge.c: Likewise.
46733         * tests/test-freadable.c: Likewise.
46734         * tests/test-freadahead.c: Likewise.
46735         * tests/test-freading.c: Likewise.
46736         * tests/test-freopen.c: Likewise.
46737         * tests/test-frexp.c: Likewise.
46738         * tests/test-frexpl.c: Likewise.
46739         * tests/test-fseek.c: Likewise.
46740         * tests/test-fseeko.c: Likewise.
46741         * tests/test-fseterr.c: Likewise.
46742         * tests/test-fstrcmp.c: Likewise.
46743         * tests/test-ftell.c: Likewise.
46744         * tests/test-ftello.c: Likewise.
46745         * tests/test-fwritable.c: Likewise.
46746         * tests/test-fwriting.c: Likewise.
46747         * tests/test-getaddrinfo.c: Likewise.
46748         * tests/test-getpass.c: Likewise.
46749         * tests/test-gettimeofday.c: Likewise.
46750         * tests/test-hmac-md5.c: Likewise.
46751         * tests/test-hmac-sha1.c: Likewise.
46752         * tests/test-iconv.c: Likewise.
46753         * tests/test-iconvme.c: Likewise.
46754         * tests/test-inttypes.c: Likewise.
46755         * tests/test-isnan.c: Likewise.
46756         * tests/test-isnanf.c: Likewise.
46757         * tests/test-isnanl-nolibm.c: Likewise.
46758         * tests/test-isnanl.c: Likewise.
46759         * tests/test-isnanl.h: Likewise.
46760         * tests/test-ldexpl.c: Likewise.
46761         * tests/test-linked_list.c: Likewise.
46762         * tests/test-linkedhash_list.c: Likewise.
46763         * tests/test-locale.c: Likewise.
46764         * tests/test-localename.c: Likewise.
46765         * tests/test-lock.c: Likewise.
46766         * tests/test-lseek.c: Likewise.
46767         * tests/test-malloca.c: Likewise.
46768         * tests/test-math.c: Likewise.
46769         * tests/test-mbscasecmp.c: Likewise.
46770         * tests/test-mbscasestr1.c: Likewise.
46771         * tests/test-mbscasestr2.c: Likewise.
46772         * tests/test-mbscasestr3.c: Likewise.
46773         * tests/test-mbscasestr4.c: Likewise.
46774         * tests/test-mbschr.c: Likewise.
46775         * tests/test-mbscspn.c: Likewise.
46776         * tests/test-mbsncasecmp.c: Likewise.
46777         * tests/test-mbspbrk.c: Likewise.
46778         * tests/test-mbspcasecmp.c: Likewise.
46779         * tests/test-mbsrchr.c: Likewise.
46780         * tests/test-mbsspn.c: Likewise.
46781         * tests/test-mbsstr1.c: Likewise.
46782         * tests/test-mbsstr2.c: Likewise.
46783         * tests/test-mbsstr3.c: Likewise.
46784         * tests/test-md5.c: Likewise.
46785         * tests/test-memmem.c: Likewise.
46786         * tests/test-netinet_in.c: Likewise.
46787         * tests/test-open.c: Likewise.
46788         * tests/test-printf-frexp.c: Likewise.
46789         * tests/test-printf-frexpl.c: Likewise.
46790         * tests/test-printf-posix.c: Likewise.
46791         * tests/test-printf-posix.h: Likewise.
46792         * tests/test-rbtree_list.c: Likewise.
46793         * tests/test-rbtree_oset.c: Likewise.
46794         * tests/test-rbtreehash_list.c: Likewise.
46795         * tests/test-read-file.c: Likewise.
46796         * tests/test-rijndael.c: Likewise.
46797         * tests/test-search.c: Likewise.
46798         * tests/test-signbit.c: Likewise.
46799         * tests/test-sleep.c: Likewise.
46800         * tests/test-snprintf-posix.c: Likewise.
46801         * tests/test-snprintf-posix.h: Likewise.
46802         * tests/test-snprintf.c: Likewise.
46803         * tests/test-sprintf-posix.c: Likewise.
46804         * tests/test-sprintf-posix.h: Likewise.
46805         * tests/test-stat-time.c: Likewise.
46806         * tests/test-stdbool.c: Likewise.
46807         * tests/test-stdint.c: Likewise.
46808         * tests/test-stdio.c: Likewise.
46809         * tests/test-stdlib.c: Likewise.
46810         * tests/test-stpncpy.c: Likewise.
46811         * tests/test-strcasestr.c: Likewise.
46812         * tests/test-striconv.c: Likewise.
46813         * tests/test-striconveh.c: Likewise.
46814         * tests/test-striconveha.c: Likewise.
46815         * tests/test-string.c: Likewise.
46816         * tests/test-sys_select.c: Likewise.
46817         * tests/test-sys_socket.c: Likewise.
46818         * tests/test-sys_stat.c: Likewise.
46819         * tests/test-sys_time.c: Likewise.
46820         * tests/test-sysexits.c: Likewise.
46821         * tests/test-time.c: Likewise.
46822         * tests/test-tls.c: Likewise.
46823         * tests/test-trunc.c: Likewise.
46824         * tests/test-truncf.c: Likewise.
46825         * tests/test-truncl.c: Likewise.
46826         * tests/test-unistd.c: Likewise.
46827         * tests/test-vasnprintf-posix.c: Likewise.
46828         * tests/test-vasnprintf-posix2.c: Likewise.
46829         * tests/test-vasnprintf.c: Likewise.
46830         * tests/test-vasprintf-posix.c: Likewise.
46831         * tests/test-vasprintf.c: Likewise.
46832         * tests/test-verify.c: Likewise.
46833         * tests/test-vfprintf-posix.c: Likewise.
46834         * tests/test-vprintf-posix.c: Likewise.
46835         * tests/test-vsnprintf-posix.c: Likewise.
46836         * tests/test-vsnprintf.c: Likewise.
46837         * tests/test-vsprintf-posix.c: Likewise.
46838         * tests/test-wchar.c: Likewise.
46839         * tests/test-wctype.c: Likewise.
46840         * tests/test-wcwidth.c: Likewise.
46841         * tests/test-xstrtol.c: Likewise.
46842         * tests/test-xvasprintf.c: Likewise.
46843         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
46844         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
46845         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46846         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46847         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46848         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
46849         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46850         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46851         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46852         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
46853         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46854         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46855         * tests/uniname/test-uninames.c: Likewise.
46856         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
46857         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
46858         * tests/unistdio/test-u16-printf1.h: Likewise.
46859         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
46860         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
46861         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
46862         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
46863         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
46864         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
46865         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
46866         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
46867         * tests/unistdio/test-u32-printf1.h: Likewise.
46868         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
46869         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
46870         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
46871         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
46872         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
46873         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
46874         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
46875         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
46876         * tests/unistdio/test-u8-printf1.h: Likewise.
46877         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
46878         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
46879         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
46880         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
46881         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
46882         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
46883         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
46884         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
46885         * tests/unistdio/test-ulc-printf1.h: Likewise.
46886         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
46887         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
46888         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
46889         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
46890         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
46891         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
46892         * tests/uniwidth/test-u16-strwidth.c: Likewise.
46893         * tests/uniwidth/test-u16-width.c: Likewise.
46894         * tests/uniwidth/test-u32-strwidth.c: Likewise.
46895         * tests/uniwidth/test-u32-width.c: Likewise.
46896         * tests/uniwidth/test-u8-strwidth.c: Likewise.
46897         * tests/uniwidth/test-u8-width.c: Likewise.
46898         * tests/uniwidth/test-uc_width.c: Likewise.
46899         * config/srclist-update: Likewise.
46900         (fixlicense): Update to GPLv3+.
46901
46902         Change copyright notice from LGPLv2.1+ to LGPLv3+.
46903         * tests/test-tsearch.c: Change copyright notice.
46904
46905         Change copyright notice from LGPLv2.0+ to LGPLv3+.
46906         * lib/c-strcaseeq.h: Change copyright notice.
46907         * lib/streq.h: Likewise.
46908         * lib/uniconv.h: Likewise.
46909         * lib/uniconv/u-conv-from-enc.h: Likewise.
46910         * lib/uniconv/u-conv-to-enc.h: Likewise.
46911         * lib/uniconv/u-strconv-from-enc.h: Likewise.
46912         * lib/uniconv/u-strconv-to-enc.h: Likewise.
46913         * lib/uniconv/u16-conv-from-enc.c: Likewise.
46914         * lib/uniconv/u16-conv-to-enc.c: Likewise.
46915         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
46916         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
46917         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
46918         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
46919         * lib/uniconv/u32-conv-from-enc.c: Likewise.
46920         * lib/uniconv/u32-conv-to-enc.c: Likewise.
46921         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
46922         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
46923         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
46924         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
46925         * lib/uniconv/u8-conv-from-enc.c: Likewise.
46926         * lib/uniconv/u8-conv-to-enc.c: Likewise.
46927         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
46928         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
46929         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
46930         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
46931         * lib/uniname.h: Likewise.
46932         * lib/uniname/uniname.c: Likewise.
46933         * lib/unistdio.h: Likewise.
46934         * lib/unistdio/u-asnprintf.h: Likewise.
46935         * lib/unistdio/u-asprintf.h: Likewise.
46936         * lib/unistdio/u-printf-args.c: Likewise.
46937         * lib/unistdio/u-printf-args.h: Likewise.
46938         * lib/unistdio/u-printf-parse.h: Likewise.
46939         * lib/unistdio/u-snprintf.h: Likewise.
46940         * lib/unistdio/u-sprintf.h: Likewise.
46941         * lib/unistdio/u-vasprintf.h: Likewise.
46942         * lib/unistdio/u-vsnprintf.h: Likewise.
46943         * lib/unistdio/u-vsprintf.h: Likewise.
46944         * lib/unistdio/u16-asnprintf.c: Likewise.
46945         * lib/unistdio/u16-asprintf.c: Likewise.
46946         * lib/unistdio/u16-printf-parse.c: Likewise.
46947         * lib/unistdio/u16-snprintf.c: Likewise.
46948         * lib/unistdio/u16-sprintf.c: Likewise.
46949         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
46950         * lib/unistdio/u16-u16-asprintf.c: Likewise.
46951         * lib/unistdio/u16-u16-snprintf.c: Likewise.
46952         * lib/unistdio/u16-u16-sprintf.c: Likewise.
46953         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
46954         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
46955         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
46956         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
46957         * lib/unistdio/u16-vasnprintf.c: Likewise.
46958         * lib/unistdio/u16-vasprintf.c: Likewise.
46959         * lib/unistdio/u16-vsnprintf.c: Likewise.
46960         * lib/unistdio/u16-vsprintf.c: Likewise.
46961         * lib/unistdio/u32-asnprintf.c: Likewise.
46962         * lib/unistdio/u32-asprintf.c: Likewise.
46963         * lib/unistdio/u32-printf-parse.c: Likewise.
46964         * lib/unistdio/u32-snprintf.c: Likewise.
46965         * lib/unistdio/u32-sprintf.c: Likewise.
46966         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
46967         * lib/unistdio/u32-u32-asprintf.c: Likewise.
46968         * lib/unistdio/u32-u32-snprintf.c: Likewise.
46969         * lib/unistdio/u32-u32-sprintf.c: Likewise.
46970         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
46971         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
46972         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
46973         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
46974         * lib/unistdio/u32-vasnprintf.c: Likewise.
46975         * lib/unistdio/u32-vasprintf.c: Likewise.
46976         * lib/unistdio/u32-vsnprintf.c: Likewise.
46977         * lib/unistdio/u32-vsprintf.c: Likewise.
46978         * lib/unistdio/u8-asnprintf.c: Likewise.
46979         * lib/unistdio/u8-asprintf.c: Likewise.
46980         * lib/unistdio/u8-printf-parse.c: Likewise.
46981         * lib/unistdio/u8-snprintf.c: Likewise.
46982         * lib/unistdio/u8-sprintf.c: Likewise.
46983         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
46984         * lib/unistdio/u8-u8-asprintf.c: Likewise.
46985         * lib/unistdio/u8-u8-snprintf.c: Likewise.
46986         * lib/unistdio/u8-u8-sprintf.c: Likewise.
46987         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
46988         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
46989         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
46990         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
46991         * lib/unistdio/u8-vasnprintf.c: Likewise.
46992         * lib/unistdio/u8-vasprintf.c: Likewise.
46993         * lib/unistdio/u8-vsnprintf.c: Likewise.
46994         * lib/unistdio/u8-vsprintf.c: Likewise.
46995         * lib/unistdio/ulc-asnprintf.c: Likewise.
46996         * lib/unistdio/ulc-asprintf.c: Likewise.
46997         * lib/unistdio/ulc-printf-parse.c: Likewise.
46998         * lib/unistdio/ulc-snprintf.c: Likewise.
46999         * lib/unistdio/ulc-sprintf.c: Likewise.
47000         * lib/unistdio/ulc-vasnprintf.c: Likewise.
47001         * lib/unistdio/ulc-vasprintf.c: Likewise.
47002         * lib/unistdio/ulc-vsnprintf.c: Likewise.
47003         * lib/unistdio/ulc-vsprintf.c: Likewise.
47004         * lib/unistr.h: Likewise.
47005         * lib/unistr/u-cpy-alloc.h: Likewise.
47006         * lib/unistr/u-cpy.h: Likewise.
47007         * lib/unistr/u-endswith.h: Likewise.
47008         * lib/unistr/u-move.h: Likewise.
47009         * lib/unistr/u-set.h: Likewise.
47010         * lib/unistr/u-startswith.h: Likewise.
47011         * lib/unistr/u-stpcpy.h: Likewise.
47012         * lib/unistr/u-stpncpy.h: Likewise.
47013         * lib/unistr/u-strcat.h: Likewise.
47014         * lib/unistr/u-strcpy.h: Likewise.
47015         * lib/unistr/u-strcspn.h: Likewise.
47016         * lib/unistr/u-strdup.h: Likewise.
47017         * lib/unistr/u-strlen.h: Likewise.
47018         * lib/unistr/u-strncat.h: Likewise.
47019         * lib/unistr/u-strncpy.h: Likewise.
47020         * lib/unistr/u-strnlen.h: Likewise.
47021         * lib/unistr/u-strpbrk.h: Likewise.
47022         * lib/unistr/u-strspn.h: Likewise.
47023         * lib/unistr/u-strstr.h: Likewise.
47024         * lib/unistr/u-strtok.h: Likewise.
47025         * lib/unistr/u16-check.c: Likewise.
47026         * lib/unistr/u16-chr.c: Likewise.
47027         * lib/unistr/u16-cmp.c: Likewise.
47028         * lib/unistr/u16-cpy-alloc.c: Likewise.
47029         * lib/unistr/u16-cpy.c: Likewise.
47030         * lib/unistr/u16-endswith.c: Likewise.
47031         * lib/unistr/u16-mblen.c: Likewise.
47032         * lib/unistr/u16-mbsnlen.c: Likewise.
47033         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47034         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47035         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47036         * lib/unistr/u16-mbtouc.c: Likewise.
47037         * lib/unistr/u16-mbtoucr.c: Likewise.
47038         * lib/unistr/u16-move.c: Likewise.
47039         * lib/unistr/u16-next.c: Likewise.
47040         * lib/unistr/u16-prev.c: Likewise.
47041         * lib/unistr/u16-set.c: Likewise.
47042         * lib/unistr/u16-startswith.c: Likewise.
47043         * lib/unistr/u16-stpcpy.c: Likewise.
47044         * lib/unistr/u16-stpncpy.c: Likewise.
47045         * lib/unistr/u16-strcat.c: Likewise.
47046         * lib/unistr/u16-strchr.c: Likewise.
47047         * lib/unistr/u16-strcmp.c: Likewise.
47048         * lib/unistr/u16-strcpy.c: Likewise.
47049         * lib/unistr/u16-strcspn.c: Likewise.
47050         * lib/unistr/u16-strdup.c: Likewise.
47051         * lib/unistr/u16-strlen.c: Likewise.
47052         * lib/unistr/u16-strmblen.c: Likewise.
47053         * lib/unistr/u16-strmbtouc.c: Likewise.
47054         * lib/unistr/u16-strncat.c: Likewise.
47055         * lib/unistr/u16-strncmp.c: Likewise.
47056         * lib/unistr/u16-strncpy.c: Likewise.
47057         * lib/unistr/u16-strnlen.c: Likewise.
47058         * lib/unistr/u16-strpbrk.c: Likewise.
47059         * lib/unistr/u16-strrchr.c: Likewise.
47060         * lib/unistr/u16-strspn.c: Likewise.
47061         * lib/unistr/u16-strstr.c: Likewise.
47062         * lib/unistr/u16-strtok.c: Likewise.
47063         * lib/unistr/u16-to-u32.c: Likewise.
47064         * lib/unistr/u16-to-u8.c: Likewise.
47065         * lib/unistr/u16-uctomb-aux.c: Likewise.
47066         * lib/unistr/u16-uctomb.c: Likewise.
47067         * lib/unistr/u32-check.c: Likewise.
47068         * lib/unistr/u32-chr.c: Likewise.
47069         * lib/unistr/u32-cmp.c: Likewise.
47070         * lib/unistr/u32-cpy-alloc.c: Likewise.
47071         * lib/unistr/u32-cpy.c: Likewise.
47072         * lib/unistr/u32-endswith.c: Likewise.
47073         * lib/unistr/u32-mblen.c: Likewise.
47074         * lib/unistr/u32-mbsnlen.c: Likewise.
47075         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47076         * lib/unistr/u32-mbtouc.c: Likewise.
47077         * lib/unistr/u32-mbtoucr.c: Likewise.
47078         * lib/unistr/u32-move.c: Likewise.
47079         * lib/unistr/u32-next.c: Likewise.
47080         * lib/unistr/u32-prev.c: Likewise.
47081         * lib/unistr/u32-set.c: Likewise.
47082         * lib/unistr/u32-startswith.c: Likewise.
47083         * lib/unistr/u32-stpcpy.c: Likewise.
47084         * lib/unistr/u32-stpncpy.c: Likewise.
47085         * lib/unistr/u32-strcat.c: Likewise.
47086         * lib/unistr/u32-strchr.c: Likewise.
47087         * lib/unistr/u32-strcmp.c: Likewise.
47088         * lib/unistr/u32-strcpy.c: Likewise.
47089         * lib/unistr/u32-strcspn.c: Likewise.
47090         * lib/unistr/u32-strdup.c: Likewise.
47091         * lib/unistr/u32-strlen.c: Likewise.
47092         * lib/unistr/u32-strmblen.c: Likewise.
47093         * lib/unistr/u32-strmbtouc.c: Likewise.
47094         * lib/unistr/u32-strncat.c: Likewise.
47095         * lib/unistr/u32-strncmp.c: Likewise.
47096         * lib/unistr/u32-strncpy.c: Likewise.
47097         * lib/unistr/u32-strnlen.c: Likewise.
47098         * lib/unistr/u32-strpbrk.c: Likewise.
47099         * lib/unistr/u32-strrchr.c: Likewise.
47100         * lib/unistr/u32-strspn.c: Likewise.
47101         * lib/unistr/u32-strstr.c: Likewise.
47102         * lib/unistr/u32-strtok.c: Likewise.
47103         * lib/unistr/u32-to-u16.c: Likewise.
47104         * lib/unistr/u32-to-u8.c: Likewise.
47105         * lib/unistr/u32-uctomb.c: Likewise.
47106         * lib/unistr/u8-check.c: Likewise.
47107         * lib/unistr/u8-chr.c: Likewise.
47108         * lib/unistr/u8-cmp.c: Likewise.
47109         * lib/unistr/u8-cpy-alloc.c: Likewise.
47110         * lib/unistr/u8-cpy.c: Likewise.
47111         * lib/unistr/u8-endswith.c: Likewise.
47112         * lib/unistr/u8-mblen.c: Likewise.
47113         * lib/unistr/u8-mbsnlen.c: Likewise.
47114         * lib/unistr/u8-mbtouc-aux.c: Likewise.
47115         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47116         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47117         * lib/unistr/u8-mbtouc.c: Likewise.
47118         * lib/unistr/u8-mbtoucr.c: Likewise.
47119         * lib/unistr/u8-move.c: Likewise.
47120         * lib/unistr/u8-next.c: Likewise.
47121         * lib/unistr/u8-prev.c: Likewise.
47122         * lib/unistr/u8-set.c: Likewise.
47123         * lib/unistr/u8-startswith.c: Likewise.
47124         * lib/unistr/u8-stpcpy.c: Likewise.
47125         * lib/unistr/u8-stpncpy.c: Likewise.
47126         * lib/unistr/u8-strcat.c: Likewise.
47127         * lib/unistr/u8-strchr.c: Likewise.
47128         * lib/unistr/u8-strcmp.c: Likewise.
47129         * lib/unistr/u8-strcpy.c: Likewise.
47130         * lib/unistr/u8-strcspn.c: Likewise.
47131         * lib/unistr/u8-strdup.c: Likewise.
47132         * lib/unistr/u8-strlen.c: Likewise.
47133         * lib/unistr/u8-strmblen.c: Likewise.
47134         * lib/unistr/u8-strmbtouc.c: Likewise.
47135         * lib/unistr/u8-strncat.c: Likewise.
47136         * lib/unistr/u8-strncmp.c: Likewise.
47137         * lib/unistr/u8-strncpy.c: Likewise.
47138         * lib/unistr/u8-strnlen.c: Likewise.
47139         * lib/unistr/u8-strpbrk.c: Likewise.
47140         * lib/unistr/u8-strrchr.c: Likewise.
47141         * lib/unistr/u8-strspn.c: Likewise.
47142         * lib/unistr/u8-strstr.c: Likewise.
47143         * lib/unistr/u8-strtok.c: Likewise.
47144         * lib/unistr/u8-to-u16.c: Likewise.
47145         * lib/unistr/u8-to-u32.c: Likewise.
47146         * lib/unistr/u8-uctomb-aux.c: Likewise.
47147         * lib/unistr/u8-uctomb.c: Likewise.
47148         * lib/unitypes.h: Likewise.
47149         * lib/uniwidth.h: Likewise.
47150         * lib/uniwidth/cjk.h: Likewise.
47151         * lib/uniwidth/u16-strwidth.c: Likewise.
47152         * lib/uniwidth/u16-width.c: Likewise.
47153         * lib/uniwidth/u32-strwidth.c: Likewise.
47154         * lib/uniwidth/u32-width.c: Likewise.
47155         * lib/uniwidth/u8-strwidth.c: Likewise.
47156         * lib/uniwidth/u8-width.c: Likewise.
47157         * lib/uniwidth/width.c: Likewise.
47158
47159 2007-10-07  Bruno Haible  <bruno@clisp.org>
47160
47161         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
47162         The file is still under LGPL (see modules/inttypes).
47163
47164 2007-10-06  Bruno Haible  <bruno@clisp.org>
47165
47166         * modules/trunc (Dependencies): Add 'extensions'.
47167         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
47168         Reported by Ben Pfaff <blp@gnu.org>.
47169
47170 2007-10-06  Bruno Haible  <bruno@clisp.org>
47171
47172         * modules/freopen-tests: New file.
47173         * tests/test-freopen.c: New file.
47174
47175         * modules/fopen-tests: New file.
47176         * tests/test-fopen.c: New file.
47177
47178         * modules/fopen: New file.
47179         * lib/fopen.c: New file.
47180         * m4/fopen.m4: New file.
47181         * modules/freopen: New file.
47182         * lib/freopen.c: New file.
47183         * m4/freopen.m4: New file.
47184         * lib/stdio.in.h (fopen, freopen): New declarations.
47185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
47186         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47187         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
47188         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47189         * doc/functions/fopen.texi: Mention the 'fopen' module.
47190         * doc/functions/freopen.texi: Mention the 'freopen' module.
47191
47192 2007-10-06  Bruno Haible  <bruno@clisp.org>
47193
47194         * modules/open-tests: New file.
47195         * tests/test-open.c: New file.
47196
47197         * modules/open: New file.
47198         * lib/open.c: New file.
47199         * m4/open.m4: New file.
47200         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
47201         lib/open.c does.
47202         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
47203         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
47204         macros.
47205         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
47206         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
47207         REPLACE_OPEN.
47208         * doc/functions/open.texi: Mention the 'open' module.
47209
47210 2007-10-04  Bruno Haible  <bruno@clisp.org>
47211
47212         * modules/ceill-tests: New file.
47213         * tests/test-ceill.c: New file.
47214
47215         * modules/ceill: New file.
47216         * lib/ceill.c: Replace entire file.
47217         * m4/ceill.m4: New file.
47218         * lib/math.in.h (ceill): Replace declaration.
47219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
47220         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
47221         * doc/functions/ceill.texi: Mention the 'ceill' module.
47222         * modules/mathl (Files): Remove lib/ceill.c.
47223         (Depends-on): Add ceill.
47224
47225 2007-10-04  Bruno Haible  <bruno@clisp.org>
47226
47227         * modules/ceilf-tests: New file.
47228         * tests/test-ceilf.c: New file.
47229
47230         * modules/ceilf: New file.
47231         * lib/ceil.c: New file.
47232         * lib/ceilf.c: New file.
47233         * m4/ceilf.m4: New file.
47234         * lib/math.in.h (ceilf): New declaration.
47235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
47236         HAVE_DECL_CEILF.
47237         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
47238         HAVE_DECL_CEILF.
47239         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
47240
47241 2007-10-04  Bruno Haible  <bruno@clisp.org>
47242
47243         * modules/floorl-tests: New file.
47244         * tests/test-floorl.c: New file.
47245
47246         * modules/floorl: New file.
47247         * lib/floorl.c: Replace entire file.
47248         * m4/floorl.m4: New file.
47249         * lib/math.in.h (floorl): Replace declaration.
47250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
47251         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
47252         * doc/functions/floorl.texi: Mention the 'floorl' module.
47253         * modules/mathl (Files): Remove lib/floorl.c.
47254         (Depends-on): Add floorl.
47255
47256 2007-10-04  Bruno Haible  <bruno@clisp.org>
47257
47258         * modules/floorf-tests: New file.
47259         * tests/test-floorf.c: New file.
47260
47261         * modules/floorf: New file.
47262         * lib/floor.c: New file.
47263         * lib/floorf.c: New file.
47264         * m4/floorf.m4: New file.
47265         * lib/math.in.h (floorf): New declaration.
47266         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
47267         HAVE_DECL_FLOORF.
47268         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
47269         HAVE_DECL_FLOORF.
47270         * doc/functions/floorf.texi: Mention the 'floorf' module.
47271
47272 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
47273             Bruno Haible  <bruno@clisp.org>
47274
47275         Advertise for the Git server instead of the CVS server.
47276         * doc/gnulib-intro.texi (Steady Development): Mention the Git
47277         repository instead of the CVS one.
47278         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
47279         about all VCS systems generically.
47280         * doc/gnulib.texi (Introduction): Capitalize `Git'.
47281
47282 2007-10-04  Bruno Haible  <bruno@clisp.org>
47283
47284         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
47285         means.
47286         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
47287
47288 2007-10-04  Bruno Haible  <bruno@clisp.org>
47289
47290         * modules/truncl-tests: New file.
47291         * tests/test-truncl.c: New file.
47292
47293         * modules/truncl: New file.
47294         * lib/truncl.c: New file.
47295         * m4/truncl.m4: New file.
47296         * lib/math.in.h (truncl): New declaration.
47297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
47298         HAVE_DECL_TRUNCL.
47299         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
47300         HAVE_DECL_TRUNCL.
47301         * doc/functions/truncl.texi: Mention the 'truncl' module.
47302
47303 2007-10-04  Bruno Haible  <bruno@clisp.org>
47304
47305         * modules/truncf-tests: New file.
47306         * tests/test-truncf.c: New file.
47307
47308         * modules/truncf: New file.
47309         * lib/trunc.c: Make paramerizable through USE_* macros.
47310         * lib/truncf.c: New file.
47311         * m4/truncf.m4: New file.
47312         * lib/math.in.h (truncf): New declaration.
47313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
47314         HAVE_DECL_TRUNCF.
47315         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
47316         HAVE_DECL_TRUNCF.
47317         * doc/functions/truncf.texi: Mention the 'truncf' module.
47318
47319 2007-10-03  Bruno Haible  <bruno@clisp.org>
47320
47321         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47322         augmentation also for tests modules.
47323         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
47324         * modules/atexit-tests (Makefile.am): Likewise.
47325         * modules/binary-io-tests (Makefile.am): Likewise.
47326         * modules/c-strcase-tests (Makefile.am): Likewise.
47327         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
47328         * modules/canonicalize-tests (Makefile.am): Likewise.
47329         * modules/closein-tests (Makefile.am): Likewise.
47330         * modules/fprintf-posix-tests (Makefile.am): Likewise.
47331         * modules/freadahead-tests (Makefile.am): Likewise.
47332         * modules/fseek-tests (Makefile.am): Likewise.
47333         * modules/fseeko-tests (Makefile.am): Likewise.
47334         * modules/ftell-tests (Makefile.am): Likewise.
47335         * modules/ftello-tests (Makefile.am): Likewise.
47336         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
47337         * modules/isnanl-tests (Makefile.am): Likewise.
47338         * modules/lseek-tests (Makefile.am): Likewise.
47339         * modules/mbscasecmp-tests (Makefile.am): Likewise.
47340         * modules/mbscasestr-tests (Makefile.am): Likewise.
47341         * modules/mbschr-tests (Makefile.am): Likewise.
47342         * modules/mbscspn-tests (Makefile.am): Likewise.
47343         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
47344         * modules/mbspbrk-tests (Makefile.am): Likewise.
47345         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
47346         * modules/mbsrchr-tests (Makefile.am): Likewise.
47347         * modules/mbsspn-tests (Makefile.am): Likewise.
47348         * modules/mbsstr-tests (Makefile.am): Likewise.
47349         * modules/printf-posix-tests (Makefile.am): Likewise.
47350         * modules/snprintf-posix-tests (Makefile.am): Likewise.
47351         * modules/sprintf-posix-tests (Makefile.am): Likewise.
47352         * modules/tsearch-tests (Makefile.am): Likewise.
47353         * modules/uniname/uniname-tests (Makefile.am): Likewise.
47354         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
47355         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
47356         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
47357         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
47358         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
47359         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
47360         * modules/vprintf-posix-tests (Makefile.am): Likewise.
47361         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
47362         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
47363         * modules/xstrtoimax-tests (Makefile.am): Likewise.
47364         * modules/xstrtol-tests (Makefile.am): Likewise.
47365         * modules/xstrtoumax-tests (Makefile.am): Likewise.
47366         * modules/yesno-tests (Makefile.am): Likewise.
47367
47368 2007-10-03  Bruno Haible  <bruno@clisp.org>
47369
47370         * modules/trunc-tests: New file.
47371         * tests/test-trunc.c: New file.
47372
47373         * modules/trunc: New file.
47374         * lib/trunc.c: New file.
47375         * m4/trunc.m4: New file.
47376         * lib/math.in.h (trunc): New declaration.
47377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
47378         HAVE_DECL_TRUNC.
47379         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
47380         HAVE_DECL_TRUNC.
47381         * doc/functions/trunc.texi: Mention the 'trunc' module.
47382
47383 2007-10-03  Bruno Haible  <bruno@clisp.org>
47384
47385         * tests/test-fpending.c: New file, mostly copied
47386         from coreutils/lib/t-fpending.c.
47387         * modules/fpending-tests: New file.
47388
47389 2007-10-03  Bruno Haible  <bruno@clisp.org>
47390
47391         Port the stdio extensions to QNX (untested).
47392         * lib/fseterr.c (fseterr): Add support for QNX.
47393         * lib/fbufmode.c (fbufmode): Likewise.
47394         * lib/freadable.c (freadable): Likewise.
47395         * lib/fwritable.c (fwritable): Likewise.
47396         * lib/freading.c (freading): Likewise.
47397         * lib/fwriting.c (fwriting): Likewise.
47398         * lib/freadahead.c (freadahed): Likewise.
47399         * lib/fpurge.c (fpurge): Likewise.
47400         * lib/fseeko.c (rpl_fseeko): Likewise.
47401
47402 2007-10-03  Bruno Haible  <bruno@clisp.org>
47403             Jim Meyering  <jim@meyering.net>
47404             Eric Blake  <ebb9@byu.net>
47405
47406         * doc/relocatable.texi: Use @command instead of @program.
47407
47408 2007-10-02  Jim Meyering  <jim@meyering.net>
47409
47410         Perform one more "_.h" -> ".in.h" substitution.
47411         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
47412         instead of unistd_.h here, too.
47413
47414 2007-10-01  Bruno Haible  <bruno@clisp.org>
47415
47416         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
47417         Needed for the alloca-opt module.
47418
47419 2007-09-30  Bruno Haible  <bruno@clisp.org>
47420
47421         * lib/alloca.in.h: Renamed from lib/alloca_.h.
47422         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
47423         alloca_.h.
47424         * lib/argz.in.h: Renamed from lib/argz_.h.
47425         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
47426         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
47427         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
47428         byteswap_.h.
47429         * lib/dirent.in.h: Renamed from lib/dirent_.h.
47430         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
47431         dirent_.h.
47432         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
47433         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
47434         fcntl_.h.
47435         * lib/float.in.h: Renamed from lib/float_.h.
47436         * modules/float (Files, Makefile.am): Use float.in.h instead of
47437         float_.h.
47438         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
47439         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
47440         fnmatch_.h.
47441         * lib/getopt.in.h: Renamed from lib/getopt_.h.
47442         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
47443         getopt_.h.
47444         * lib/glob.in.h: Renamed from lib/glob_.h.
47445         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
47446         * lib/iconv.in.h: Renamed from lib/iconv_.h.
47447         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
47448         iconv_.h.
47449         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
47450         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
47451         inttypes_.h.
47452         * lib/locale.in.h: Renamed from lib/locale_.h.
47453         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
47454         locale_.h.
47455         * lib/math.in.h: Renamed from lib/math_.h.
47456         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
47457         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
47458         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
47459         of netinet_in_.h. Add dependency.
47460         * lib/poll.in.h: Renamed from lib/poll_.h.
47461         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
47462         * lib/search.in.h: Renamed from lib/search_.h.
47463         * modules/search (Files, Makefile.am): Use search.in.h instead of
47464         search_.h.
47465         * lib/signal.in.h: Renamed from lib/signal_.h.
47466         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
47467         _signal.h.
47468         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
47469         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
47470         stdbool_.h.
47471         * lib/stdint.in.h: Renamed from lib/stdint_.h.
47472         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
47473         stdint_.h.
47474         * lib/stdio.in.h: Renamed from lib/stdio_.h.
47475         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
47476         stdio_.h.
47477         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
47478         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
47479         stdlib_.h.
47480         * lib/string.in.h: Renamed from lib/string_.h.
47481         * modules/string (Files, Makefile.am): Use string.in.h instead of
47482         string_.h.
47483         * doc/gnulib-tool.texi (Initial import): Update.
47484         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
47485         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
47486         of sys_select_.h. Add dependency.
47487         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
47488         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
47489         of sys_socket_.h.
47490         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
47491         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
47492         sys_stat_.h.
47493         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
47494         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
47495         sys_time_.h.
47496         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
47497         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
47498         sysexits_.h.
47499         * lib/time.in.h: Renamed from lib/time_.h.
47500         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
47501         * lib/unistd.in.h: Renamed from lib/unistd_.h.
47502         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
47503         unistd_.h.
47504         * lib/wchar.in.h: Renamed from lib/wchar_.h.
47505         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
47506         wchar_.h.
47507         * lib/wctype.in.h: Renamed from lib/wctype_.h.
47508         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
47509         wctype_.h.
47510         * build-aux/bootstrap (slurp): Update.
47511         * lib/.cppi-disable: Update.
47512
47513 2007-09-30  Bruno Haible  <bruno@clisp.org>
47514
47515         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
47516         Needed on BeOS.
47517
47518 2007-09-30  Bruno Haible  <bruno@clisp.org>
47519
47520         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
47521
47522 2007-09-29  Bruno Haible  <bruno@clisp.org>
47523
47524         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
47525
47526 2007-09-29  Bruno Haible  <bruno@clisp.org>
47527
47528         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
47529         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
47530         * build-aux/install-reloc: Compile also areadlink.c.
47531         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
47532
47533 2007-09-29  Bruno Haible  <bruno@clisp.org>
47534
47535         * gnulib-tool (func_emit_initmacro_done): Indentation.
47536
47537 2007-09-29  Bruno Haible  <bruno@clisp.org>
47538
47539         * README: Add CVS checkout update instructions.
47540         Info from Bob Proulx <bob@proulx.com>.
47541
47542 2007-09-28  Eric Blake  <ebb9@byu.net>
47543
47544         Provide move-if-change.
47545         * build-aux/move-if-change: New file, based on best practice
47546         rather than any canonical upstream location.
47547
47548 2007-09-28  Jim Meyering  <jim@meyering.net>
47549
47550         Fix canonicalize loop-detection corner case.
47551         Do not attempt to stat the symlink values stored via seen_triple.
47552         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
47553         on linux-2.6.18, (but not 2.6.22).
47554         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
47555         triple_compare.  The former compares dev,ino,filename, while the latter
47556         would actually stat dirname(filename) when dev and ino were equal.
47557         * lib/hash-triple.c: Install <string.h>.
47558         (STREQ): Define.
47559         (triple_compare_ino_str): New function.
47560         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
47561
47562 2007-09-28  Eric Blake  <ebb9@byu.net>
47563
47564         Enforce that AC_REPLACE_FUNCS files exist.
47565         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
47566         override check for typos.
47567
47568         Fix test-closein on Solaris 10.
47569         * tests/test-closein.c (main): Don't assume stdin can be inherited
47570         closed on all systems.
47571         * tests/test-closein.sh: Likewise.
47572         Reported by Piotr Tarnowski.
47573
47574 2007-09-28  Jim Meyering  <jim@meyering.net>
47575
47576         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
47577
47578 2007-09-27  Jim Meyering  <jim@meyering.net>
47579
47580         canonicalize: Avoid a false-positive cycle failure.
47581         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
47582         Sort.  Remove cycle-check.
47583         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
47584         not cycle-check.h.
47585         (seen_triple): New function.
47586         (canonicalize_filename_mode): Use it instead of cycle-check.
47587         * tests/test-canonicalize.c: Add a test for this bug.
47588         * tests/test-canonicalize.sh: Set up and run the test.
47589
47590         New module, file-set, from coreutils.
47591         * modules/file-set: Define it.
47592         * lib/file-set.c, lib/file-set.h: Implement.
47593
47594         New module, hash-triple, from coreutils.
47595         * modules/hash-triple: Define it.
47596         * lib/hash-triple.c, lib/hash-triple.h: Implement.
47597
47598 2007-09-25  Eric Blake  <ebb9@byu.net>
47599
47600         Fix strerror on Interix.
47601         * lib/string_.h (strerror): Declare replacement.
47602         * doc/functions/strerror.texi (strerror): Document the Interix
47603         shortcoming.
47604         * modules/string (Makefile.am): Support new hooks.
47605         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47606         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47607         gl_FUNC_STRERROR_SEPARATE.
47608         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47609         * lib/strerror.c (rpl_strerror): Provide replacement.
47610         * modules/strerror (Depends-on): Add string.
47611         (configure.ac): Detect use of module.
47612         * tests/test-strerror.c: New file.
47613         * modules/strerror-tests: New test module.
47614         * modules/argp (Depends-on): Add strerror.
47615         * modules/error (Depends-on): Likewise.
47616         Reported by Martin Koeppe.
47617
47618 2007-09-24  Bruno Haible  <bruno@clisp.org>
47619
47620         * README: Update git instructions.
47621
47622 2007-09-24  Eric Blake  <ebb9@byu.net>
47623
47624         Revert fpending breakage from 2007-09-08.
47625         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47626         __fpending.c.
47627
47628 2007-09-24  Jim Meyering  <jim@meyering.net>
47629
47630         filenamecat.c: Add a test.
47631         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
47632         showing how the function works when DIR is the empty string.
47633
47634 2007-09-21  Simon Josefsson  <simon@josefsson.org>
47635
47636         * tests/test-canonicalize.sh: Turn on executable bit.
47637
47638 2007-09-19  Eric Blake  <ebb9@byu.net>
47639
47640         * README: Update CVS instructions.
47641
47642 2007-09-18  Bruno Haible  <bruno@clisp.org>
47643
47644         * modules/areadlink: New file.
47645         * lib/areadlink.h (areadlink): New declaration.
47646         * lib/areadlink.c: New file, based on lib/xreadlink.c.
47647
47648 2007-09-17  Jim Meyering  <jim@meyering.net>
47649
47650         * lib/savewd.c (ESTALE) [!defined]: Define.
47651         Reported to be required on Interix by Martin Koeppe.
47652
47653 2007-09-17  Bruno Haible  <bruno@clisp.org>
47654
47655         * gnulib-tool (func_version): Use $version.
47656
47657 2007-09-16  Bruno Haible  <bruno@clisp.org>
47658
47659         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
47660         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
47661         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
47662         Reported by Greg Schafer <gschafer@zip.com.au>.
47663
47664 2007-09-15  Bruno Haible  <bruno@clisp.org>
47665
47666         * gnulib-tool (sed): Try a little harder to make bash understand the
47667         alias.
47668         Reported by Bruce Korb <bruce.korb@gmail.com>.
47669
47670 2007-09-13  Eric Blake  <ebb9@byu.net>
47671
47672         * ChangeLog: Remove conflict markers.
47673
47674 2007-09-13  Simon Josefsson  <simon@josefsson.org>
47675
47676         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
47677         Reported by Bruno Haible <bruno@clisp.org>.
47678
47679 2007-09-12  Bruno Haible  <bruno@clisp.org>
47680
47681         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
47682         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
47683         is not defined.
47684
47685 2007-09-12  Eric Blake  <ebb9@byu.net>
47686
47687         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
47688         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
47689         Autoconf definition.
47690         * modules/euidaccess (Depends-on): Add extensions, for
47691         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
47692         * modules/fnmatch (Depends-on): Likewise.
47693         * modules/getaddrinfo (Depends-on): Likewise.
47694         * modules/getdelim (Depends-on): Likewise.
47695         * modules/getline (Depends-on): Likewise.
47696         * modules/getsubopt (Depends-on): Likewise.
47697         * modules/gettext (Depends-on): Likewise.
47698         * modules/group-member (Depends-on): Likewise.
47699         * modules/mbchar (Depends-on): Likewise.
47700         * modules/memmem (Depends-on): Likewise.
47701         * modules/mempcpy (Depends-on): Likewise.
47702         * modules/memrchr (Depends-on): Likewise.
47703         * modules/pagealign_alloc (Depends-on): Likewise.
47704         * modules/readutmp (Depends-on): Likewise.
47705         * modules/stpcpy (Depends-on): Likewise.
47706         * modules/stpncpy (Depends-on): Likewise.
47707         * modules/strchrnul (Depends-on): Likewise.
47708         * modules/strndup (Depends-on): Likewise.
47709         * modules/strsep (Depends-on): Likewise.
47710         * modules/strverscmp (Depends-on): Likewise.
47711         * modules/vasprintf (Depends-on): Likewise.
47712         * modules/wcwidth (Depends-on): Likewise.
47713         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
47714         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
47715         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
47716         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
47717         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47718         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47719         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
47720         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47721         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
47722         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
47723         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47724         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47725         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47726         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47727         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
47728         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47729         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47730         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47731         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47732         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47733         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47734         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47735         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47736         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
47737         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
47738         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47739         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
47740         so that lock.m4 can be used in gettext without extensions module.
47741
47742 2007-09-11  Bruno Haible  <bruno@clisp.org>
47743
47744         * m4/isc-posix.m4: Remove file.
47745         Suggested by Eric Blake.
47746
47747 2007-09-11  Eric Blake  <ebb9@byu.net>
47748
47749         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
47750
47751 2007-09-10  Bruno Haible  <bruno@clisp.org>
47752
47753         * posix-modules: Fix typo in error message.
47754         Reported by Matt <mkraai@beckman.com>.
47755
47756 2007-09-09  Bruno Haible  <bruno@clisp.org>
47757
47758         * doc/functions/getdelim.texi: Update list of platforms lacking the
47759         function.
47760         * doc/functions/getline.texi: Likewise.
47761
47762 2007-09-09  Jim Meyering  <jim@meyering.net>
47763
47764         * lib/hash.c (hash_initialize): Detect calloc failure.
47765         Reported by Bruno Haible.
47766
47767 2007-09-09  Bruno Haible  <bruno@clisp.org>
47768
47769         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
47770         malloc or realloc fails.
47771
47772 2007-09-09  Bruno Haible  <bruno@clisp.org>
47773
47774         * modules/getcwd (Depends-on): Add malloc-posix.
47775         * modules/glob (Depends-on): Likewise.
47776         * modules/putenv (Depends-on): Likewise.
47777         * modules/strdup (Depends-on): Likewise.
47778         * modules/getdelim (Depends-on): Add realloc-posix.
47779         * modules/read-file (Depends-on): Likewise.
47780
47781 2007-09-09  Bruno Haible  <bruno@clisp.org>
47782
47783         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
47784         (gl_FUNC_MALLOC_POSIX): Require it.
47785         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
47786         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
47787         * modules/realloc (Files): Add m4/malloc.m4.
47788         * modules/calloc (Files): Likewise.
47789
47790 2007-09-09  Bruno Haible  <bruno@clisp.org>
47791
47792         * modules/malloc-posix: New file.
47793         * modules/malloc (Depends-on): Add malloc-posix.
47794         * lib/malloc.c: Include errno.h.
47795         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
47796         and a POSIX-compatible malloc into a single function. Set ENOMEM
47797         when returning NULL.
47798         * m4/malloc.m4: New file.
47799         * doc/functions/malloc.texi: Mention the malloc-posix module.
47800         * lib/stdlib_.h (malloc): New declaration.
47801         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47802         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
47803         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
47804         and HAVE_MALLOC_POSIX.
47805
47806 2007-09-09  Bruno Haible  <bruno@clisp.org>
47807
47808         * modules/realloc-posix: New file.
47809         * modules/realloc (Depends-on): Add realloc-posix.
47810         * lib/realloc.c: Include errno.h.
47811         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
47812         and a POSIX-compatible realloc into a single function. Set ENOMEM
47813         when returning NULL.
47814         * m4/realloc.m4: New file.
47815         * doc/functions/realloc.texi: Mention the realloc-posix module.
47816         * lib/stdlib_.h (realloc): New declaration.
47817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47818         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
47819         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
47820         and HAVE_REALLOC_POSIX.
47821
47822 2007-09-09  Bruno Haible  <bruno@clisp.org>
47823
47824         * modules/calloc-posix: New file.
47825         * modules/calloc (Depends-on): Add calloc-posix.
47826         * lib/calloc.c: Include errno.h.
47827         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
47828         and a POSIX-compatible calloc into a single function. Set ENOMEM
47829         when returning NULL.
47830         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
47831         * doc/functions/calloc.texi: Mention the calloc-posix module.
47832         * lib/stdlib_.h (calloc): New declaration.
47833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47834         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
47835         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
47836         and HAVE_CALLOC_POSIX.
47837
47838 2007-09-09  Bruno Haible  <bruno@clisp.org>
47839
47840         Allow for modules to show an arbitrary notice.
47841         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
47842         * gnulib-tool: New option --extract-notice.
47843         (func_usage): Document it.
47844         (sed_extract_prog): Update.
47845         (func_get_notice): New function.
47846         (func_modules_notice): New function.
47847         (func_import, func_create_testdir): Invoke it.
47848         Suggested by Jim Meyering.
47849
47850 2007-09-09  Bruno Haible  <bruno@clisp.org>
47851
47852         * gnulib-tool: New options --verbose, --quiet.
47853         (func_usage): Document them.
47854         (verbose): New variable.
47855         (func_execute_command): New function.
47856         (func_import): Don't show the module list and the file list if
47857         $verbose < 0.
47858         (func_create_testdir): Likewise. Use func_execute_command.
47859         (func_create_megatestdir): Use func_execute_command.
47860
47861 2007-09-08  Bruno Haible  <bruno@clisp.org>
47862
47863         * gnulib-tool (func_import): Prefer rsync over wget when available,
47864         for fetching the PO files.
47865
47866 2007-09-08  Bruno Haible  <bruno@clisp.org>
47867
47868         * posix-modules: New file. Portions copied from gnulib-tool.
47869         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
47870
47871 2007-09-08  Jim Meyering  <jim@meyering.net>
47872
47873         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
47874         * lib/fpending.h: Rename from __fpending.h.
47875         * lib/fpending.c: Rename from __fpending.c.
47876         Include "fpending.h", not "__fpending.h".
47877         * lib/__fpending.h, lib/__fpending.c: Remove files.
47878         * modules/fpending (Files): Reflect new file names.
47879         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
47880
47881 2007-09-08  Bruno Haible  <bruno@clisp.org>
47882
47883         * m4/inttypes-h.m4: Remove stub file.
47884
47885 2007-09-07  Simon Josefsson  <simon@josefsson.org>
47886
47887         * doc/headers/stdint.texi: Discuss #include_next issue.
47888
47889 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47890
47891         * build-aux/bootstrap: Remove obsolete comment about wget --help.
47892
47893 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47894
47895         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
47896         in variable name.
47897
47898 2007-09-03  Jim Meyering  <jim@meyering.net>
47899
47900         New module: git-version-gen.
47901         * modules/git-version-gen: New file.
47902
47903         Import changes from coreutils for bootstrap script.
47904
47905         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
47906
47907         bootstrap: uses rsync to download the .po files
47908         * build-aux/bootstrap (po_download_command_format): New global.
47909         (download_po_files): Use rsync.
47910         (update_po_files): Don't remove .po files after download,
47911         so future rsync runs can take advantage of the copies.
47912
47913         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
47914
47915         Solve the unnecessary-.po-file-regeneration problem once and for all.
47916         * build-aux/bootstrap (download_po_files): New function, renamed from
47917         get_translations.  Now, downloads, but doesn't update LINGUAS.
47918         (update_po_files): New function.
47919
47920         bootstrap: Ignore more.
47921         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
47922         uniwidth to e.g., lib/.gitignore.
47923         (slurp): Handle the sys_stat_.h -> sys mapping, too.
47924
47925         * build-aux/bootstrap: New setting: vc_ignore.
47926         (insert_sorted_if_absent): Create $file if absent.
47927         Adapt to new, possibly empty, list: $vc_ignore.
47928
47929         bootstrap: generate more ignorable names
47930         * build-aux/bootstrap (slurp): When generating ignorable names,
47931         also map .sin to .sed, .gperf to .c, and .y to .c.
47932
47933 2007-09-03  Jim Meyering  <jim@meyering.net>
47934
47935         * build-aux/git-version-gen: New file, from coreutils.  For details, see
47936         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
47937
47938 2007-09-02  Bruno Haible  <bruno@clisp.org>
47939
47940         Fix mis-recognition of 'mcs' on QNX 6.
47941         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
47942         output contains the string "Mono".
47943         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
47944         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
47945
47946 2007-09-01  Bruno Haible  <bruno@clisp.org>
47947
47948         Fix collision between uniwidth/* and linebreak modules.
47949         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
47950         u32_width): Remove declarations.
47951         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
47952         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
47953         streq3, streq2, streq1, streq0): Remove functions.
47954         (STREQ): Remove macro.
47955         (is_cjk_encoding): Remove function.
47956         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
47957         (uc_width, u8_width, u16_width, u32_width): Remove functions.
47958         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
47959         * NEWS: Document the change.
47960
47961 2007-09-01  Bruno Haible  <bruno@clisp.org>
47962
47963         * lib/streq.h: Add double-inclusion guard.
47964
47965 2007-09-01  Karl Berry  <karl@gnu.org>
47966
47967         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
47968
47969 2007-08-28  Jim Meyering  <jim@meyering.net>
47970
47971         Rename mreadlink_with_size to areadlink_with_size.
47972         * NEWS: Document the change.
47973         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
47974         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
47975         * lib/mreadlink.h: Rename this to...
47976         * lib/areadlink.h: ...this.
47977         * modules/mreadlink-with-size: Rename this to...
47978         * modules/areadlink-with-size: ...this.
47979         * lib/canonicalize.c: Reflect the renaming.
47980         * modules/canonicalize: Likewise.
47981
47982 2007-08-26  Bruno Haible  <bruno@clisp.org>
47983
47984         * gnulib-tool (func_import): When deciding which files to remove,
47985         consider also dangling symbolic links.
47986         Reported by Eric Blake.
47987
47988 2007-08-26  Bruno Haible  <bruno@clisp.org>
47989
47990         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
47991
47992 2007-08-23  Simon Josefsson  <simon@josefsson.org>
47993
47994         * lib/readline.c: Don't include getline.h, the prototype is now
47995         found in stdio.h.
47996
47997 2007-08-23  Jim Meyering  <jim@meyering.net>
47998
47999         Getdelim touchup.
48000         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
48001         around the funlockfile call, since funlockfile never sets errno.
48002         Don't set errno upon failed realloc.
48003
48004 2007-08-22  Eric Blake  <ebb9@byu.net>
48005
48006         Getline touchups.
48007         * lib/getdelim.c (getdelim): Revert regression that required *n to
48008         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
48009         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
48010         getdelim, rather than whether implementation is missing.
48011         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
48012         * lib/stdio_.h (getline): Also declare if replacement is
48013         required.
48014         * doc/functions/getdelim.texi: New file.
48015         * doc/functions/getline.texi: Likewise.
48016         * doc/gnulib.texi (Function Substitutes): Add new files.
48017         Reported by Bruno Haible.
48018
48019 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
48020
48021         * users.txt: Add Guile.
48022
48023 2007-08-22  Eric Blake  <ebb9@byu.net>
48024
48025         * tests/test-getdelim.c (main): Use remove, not unlink.
48026         * tests/test-getline.c (main): Likewise.
48027
48028         Move getline and getdelim into stdio.h, per POSIX 200x.
48029         * modules/getline (Files): Remove getline.h.
48030         (Depends-on): Add stdio.
48031         (configure.ac): Add module indicator.
48032         * modules/getdelim (Files): Remove getdelim.h.
48033         (Depends-on): Add stdio.
48034         (configure.ac): Add module indicator.
48035         * modules/stdio (Makefile.am): Work with new indicators.
48036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
48037         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
48038         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48039         * lib/getdelim.h: Delete.
48040         * lib/getline.h: Delete.
48041         * lib/stdio_.h (getdelim, getline): Declare.
48042         * modules/getdelim-tests: New module.
48043         * modules/getline-tests: Likewise.
48044         * tests/test-getdelim.c: New file.
48045         * tests/test-getline.c: Likewise.
48046         * NEWS: Document the change.
48047         * lib/getline.c: Update choice of header.
48048         * lib/csharpcomp.c: Likewise.
48049         * lib/getpass.c: Likewise.
48050         * lib/javacomp.c: Likewise.
48051         * lib/javaversion.c: Likewise.
48052         * lib/yesno.c: Likewise.
48053         * lib/getdelim.c: Likewise.
48054         (getdelim): Set errno on failure, and avoid memory leak.
48055
48056 2007-08-19  Bruno Haible  <bruno@clisp.org>
48057
48058         * modules/closein (Depends-on): Add freadahead.
48059         * lib/closein.c: Include freadahead.h.
48060         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
48061         is zero.
48062
48063 2007-08-19  Bruno Haible  <bruno@clisp.org>
48064
48065         * modules/freadahead-tests: New file.
48066         * tests/test-freadahead.sh: New file.
48067         * tests/test-freadahead.c: New file.
48068
48069         * modules/freadahead: New file.
48070         * lib/freadahead.h: New file.
48071         * lib/freadahead.c: New file.
48072         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
48073         fbufmode, fpurge, freadable, fwritable.
48074
48075 2007-08-19  Eric Blake  <ebb9@byu.net>
48076
48077         Test yesno in combination with closein.
48078         * lib/yesno.c (yesno): Document use of stdin.
48079         * modules/yesno-tests (Files): New module.
48080         * tests/test-yesno.c (main): New file.
48081         * tests/test-yesno.sh: Likewise.
48082
48083 2007-08-19  Bruno Haible  <bruno@clisp.org>
48084
48085         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
48086         * lib/fseeko.c (rpl_fseeko): Likewise.
48087         * lib/fseterr.c (fseterr): Likewise.
48088
48089 2007-08-19  Bruno Haible  <bruno@clisp.org>
48090
48091         * tests/test-lseek.c (main): Disable a test for BeOS.
48092         * doc/functions/lseek.texi: Document the BeOS bug.
48093
48094 2007-08-19  Bruno Haible  <bruno@clisp.org>
48095             Eric Blake  <ebb9@byu.net>
48096
48097         * lib/lseek.c: Include <sys/stat.h>.
48098         (rpl_lseek): Add workaround code also for Unix platforms.
48099         Needed for BeOS.
48100         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
48101         * doc/functions/lseek.texi: Document BeOS definiency.
48102
48103 2007-08-18  Bruno Haible  <bruno@clisp.org>
48104
48105         * modules/fstrcmp-tests: New file.
48106         * tests/test-fstrcmp.c: New file.
48107
48108 2007-08-18  Bruno Haible  <bruno@clisp.org>
48109
48110         * modules/fstrcmp: New file, from GNU gettext with modifications.
48111         * lib/fstrcmp.h: New file, from GNU gettext.
48112         * lib/fstrcmp.c: New file, from GNU gettext.
48113         * MODULES.html.sh (String handling): Add fstrcmp.
48114
48115 2007-08-18  Bruno Haible  <bruno@clisp.org>
48116
48117         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
48118         'bool'.
48119         (diag, compareseq): Remove const from the ctxt argument.
48120         (USE_HEURISTIC): Undefine at the end.
48121
48122 2007-08-18  Jim Meyering  <jim@meyering.net>
48123
48124         New file: lib/idcache.h
48125         * NEWS: Mention the addition.
48126         * modules/idcache (Files): Add lib/idcache.h
48127         * lib/idcache.c: Include "idcache.h".
48128         Don't include <sys/types.h>.
48129         Add a FIXME comment.
48130         Move file-scoped "static" declarations to the top.
48131         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
48132
48133 2007-08-17  Bruno Haible  <bruno@clisp.org>
48134         and Paul Eggert  <eggert@cs.ucla.edu>
48135
48136         * MODULES.html.sh: Add diffseq.
48137         * modules/diffseq: New file.
48138         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
48139         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
48140
48141 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48142
48143         Import changes from coreutils for bootstrap script.
48144
48145         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
48146
48147         * build-aux/bootstrap (slurp): Work even in environments where
48148         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
48149         current code does not slurp files whose names start with ".", and
48150         this looks like it might be a troublesome area.
48151
48152         2007-07-11  Jim Meyering  <jim@meyering.net>
48153
48154         If there's a GPL vN copyright comment, require that N == 3.
48155
48156         2007-07-08  Jim Meyering  <jim@meyering.net>
48157
48158         Run the coreutils-specific code only if tests/Makefile.am.in exists.
48159         * build-aux/bootstrap (mam_template): Move definition out of loop.
48160
48161         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
48162
48163         * build-aux/bootstrap (symlink_to_dir): Rename function from
48164         symlink_to_gnulib.  Add a directory parameter.  Update all
48165         callers.
48166         (cp_mark_as_generated): Also check for -- and link to -- files in
48167         gl/.
48168
48169         2007-07-08  Jim Meyering  <jim@meyering.net>
48170
48171         Adapt to deeper hierarchy in gnulib.
48172         * build-aux/bootstrap (symlink_to_dir): If the destination
48173         directory doesn't exist, create it. This is required at least for
48174         "lib/uniwidth/cjk.h".
48175
48176         2007-05-15  Jim Meyering  <jim@meyering.net>
48177
48178         * build-aux/bootstrap: Now that generated Makefile.am files
48179         are no longer under version control, they must be created at
48180         bootstrap time.
48181
48182 2007-08-14  Ben Pfaff  <blp@gnu.org>
48183
48184         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
48185
48186 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48187
48188         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
48189         given the changes below.
48190         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
48191         even on hosts that have padding bits beyond the supported 64.
48192
48193 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48194
48195         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
48196         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
48197         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
48198         depends on it.
48199         (xstrtol_error): Remove.
48200         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
48201         but with a different signature.
48202         (ATTRIBUTE_NORETURN, __attribute__): New macros.
48203         * lib/xstrtol-error.c: Include exitfail.h.
48204         (xstrtol_fatal): New function, with a different signature from the
48205         old xstrtol_error, so that the caller need not worry about passing
48206         in an exit status, or about storage management of the option argument.
48207         (xstrtol_error): Now a static function.  Redo signature to
48208         implement xstrtol_fatal.  Output the correct number of hyphens in
48209         front of the option so that the caller need not worry about
48210         storage management.
48211         (N_): New macro.
48212         (_): Remove; not used now.
48213         * modules/xstrtol: Depend on getopt.
48214         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
48215         of old STRTOL_FATAL_ERROR macro.
48216         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
48217         of test program.
48218         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
48219         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
48220
48221 2007-08-08  Eric Blake  <ebb9@byu.net>
48222
48223         * lib/xstrtol-error.c: Add missing include.
48224
48225         Move xstrtol messages into gnulib domain, when --pobase is used.
48226         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
48227         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
48228         * modules/xstrtol (Files): Distribute new file.
48229         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
48230         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
48231         * tests/test-xstrtol.c: ...into new file.
48232         * tests/test-xstrtoul.c: Also test xstrtoul.
48233         * tests/test-xstrtoimax.c: Also test xstrtoimax.
48234         * tests/test-xstrtoumax.c: Also test xstrtoumax.
48235         * tests/test-xstrtol.sh: Drive the tests.
48236         * tests/test-xstrtoimax.sh: Likewise.
48237         * tests/test-xstrtoumax.sh: Likewise.
48238         * modules/xstrtol-tests: New module.
48239         * modules/xstrtoimax-tests: Likewise.
48240         * modules/xstrtoumax-tests: Likewise.
48241
48242 2007-08-08  Jim Meyering  <jim@meyering.net>
48243
48244         New function: mfile_name_concat.
48245         * lib/filenamecat.c (mfile_name_concat): New function, just like
48246         file_name_concat, but return NULL upon failure rather than exiting
48247         with a diagnostic.
48248         * lib/filenamecat.h: Declare it.
48249
48250 2007-08-07  Bruno Haible  <bruno@clisp.org>
48251
48252         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
48253         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
48254         warning from gcc.
48255         Reported by Eric Blake.
48256
48257 2007-08-07  Simon Josefsson  <simon@josefsson.org>
48258
48259         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
48260         * modules/crypto/arcfour (License): Likewise.
48261         * modules/crypto/des-tests (License): Likewise.
48262         * modules/crypto/gc-arctwo-tests (License): Likewise.
48263         * modules/crypto/gc-des-tests (License): Likewise.
48264         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
48265         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
48266         * modules/crypto/gc-md2-tests (License): Likewise.
48267         * modules/crypto/gc-md4-tests (License): Likewise.
48268         * modules/crypto/gc-md5-tests (License): Likewise.
48269         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
48270         * modules/crypto/gc-rijndael-tests (License): Likewise.
48271         * modules/crypto/gc-sha1-tests (License): Likewise.
48272         * modules/crypto/gc-tests (License): Likewise.
48273         * modules/crypto/hmac-md5 (License): Likewise.
48274         * modules/crypto/hmac-sha1 (License): Likewise.
48275         * modules/crypto/md2-tests (License): Likewise.
48276         * modules/crypto/md4-tests (License): Likewise.
48277         * modules/crypto/md5 (License): Likewise.
48278         * modules/crypto/rijndael (License): Likewise.
48279         * modules/crypto/sha1 (License): Likewise.
48280         * modules/memxor (License): Likewise.
48281
48282 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
48283         and Bruno Haible  <bruno@clisp.org>
48284
48285         * NEWS: Describe interface changes to human, xstrtol.
48286         * lib/human.h: Include <xstrtol.h>.
48287         (human_options): Return enum strtol_error, not int.  Remove
48288         bool arg; take int * instead.
48289         * lib/human.c: Don't include "gettext.h".
48290         (_): Remove; no longer used.
48291         Don't include <xstrtol.h>, since human.h does it.
48292         (human_options): Adjust to abovementioned interface changes.
48293         Do not report error to stderr; that's now the caller's
48294         responsibility.
48295         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
48296         interface change.
48297         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
48298         Str, Argument_type_string.  All uses changed.  Put " argument"
48299         in diagnostics to make them clearer.  Change wording of suffix
48300         message for clarity.
48301         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
48302         Argument_type_string.
48303         (STRTOL_FATAL_WARN): Remove; no longer used.
48304         * modules/human (Depends-on): Remove gettext-h.
48305
48306 2007-08-06  Simon Josefsson  <simon@josefsson.org>
48307
48308         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
48309
48310 2007-07-31  Bruno Haible  <bruno@clisp.org>
48311
48312         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
48313         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
48314         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
48315
48316 2007-07-31  Bruno Haible  <bruno@clisp.org>
48317
48318         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
48319         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
48320
48321 2007-07-30  Bruno Haible  <bruno@clisp.org>
48322
48323         * modules/base64 (License): Use the synonymous term "LGPLv2+".
48324         * modules/c-ctype (License): Likewise.
48325         * modules/c-strcase (License): Likewise.
48326         * modules/check-version (License): Likewise.
48327         * modules/iconv (License): Likewise.
48328         * modules/iconv_open (License): Likewise.
48329         * modules/read-file (License): Likewise.
48330         * modules/striconv (License): Likewise.
48331         * modules/strverscmp (License): Likewise.
48332         * modules/vasprintf (License): Likewise.
48333         * modules/crypto/des (License): Likewise.
48334         * modules/crypto/gc (License): Likewise.
48335         * modules/crypto/gc-arcfour (License): Likewise.
48336         * modules/crypto/gc-arctwo (License): Likewise.
48337         * modules/crypto/gc-des (License): Likewise.
48338         * modules/crypto/gc-hmac-md5 (License): Likewise.
48339         * modules/crypto/gc-hmac-sha1 (License): Likewise.
48340         * modules/crypto/gc-md2 (License): Likewise.
48341         * modules/crypto/gc-md4 (License): Likewise.
48342         * modules/crypto/gc-md5 (License): Likewise.
48343         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
48344         * modules/crypto/gc-random (License): Likewise.
48345         * modules/crypto/gc-rijndael (License): Likewise.
48346         * modules/crypto/gc-sha1 (License): Likewise.
48347         * modules/crypto/md2 (License): Likewise.
48348         * modules/crypto/md4 (License): Likewise.
48349
48350 2007-07-30  Jim Meyering  <jim@meyering.net>
48351
48352         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
48353         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
48354         it has valid stat data.  This bug would cause du not to count the
48355         sizes of inaccessible directories.
48356         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
48357         in <http://bugzilla.redhat.com/250077>.
48358
48359 2007-07-25  Peter O'Gorman  <peter@pogma.com>
48360             Bruno Haible  <bruno@clisp.org>
48361
48362         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
48363         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
48364         #include_next, gives a diagnostic about it, but reports no error in
48365         the exit code.
48366         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48367
48368 2007-07-24  Ben Pfaff  <blp@gnu.org>
48369
48370         Improve name: "count-one-bits" is better than "popcount".
48371         * MODULES.html.sh: Update name.
48372         * lib/popcount.h: Renamed lib/count-one-bits.h.
48373         (popcount): Renamed count_one_bits.
48374         (popcountl): Renamed count_one_bits_l.
48375         (popcountll): Renamed count_one_bits_ll.
48376         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
48377         * modules/popcount: Renamed module/count-one-bits.
48378         * modules/popcount-tests: Renamed module/count-one-bits-tests.
48379         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
48380
48381 2007-07-23  Ben Pfaff  <blp@gnu.org>
48382
48383         * lib/popcount.h (popcount32): Reduce size of constants, to allow
48384         better code generation, and add U to large constants to avoid
48385         warnings, in non-GCC case.
48386         Suggested by Bruno Haible.
48387
48388 2007-07-23  Ben Pfaff  <blp@gnu.org>
48389
48390         * lib/popcount.h: Use verify_true instead of if...abort.
48391         * modules/popcount: Depend on verify module.
48392         Suggested by Jim Meyering.
48393
48394 2007-07-23  Bruno Haible  <bruno@clisp.org>
48395
48396         * gnulib-tool (func_import): Create a .cvsignore file also when the
48397         directory is not yet in CVS but the toplevel directory is. When
48398         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
48399         Reported by Karl Berry.
48400
48401 2007-07-22  Ben Pfaff  <blp@gnu.org>
48402
48403         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
48404         case.
48405         Suggested by Eric Blake.
48406
48407 2007-07-22  Ben Pfaff  <blp@gnu.org>
48408
48409         New module: popcount.
48410         * MODULES.html.sh: Add popcount.
48411         * modules/popcount: New file.
48412         * modules/popcount-tests: New file.
48413         * tests/test-popcount.c: New file.
48414         * lib/popcount.h: New file.
48415         * m4/popcount.m4: New file.
48416
48417 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48418
48419         * build-aux/announce-gen: Update to GPLv3.
48420
48421         * build-aux/config.guess: Update from config.
48422
48423 2007-07-21  Bruno Haible  <bruno@clisp.org>
48424
48425         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
48426         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
48427
48428 2007-07-20  Jim Meyering  <jim@meyering.net>
48429
48430         * check-module: Diagnose a self-dependency.
48431
48432 2007-07-19  Bruno Haible  <bruno@clisp.org>
48433
48434         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
48435         empty.
48436         Reported by Eric Blake.
48437
48438 2007-07-18  Bruno Haible  <bruno@clisp.org>
48439
48440         * gnulib-tool: New options --po-base, --po-domain.
48441         (func_usage): Document them.
48442         (pobase, po_domain): New variables.
48443         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
48444         DEFAULT_TEXT_DOMAIN.
48445         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
48446         (func_import): Consider pobase and po_domain. Create a po/ directory.
48447         (func_create_testdir): Set pobase and po_domain to empty.
48448         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
48449         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
48450
48451 2007-07-18  Bruno Haible  <bruno@clisp.org>
48452
48453         * gnulib-tool (func_get_automake_snippet): Synthesize also an
48454         EXTRA_DIST augmentation for files in build-aux/.
48455
48456 2007-07-16  Bruno Haible  <bruno@clisp.org>
48457
48458         * modules/lseek (License): Use the synonymous term "LGPLv2+".
48459         * modules/getdelim (License): Likewise.
48460
48461 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48462
48463         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
48464         * modules/d-type (License): Likewise.
48465         * modules/extensions (License): Likewise.
48466         * modules/fnmatch (License): Likewise.
48467         * modules/fseeko (License): Likewise.
48468         * modules/getaddrinfo (License): Likewise.
48469         * modules/getline (License): Likewise.
48470         * modules/getlogin_r (License): Likewise.
48471         * modules/getpass (License): Likewise.
48472         * modules/gettimeofday (License): Likewise.
48473         * modules/glob (License): Likewise.
48474         * modules/inet_ntop (License): Likewise.
48475         * modules/malloc (License): Likewise.
48476         * modules/malloca (License): Likewise.
48477         * modules/memmem (License): Likewise.
48478         * modules/mempcpy (License): Likewise.
48479         * modules/memset (License): Likewise.
48480         * modules/minmax (License): Likewise.
48481         * modules/mktime (License): Likewise.
48482         * modules/netinet_in (License): Likewise.
48483         * modules/pathmax (License): Likewise.
48484         * modules/poll (License): Likewise.
48485         * modules/regex (License): Likewise.
48486         * modules/snprintf (License): Likewise.
48487         * modules/stdbool (License): Likewise.
48488         * modules/stdint (License): Likewise.
48489         * modules/stdio (License): Likewise.
48490         * modules/strcase (License): Likewise.
48491         * modules/strcasestr (License): Likewise.
48492         * modules/strdup (License): Likewise.
48493         * modules/string (License): Likewise.
48494         * modules/strndup (License): Likewise.
48495         * modules/strnlen (License): Likewise.
48496         * modules/strpbrk (License): Likewise.
48497         * modules/strptime (License): Likewise.
48498         * modules/strsep (License): Likewise.
48499         * modules/sys_select (License): Likewise.
48500         * modules/sys_socket (License): Likewise.
48501         * modules/sys_stat (License): Likewise.
48502         * modules/sys_time (License): Likewise.
48503         * modules/time (License): Likewise.
48504         * modules/time_r (License): Likewise.
48505         * modules/timegm (License): Likewise.
48506         * modules/unistd (License): Likewise.
48507         * modules/vsnprintf (License): Likewise.
48508         * modules/wctype (License): Likewise.
48509
48510 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48511
48512         * modules/argz (License): LGPLv2+.
48513
48514 2007-07-15  Karl Berry  <karl@gnu.org>
48515
48516         * doc/gnulib.texi: revise node structure per new fdl.texi.
48517
48518 2007-07-14  Bruno Haible  <bruno@clisp.org>
48519
48520         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
48521         the output file.
48522         * lib/uniname/uninames.h: Regenerated.
48523
48524 2007-07-14  Karl Berry  <karl@gnu.org>
48525
48526         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
48527         omitting sectioning and index commands.
48528
48529 2007-07-13  Bruno Haible  <bruno@clisp.org>
48530
48531         New gnulib-tool option --more-symlinks.
48532         * gnulib-tool (func_usage): Document --more-symlinks.
48533         (do_copyrights): New variable.
48534         Recognize option --more-symlinks.
48535         (func_import): Don't add a copyright notice transform to
48536         sed_transform_lib_file if do_copyrights is empty.
48537
48538 2007-07-13  Bruno Haible  <bruno@clisp.org>
48539
48540         * lib/vasnprintf.c (decimal_point_char): Define also if
48541         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
48542         && !NEED_PRINTF_DIRECTIVE_A.
48543         Reported by Clemens Koller <clemens.koller@anagramm.de> via
48544         Gary V. Vaughan <gary@gnu.org>.
48545
48546 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
48547
48548         * lib/inttypes_.h: Undo previous change, since it was fixed
48549         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
48550
48551 2007-07-13  Bruno Haible  <bruno@clisp.org>
48552
48553         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
48554         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
48555
48556 2007-07-13  Jim Meyering  <jim@meyering.net>
48557
48558         df: Don't fail for Tru64's "file-on-file mount".
48559         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
48560         so we fall through and use statfs instead.  Details here:
48561         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
48562         Reported by Albert Chin.
48563
48564 2007-07-13  Bruno Haible  <bruno@clisp.org>
48565
48566         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
48567         * modules/configmake (License): Likewise.
48568         * modules/gettext (License): Likewise.
48569         * modules/gettext-h (License): Likewise.
48570         * modules/include_next (License): Likewise.
48571         * modules/link-warning (License): Likewise.
48572         * modules/localcharset (License): Likewise.
48573         * modules/localename (License): Likewise.
48574         * modules/lock (License): Likewise.
48575         * modules/relocatable-lib-lgpl (License): Likewise.
48576         * modules/size_max (License): Likewise.
48577         * modules/vasnprintf (License): Likewise.
48578         * modules/wchar (License): Likewise.
48579         * modules/xsize (License): Likewise.
48580
48581 2007-07-13  Bruno Haible  <bruno@clisp.org>
48582
48583         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
48584         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
48585
48586 2007-07-12  Bruno Haible  <bruno@clisp.org>
48587
48588         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
48589         in the modules files.
48590
48591 2007-07-11  Karl Berry  <karl@gnu.org>
48592
48593         * MODULES.html.sh (func_module): use
48594          sed -e '\|^'"${includefile}"'$|d'
48595          instead of /.../d, to avoid errors on $includefile's containing /.
48596
48597 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48598
48599         * gnulib-tool (func_import): Avoid duplication of --avoid
48600         statements
48601         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48602         names to `_' in variable names.
48603
48604 2007-07-10  Eric Blake  <ebb9@byu.net>
48605
48606         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48607         * NEWS: Document this change.
48608
48609 2007-07-08  Bruno Haible  <bruno@clisp.org>
48610
48611         Update to Unicode 5.0.
48612         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48613         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48614         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48615         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48616         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48617         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48618         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48619         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48620         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48621         U+10A3F, U+1D242..U+1D244.
48622         (nonspacing_table_ind): Update.
48623         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48624         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48625
48626 2007-07-08  Bruno Haible  <bruno@clisp.org>
48627
48628         Update to Unicode 5.0.
48629         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
48630         code transform. Extend the name index field of unicode_name_to_code and
48631         unicode_code_to_name from 16 to 24 bits.
48632         * lib/uniname/uniname.c (unicode_character_name,
48633         unicode_name_character): Add the range 0x12xxx to the code transform.
48634         * lib/uniname/uninames.h: Regenerated.
48635         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
48636
48637 2007-07-07  Bruno Haible  <bruno@clisp.org>
48638
48639         * modules/wcwidth-tests: New file.
48640         * tests/test-wcwidth.c: New file.
48641
48642         Work around MacOS X wcwidth() bug.
48643         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
48644         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
48645         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
48646         original wcwidth in non-UTF-8 locales.
48647         * modules/wcwidth (Depends-on): Add localcharset, streq,
48648         uniwidth/width.
48649         * doc/functions/wcwidth.texi: Update.
48650
48651 2007-07-07  Bruno Haible  <bruno@clisp.org>
48652
48653         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
48654         (wcwidth): New declaration.
48655         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
48656         macros.
48657         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
48658         here. Prepare for creating <wchar.h> unconditionally.
48659         * modules/wchar (Depends-on): Add link-warning.
48660         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
48661         REPLACE_WCWIDTH, and GL_LINK_WARNING.
48662         * lib/wcwidth.h: Remove file.
48663         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
48664         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
48665         * modules/wcwidth (Files): Remove lib/wcwidth.h.
48666         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
48667         (Include): Replace wcwidth.h with <wchar.h>.
48668         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
48669         * lib/mbchar.h: Don't include wcwidth.h.
48670         * lib/mbswidth.c: Likewise.
48671         * NEWS: Mention the change.
48672
48673 2007-07-07  Bruno Haible  <bruno@clisp.org>
48674
48675         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
48676         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
48677         definition with an external declaration.
48678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
48679         defined as a function. Remove AC_C_INLINE requirement.
48680         * modules/wcwidth (Files): Add lib/wcwidth.c.
48681         (Makefile.am): Remove redundant statement.
48682
48683 2007-07-07  Bruno Haible  <bruno@clisp.org>
48684
48685         * MODULES.html.sh (Unicode string functions): Add the new modules.
48686
48687         * tests/uniwidth/test-u32-strwidth.c: New file.
48688         * modules/uniwidth/u32-strwidth-tests: New file.
48689
48690         * lib/uniwidth/u32-strwidth.c: New file.
48691         * modules/uniwidth/u32-strwidth: New file.
48692
48693         * tests/uniwidth/test-u16-strwidth.c: New file.
48694         * modules/uniwidth/u16-strwidth-tests: New file.
48695
48696         * lib/uniwidth/u16-strwidth.c: New file.
48697         * modules/uniwidth/u16-strwidth: New file.
48698
48699         * tests/uniwidth/test-u8-strwidth.c: New file.
48700         * modules/uniwidth/u8-strwidth-tests: New file.
48701
48702         * lib/uniwidth/u8-strwidth.c: New file.
48703         * modules/uniwidth/u8-strwidth: New file.
48704
48705         * tests/uniwidth/test-u32-width.c: New file.
48706         * modules/uniwidth/u32-width-tests: New file.
48707
48708         * lib/uniwidth/u32-width.c: New file.
48709         * modules/uniwidth/u32-width: New file.
48710
48711         * tests/uniwidth/test-u16-width.c: New file.
48712         * modules/uniwidth/u16-width-tests: New file.
48713
48714         * lib/uniwidth/u16-width.c: New file.
48715         * modules/uniwidth/u16-width: New file.
48716
48717         * tests/uniwidth/test-u8-width.c: New file.
48718         * modules/uniwidth/u8-width-tests: New file.
48719
48720         * lib/uniwidth/u8-width.c: New file.
48721         * modules/uniwidth/u8-width: New file.
48722
48723         * tests/uniwidth/test-uc_width.c: New file.
48724         * modules/uniwidth/width-tests: New file.
48725
48726         * lib/uniwidth/width.c: New file, from GNU libiconv.
48727         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
48728         * modules/uniwidth/width: New file.
48729
48730         * lib/uniwidth.h: New file, from GNU libiconv.
48731         * modules/uniwidth/base: New file.
48732
48733 2007-07-07  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/uniname.h: New file, from GNU gettext.
48736         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
48737         * lib/uniname/uninames.h: New file, from GNU gettext.
48738         * lib/uniname/uniname.c: New file, from GNU gettext.
48739         * tests/uniname/test-uninames.sh: New file.
48740         * tests/uniname/test-uninames.c: New file, from GNU gettext.
48741         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
48742         * modules/uniname/base: New file.
48743         * modules/uniname/uniname: New file.
48744         * modules/uniname/uniname-tests: New file.
48745         * MODULES.html.sh (Unicode string functions): Add the new modules.
48746
48747 2007-07-06  Bruno Haible  <bruno@clisp.org>
48748
48749         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
48750
48751 2007-07-06  Bruno Haible  <bruno@clisp.org>
48752
48753         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
48754         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
48755         includes <cygwin/sys_time.h> which includes <sys/select.h> which
48756         include <sys/time.h>.
48757         Reported by Eric Blake.
48758
48759 2007-07-06  Eric Blake  <ebb9@byu.net>
48760
48761         Fix testing canonicalize on cygwin.
48762         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48763         Revert patch from 2007-06-19.
48764         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
48765         canonicalize module is also in use.
48766         * tests/test-canonicalize.c: New file.
48767         * tests/test-canonicalize.sh: Likewise.
48768         * modules/canonicalize-tests: Likewise.
48769
48770 2007-07-06  Jim Meyering  <jim@meyering.net>
48771
48772         * lib/getugroups.c (getugroups): Detect getgrent failure.
48773         Adjust comment to reflect reality: this function may return -1.
48774
48775 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
48776
48777         * build-aux/bootstrap (TP_URL,get_translations): Update to use
48778         the new TP address.
48779         (usage): Fix typo
48780         (gnulib_mk): New variable.
48781
48782 2007-07-05  Jim Meyering  <jim@meyering.net>
48783
48784         Don't let endgrent clobber errno, no matter how improbable.
48785         * lib/getugroups.c (getugroups): Save and restore errno around
48786         endgrent call.
48787
48788         Close the group DB even when failing with 2^31 or more members.
48789         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
48790
48791 2007-07-04  Jim Meyering  <jim@meyering.net>
48792
48793         * lib/getugroups.h: New file.
48794         * lib/getugroups.c: Include "getugroups.h".
48795         Remove uses of "register" keyword.
48796         Move local variable, "cp", down into scope where used.
48797         Give "username" parameter the "const" attribute.
48798         * modules/getugroups (Files): Add lib/getugroups.h
48799
48800 2007-07-04  Karl Berry  <karl@gnu.org>
48801
48802         * MODULES.html.sh (func_all_modules): Complete rename of
48803         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
48804
48805 2007-07-02  Bruno Haible  <bruno@clisp.org>
48806
48807         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
48808         mode, when inttypes.h comes from gnulib.
48809         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48810
48811 2007-07-02  Simon Josefsson  <simon@josefsson.org>
48812
48813         * NEWS: Mention lgpl module name change.
48814
48815         * modules/lgpl-2.1: Renamed from lgpl.
48816
48817         * NEWS: Mention gpl module name change.
48818
48819         * modules/gpl-3.0: New file, based on gpl-2.0.
48820
48821         * modules/gpl-2.0: Renamed from gpl.
48822
48823         * modules/gpl: Fix filename, doc/gpl.texi is now found at
48824         doc/gpl-2.0.texi.
48825
48826 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48827
48828         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
48829         #define __STDC_LIMIT_MACROS temporarily while including
48830         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
48831         Problem reported by Joel E. Denny in
48832         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
48833
48834 2007-07-01  Bruno Haible  <bruno@clisp.org>
48835
48836         * lib/unistdio.h: New file.
48837         * lib/unistdio/u-asnprintf.h: New file.
48838         * lib/unistdio/u-asprintf.h: New file.
48839         * lib/unistdio/u-printf-args.c: New file.
48840         * lib/unistdio/u-printf-args.h: New file.
48841         * lib/unistdio/u-printf-parse.h: New file.
48842         * lib/unistdio/u-snprintf.h: New file.
48843         * lib/unistdio/u-sprintf.h: New file.
48844         * lib/unistdio/u-vasprintf.h: New file.
48845         * lib/unistdio/u-vsnprintf.h: New file.
48846         * lib/unistdio/u-vsprintf.h: New file.
48847         * lib/unistdio/ulc-asnprintf.c: New file.
48848         * lib/unistdio/ulc-asprintf.c: New file.
48849         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
48850         * lib/unistdio/ulc-printf-parse.c: New file.
48851         * lib/unistdio/ulc-snprintf.c: New file.
48852         * lib/unistdio/ulc-sprintf.c: New file.
48853         * lib/unistdio/ulc-vasnprintf.c: New file.
48854         * lib/unistdio/ulc-vasprintf.c: New file.
48855         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
48856         * lib/unistdio/ulc-vsnprintf.c: New file.
48857         * lib/unistdio/ulc-vsprintf.c: New file.
48858         * lib/unistdio/u8-asnprintf.c: New file.
48859         * lib/unistdio/u8-asprintf.c: New file.
48860         * lib/unistdio/u8-printf-parse.c: New file.
48861         * lib/unistdio/u8-snprintf.c: New file.
48862         * lib/unistdio/u8-sprintf.c: New file.
48863         * lib/unistdio/u8-vasnprintf.c: New file.
48864         * lib/unistdio/u8-vasprintf.c: New file.
48865         * lib/unistdio/u8-vsnprintf.c: New file.
48866         * lib/unistdio/u8-vsprintf.c: New file.
48867         * lib/unistdio/u8-u8-asnprintf.c: New file.
48868         * lib/unistdio/u8-u8-asprintf.c: New file.
48869         * lib/unistdio/u8-u8-snprintf.c: New file.
48870         * lib/unistdio/u8-u8-sprintf.c: New file.
48871         * lib/unistdio/u8-u8-vasnprintf.c: New file.
48872         * lib/unistdio/u8-u8-vasprintf.c: New file.
48873         * lib/unistdio/u8-u8-vsnprintf.c: New file.
48874         * lib/unistdio/u8-u8-vsprintf.c: New file.
48875         * lib/unistdio/u16-asnprintf.c: New file.
48876         * lib/unistdio/u16-asprintf.c: New file.
48877         * lib/unistdio/u16-printf-parse.c: New file.
48878         * lib/unistdio/u16-snprintf.c: New file.
48879         * lib/unistdio/u16-sprintf.c: New file.
48880         * lib/unistdio/u16-vasnprintf.c: New file.
48881         * lib/unistdio/u16-vasprintf.c: New file.
48882         * lib/unistdio/u16-vsnprintf.c: New file.
48883         * lib/unistdio/u16-vsprintf.c: New file.
48884         * lib/unistdio/u16-u16-asnprintf.c: New file.
48885         * lib/unistdio/u16-u16-asprintf.c: New file.
48886         * lib/unistdio/u16-u16-snprintf.c: New file.
48887         * lib/unistdio/u16-u16-sprintf.c: New file.
48888         * lib/unistdio/u16-u16-vasnprintf.c: New file.
48889         * lib/unistdio/u16-u16-vasprintf.c: New file.
48890         * lib/unistdio/u16-u16-vsnprintf.c: New file.
48891         * lib/unistdio/u16-u16-vsprintf.c: New file.
48892         * lib/unistdio/u32-asnprintf.c: New file.
48893         * lib/unistdio/u32-asprintf.c: New file.
48894         * lib/unistdio/u32-printf-parse.c: New file.
48895         * lib/unistdio/u32-snprintf.c: New file.
48896         * lib/unistdio/u32-sprintf.c: New file.
48897         * lib/unistdio/u32-vasnprintf.c: New file.
48898         * lib/unistdio/u32-vasprintf.c: New file.
48899         * lib/unistdio/u32-vsnprintf.c: New file.
48900         * lib/unistdio/u32-vsprintf.c: New file.
48901         * lib/unistdio/u32-u32-asnprintf.c: New file.
48902         * lib/unistdio/u32-u32-asprintf.c: New file.
48903         * lib/unistdio/u32-u32-snprintf.c: New file.
48904         * lib/unistdio/u32-u32-sprintf.c: New file.
48905         * lib/unistdio/u32-u32-vasnprintf.c: New file.
48906         * lib/unistdio/u32-u32-vasprintf.c: New file.
48907         * lib/unistdio/u32-u32-vsnprintf.c: New file.
48908         * lib/unistdio/u32-u32-vsprintf.c: New file.
48909         * tests/unistdio/test-ulc-asnprintf1.c: New file.
48910         * tests/unistdio/test-ulc-asnprintf1.h: New file.
48911         * tests/unistdio/test-ulc-printf1.h: New file.
48912         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
48913         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
48914         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
48915         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
48916         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
48917         * tests/unistdio/test-ulc-vasprintf1.c: New file.
48918         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
48919         * tests/unistdio/test-ulc-vsprintf1.c: New file.
48920         * tests/unistdio/test-u8-asnprintf1.c: New file.
48921         * tests/unistdio/test-u8-asnprintf1.h: New file.
48922         * tests/unistdio/test-u8-printf1.h: New file.
48923         * tests/unistdio/test-u8-vasnprintf1.c: New file.
48924         * tests/unistdio/test-u8-vasnprintf2.c: New file.
48925         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
48926         * tests/unistdio/test-u8-vasnprintf3.c: New file.
48927         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
48928         * tests/unistdio/test-u8-vasprintf1.c: New file.
48929         * tests/unistdio/test-u8-vsnprintf1.c: New file.
48930         * tests/unistdio/test-u8-vsprintf1.c: New file.
48931         * tests/unistdio/test-u16-asnprintf1.c: New file.
48932         * tests/unistdio/test-u16-asnprintf1.h: New file.
48933         * tests/unistdio/test-u16-printf1.h: New file.
48934         * tests/unistdio/test-u16-vasnprintf1.c: New file.
48935         * tests/unistdio/test-u16-vasnprintf2.c: New file.
48936         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
48937         * tests/unistdio/test-u16-vasnprintf3.c: New file.
48938         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
48939         * tests/unistdio/test-u16-vasprintf1.c: New file.
48940         * tests/unistdio/test-u16-vsnprintf1.c: New file.
48941         * tests/unistdio/test-u16-vsprintf1.c: New file.
48942         * tests/unistdio/test-u32-asnprintf1.c: New file.
48943         * tests/unistdio/test-u32-asnprintf1.h: New file.
48944         * tests/unistdio/test-u32-printf1.h: New file.
48945         * tests/unistdio/test-u32-vasnprintf1.c: New file.
48946         * tests/unistdio/test-u32-vasnprintf2.c: New file.
48947         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
48948         * tests/unistdio/test-u32-vasnprintf3.c: New file.
48949         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
48950         * tests/unistdio/test-u32-vasprintf1.c: New file.
48951         * tests/unistdio/test-u32-vsnprintf1.c: New file.
48952         * tests/unistdio/test-u32-vsprintf1.c: New file.
48953         * modules/unistdio/base: New file.
48954         * modules/unistdio/u-printf-args: New file.
48955         * modules/unistdio/ulc-asnprintf: New file.
48956         * modules/unistdio/ulc-asprintf: New file.
48957         * modules/unistdio/ulc-fprintf: New file.
48958         * modules/unistdio/ulc-printf-parse: New file.
48959         * modules/unistdio/ulc-snprintf: New file.
48960         * modules/unistdio/ulc-sprintf: New file.
48961         * modules/unistdio/ulc-vasnprintf: New file.
48962         * modules/unistdio/ulc-vasprintf: New file.
48963         * modules/unistdio/ulc-vfprintf: New file.
48964         * modules/unistdio/ulc-vsnprintf: New file.
48965         * modules/unistdio/ulc-vsprintf: New file.
48966         * modules/unistdio/u8-asnprintf: New file.
48967         * modules/unistdio/u8-asprintf: New file.
48968         * modules/unistdio/u8-printf-parse: New file.
48969         * modules/unistdio/u8-snprintf: New file.
48970         * modules/unistdio/u8-sprintf: New file.
48971         * modules/unistdio/u8-vasnprintf: New file.
48972         * modules/unistdio/u8-vasprintf: New file.
48973         * modules/unistdio/u8-vsnprintf: New file.
48974         * modules/unistdio/u8-vsprintf: New file.
48975         * modules/unistdio/u8-u8-asnprintf: New file.
48976         * modules/unistdio/u8-u8-asprintf: New file.
48977         * modules/unistdio/u8-u8-snprintf: New file.
48978         * modules/unistdio/u8-u8-sprintf: New file.
48979         * modules/unistdio/u8-u8-vasnprintf: New file.
48980         * modules/unistdio/u8-u8-vasprintf: New file.
48981         * modules/unistdio/u8-u8-vsnprintf: New file.
48982         * modules/unistdio/u8-u8-vsprintf: New file.
48983         * modules/unistdio/u16-asnprintf: New file.
48984         * modules/unistdio/u16-asprintf: New file.
48985         * modules/unistdio/u16-printf-parse: New file.
48986         * modules/unistdio/u16-snprintf: New file.
48987         * modules/unistdio/u16-sprintf: New file.
48988         * modules/unistdio/u16-vasnprintf: New file.
48989         * modules/unistdio/u16-vasprintf: New file.
48990         * modules/unistdio/u16-vsnprintf: New file.
48991         * modules/unistdio/u16-vsprintf: New file.
48992         * modules/unistdio/u16-u16-asnprintf: New file.
48993         * modules/unistdio/u16-u16-asprintf: New file.
48994         * modules/unistdio/u16-u16-snprintf: New file.
48995         * modules/unistdio/u16-u16-sprintf: New file.
48996         * modules/unistdio/u16-u16-vasnprintf: New file.
48997         * modules/unistdio/u16-u16-vasprintf: New file.
48998         * modules/unistdio/u16-u16-vsnprintf: New file.
48999         * modules/unistdio/u16-u16-vsprintf: New file.
49000         * modules/unistdio/u32-asnprintf: New file.
49001         * modules/unistdio/u32-asprintf: New file.
49002         * modules/unistdio/u32-printf-parse: New file.
49003         * modules/unistdio/u32-snprintf: New file.
49004         * modules/unistdio/u32-sprintf: New file.
49005         * modules/unistdio/u32-vasnprintf: New file.
49006         * modules/unistdio/u32-vasprintf: New file.
49007         * modules/unistdio/u32-vsnprintf: New file.
49008         * modules/unistdio/u32-vsprintf: New file.
49009         * modules/unistdio/u32-u32-asnprintf: New file.
49010         * modules/unistdio/u32-u32-asprintf: New file.
49011         * modules/unistdio/u32-u32-snprintf: New file.
49012         * modules/unistdio/u32-u32-sprintf: New file.
49013         * modules/unistdio/u32-u32-vasnprintf: New file.
49014         * modules/unistdio/u32-u32-vasprintf: New file.
49015         * modules/unistdio/u32-u32-vsnprintf: New file.
49016         * modules/unistdio/u32-u32-vsprintf: New file.
49017         * modules/unistdio/ulc-asnprintf-tests: New file.
49018         * modules/unistdio/ulc-vasnprintf-tests: New file.
49019         * modules/unistdio/ulc-vasprintf-tests: New file.
49020         * modules/unistdio/ulc-vsnprintf-tests: New file.
49021         * modules/unistdio/ulc-vsprintf-tests: New file.
49022         * modules/unistdio/u8-asnprintf-tests: New file.
49023         * modules/unistdio/u8-vasnprintf-tests: New file.
49024         * modules/unistdio/u8-vasprintf-tests: New file.
49025         * modules/unistdio/u8-vsnprintf-tests: New file.
49026         * modules/unistdio/u8-vsprintf-tests: New file.
49027         * modules/unistdio/u16-asnprintf-tests: New file.
49028         * modules/unistdio/u16-vasnprintf-tests: New file.
49029         * modules/unistdio/u16-vasprintf-tests: New file.
49030         * modules/unistdio/u16-vsnprintf-tests: New file.
49031         * modules/unistdio/u16-vsprintf-tests: New file.
49032         * modules/unistdio/u32-asnprintf-tests: New file.
49033         * modules/unistdio/u32-vasnprintf-tests: New file.
49034         * modules/unistdio/u32-vasprintf-tests: New file.
49035         * modules/unistdio/u32-vsnprintf-tests: New file.
49036         * modules/unistdio/u32-vsprintf-tests: New file.
49037         * MODULES.html.sh (Unicode string functions): Add the new modules.
49038
49039 2007-07-01  Bruno Haible  <bruno@clisp.org>
49040
49041         * lib/sprintf.c (sprintf): Limit the available length estimation,
49042         to avoid address wraparound.
49043         * lib/vsprintf.c (vsprintf): Likewise.
49044         * modules/sprintf-posix (Dependencies): Add stdint.
49045         * modules/vsprintf-posix (Dependencies): Likewise.
49046
49047 2007-07-01  Bruno Haible  <bruno@clisp.org>
49048
49049         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
49050         Windows PATH as well. Conservative double-quoting. Comments.
49051
49052 2007-07-01  Bruno Haible  <bruno@clisp.org>
49053             Eric Blake  <ebb9@byu.net>
49054             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49055
49056         * gnulib-tool (self_abspathname): Fix algorithm to cope with
49057         empty components in $PATH, denoting '.'.
49058
49059 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49060
49061         * gnulib-tool: Fix indentation.
49062         (func_create_megatestdir): Likewise.
49063         Report by Bruno Haible.
49064
49065 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49066
49067         Sync from Automake.
49068         * build-aux/gnupload: Fix shell portability issues with for loops.
49069         Report by Karl Berry.
49070
49071 2007-06-29  Simon Josefsson  <simon@josefsson.org>
49072
49073         * build-aux/maint.mk (POURL): Use translationproject.org.
49074
49075 2007-06-27  Simon Josefsson  <simon@josefsson.org>
49076             Bruno Haible  <bruno@clisp.org>
49077
49078         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
49079         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
49080         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
49081         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
49082         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
49083
49084 2007-06-27  Bruno Haible  <bruno@clisp.org>
49085
49086         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
49087         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
49088
49089 2007-06-26  Karl Berry  <karl@gnu.org>
49090
49091         * MODULES.html.sh: remove xreadlink-with-size.
49092
49093 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49094
49095         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
49096         method that I hope also handles the double-include problem noted
49097         by Bruno Haible in
49098         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
49099
49100 2007-06-23  Bruno Haible  <bruno@clisp.org>
49101
49102         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49103         Don't let the 'mostlyclean' target fail if the last subdirectory could
49104         not be removed.
49105         Reported by Karl Berry.
49106
49107 2007-06-23  Bruno Haible  <bruno@clisp.org>
49108
49109         * gnulib-tool (echo): Add a speedier workaround for ksh.
49110         * tests/test-echo.sh: Likewise.
49111
49112 2007-06-23  Bruno Haible  <bruno@clisp.org>
49113
49114         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
49115         * tests/test-echo.sh: Likewise.
49116
49117 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49118
49119         * gnulib-tool (IFS): Initialize early, so we don't set it to
49120         empty later.
49121         (self_abspathname): Rewrite algorithm to set it, reindent.
49122         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
49123         (func_create_megatestdir): Merge some sed scripts.
49124
49125 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49126
49127         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
49128         exposed by Sun Studio 11 cc on Solaris 8.
49129
49130 2007-06-22  Bruno Haible  <bruno@clisp.org>
49131
49132         * gnulib-tool (echo): Ensure the echo primitive does not interpret
49133         backslashes.
49134         * tests/test-echo.sh: New file.
49135
49136 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49137
49138         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
49139         simplify `sed_replace_build_aux' scripts, they are portable but
49140         echoing them with `echo' is not.
49141         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
49142
49143 2007-06-21  Karl Berry  <karl@gnu.org>
49144
49145         * config/srclist.txt: guess we can't handle the licenses via
49146         srclist at the moment.
49147
49148 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49149
49150         * MODULES.html.sh: Add include_next.
49151         * modules/include_next: New file.
49152
49153 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49154
49155         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
49156         INCLUDE_NEXT.
49157         (gl_CHECK_NEXT_HEADERS): New macro.
49158         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
49159         the obsolescent gl_ABSOLUTE_HEADER.
49160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
49161         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
49162         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
49163         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49164         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49165         * m4/math_h.m4 (gl_MATH_H): Likewise.
49166         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49167         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
49168         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49169         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49170         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
49171         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
49172         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
49173         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49174         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49176         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
49177         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
49178         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49179         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49180         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
49181         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
49182         * m4/inttypes.m4 (gl_INTTYPES_H): Define
49183         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
49184         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
49185         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
49186         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
49187         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
49188         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
49189         * lib/float_.h: Likewise.
49190         * lib/inttypes_.h: Likewise.
49191         * lib/math_.h: Likewise.
49192         * lib/search_.h: Likewise.
49193         * lib/signal_.h: Likewise.
49194         * lib/stdint_.h: Likewise.
49195         * lib/stdio_.h: Likewise.
49196         * lib/stdlib_.h: Likewise.
49197         * lib/string_.h: Likewise.
49198         * lib/sys_stat_.h: Likewise.
49199         * lib/sys_time_.h: Likewise.
49200         * lib/time_.h: Likewise.
49201         * lib/unistd_.h: Likewise.
49202         * lib/wchar_.h: Likewise.
49203         * lib/wctype_.h: Likewise.
49204         * lib/dirent_.h: Likewise.
49205         * lib/iconv_.h: Likewise.
49206         * lib/locale_.h: Likewise.
49207         * lib/netinet_in_.h: Likewise.
49208         * lib/sys_select_.h: Likewise.
49209         * lib/sys_socket_.h: Likewise.
49210         * lib/sysexits_.h: Likewise.
49211         * modules/fcntl (Depends-on): Depend on include_next, not
49212         absolute_header.
49213         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
49214         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
49215         * modules/fchdir: Likewise.
49216         * modules/float: Likewise.
49217         * modules/iconv_open: Likewise.
49218         * modules/inttypes: Likewise.
49219         * modules/locale: Likewise.
49220         * modules/math: Likewise.
49221         * modules/netinet_in: Likewise.
49222         * modules/search: Likewise.
49223         * modules/signal: Likewise.
49224         * modules/stdint: Likewise.
49225         * modules/stdio: Likewise.
49226         * modules/stdlib: Likewise.
49227         * modules/string: Likewise.
49228         * modules/sys_select: Likewise.
49229         * modules/sys_socket: Likewise.
49230         * modules/sys_stat: Likewise.
49231         * modules/sys_time: Likewise.
49232         * modules/sysexits: Likewise.
49233         * modules/time: Likewise.
49234         * modules/unistd: Likewise.
49235         * modules/wchar: Likewise.
49236         * modules/wctype: Likewise.
49237         * modules/sys_stat: Change maintainer to "all".
49238         * modules/unistd: Likewise.
49239
49240 2007-06-20  Karl Berry  <karl@gnu.org>
49241
49242         * config/srclist.txt: track www changes in license files.
49243
49244 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
49245
49246         * build-aux/bootstrap: Remove stray dot.
49247         Make sure build_aux settings are honored when linking
49248         gnulib_extra_files.
49249
49250 2007-06-19  Eric Blake  <ebb9@byu.net>
49251
49252         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49253         Allow compilation on cygwin.
49254
49255 2007-06-19  Jim Meyering  <jim@meyering.net>
49256
49257         xreadlink-with-size: Remove module.  No longer used.
49258         Ex-callers now use xreadlink or mreadlink-with-size.
49259         * modules/xreadlink-with-size: Remove module.
49260         * lib/xreadlink-with-size.c: Remove file.
49261         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
49262         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
49263         just before the function definition *is* accurate.
49264
49265         Eliminate one way canonicalize_filename_mode could exit.
49266         * lib/canonicalize.c (canonicalize_filename_mode):
49267         Use mreadlink_with_size, not xreadlink_with_size.
49268
49269 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
49270
49271         Detect porting problems to FreeBSD/arm, which has time_t wider than
49272         long int.  Original problem reported for GNU diff by Xin Li in
49273         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
49274         * modules/getdate (Depends-on): Add intprops, verify.
49275         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
49276         is an integer type no wider than long int.
49277
49278 2007-06-18  Jim Meyering  <jim@meyering.net>
49279
49280         New module: mreadlink-with-size.
49281         * MODULES.html.sh: Add mreadlink-with-size.
49282         * modules/mreadlink-with-size: New module
49283         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
49284         not xreadlink-with-size.
49285         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
49286
49287 2007-06-16  Bruno Haible  <bruno@clisp.org>
49288
49289         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
49290         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
49291         Reported by Gary V. Vaughan <gary@gnu.org>.
49292
49293 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
49294
49295         Revamp lchown so that it lives in unistd.h where it belongs.
49296         * lib/lchown.h: Remove.
49297         * lib/dirchownmod.c: Don't include lib/lchown.h.
49298         * lib/fchownat.c: Likewise.
49299         * lib/openat.c: Likewise.
49300         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
49301         does not follow symlinks.
49302         (EOPNOTSUPP): Define if not defined.
49303         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
49304         is defined to 0.
49305         (lchown): New decl.
49306         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
49307         Do not check for lchown decl.
49308         Set REPLACE_LCHOWN.
49309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
49310         REPLACE_LCHOWN.
49311         * modules/chown: Make it clear it follows symlinks.
49312         * modules/lchown: Make it clear it doesn't follow symlinks.
49313         (Files): Remove lib/lchown.h
49314         (Depends-on): Add unistd.
49315         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
49316         (Include): Include <unistd.h>, not "lchown.h".
49317         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
49318         REPLACE_LCHOWN.
49319
49320 2007-06-15  Jim Meyering  <jim@meyering.net>
49321
49322         Change license (GPL to LGPL) of fsusage and dependents.
49323         * modules/fsusage (License): Change to LGPL.
49324         * modules/full-read (License): Likewise.
49325         * modules/full-write (License): Likewise.
49326         * modules/safe-read (License): Likewise.
49327         * modules/safe-write (License): Likewise.
49328
49329 2007-06-14  Ben Pfaff  <blp@gnu.org>
49330
49331         Missing part of allocsa -> malloca transition.
49332         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
49333         gl_MALLOCA.
49334
49335 2007-06-12  Bruno Haible  <bruno@clisp.org>
49336
49337         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
49338         to ia64, x86_64, i386.
49339         Reported by Eric Blake.
49340
49341 2007-06-12  Bruno Haible  <bruno@clisp.org>
49342
49343         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
49344         cross-compiling to x86_64.
49345
49346 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
49347
49348         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
49349         glitch reported by Ralf Wildenhues in
49350         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
49351
49352         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
49353         Vin Shelton.
49354
49355 2007-06-11  Bruno Haible  <bruno@clisp.org>
49356
49357         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
49358         replacement string.
49359         Reported by Eric Blake.
49360
49361 2007-06-10  Bruno Haible  <bruno@clisp.org>
49362
49363         Prepare vasnprintf code for use with Unicode strings.
49364         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
49365         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
49366         TYPE_U32_STRING.
49367         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
49368         a_u32_string variants.
49369         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49370         * lib/printf-args.c: Don't include config.h and the specification
49371         header if PRINTF_FETCHARGS is already defined.
49372         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49373         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
49374         TYPE_U16_STRING, TYPE_U32_STRING.
49375         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
49376         u16_directive, u16_directives, u32_directive, u32_directives): New
49377         types.
49378         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
49379         New declarations.
49380         * lib/printf-parse.c: Don't include config.h and the specification
49381         header if PRINTF_PARSE is already defined. Eliminate the set of
49382         parameters for WIDE_CHAR_VERSION; the user of this file must provide
49383         them now. Include c-ctype.h.
49384         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
49385         directive and CHAR_T_ONLY_ASCII.
49386         * lib/vasnprintf.c: Don't include config.h and the specification header
49387         if VASNPRINTF is already defined.
49388         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
49389         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
49390         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
49391         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
49392         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
49393         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
49394         code accordingly.
49395         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
49396         pad_ourselves also in this case, with the 'c' and 's' directives, and
49397         with a different notion of "width".
49398         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
49399
49400 2007-06-10  Bruno Haible  <bruno@clisp.org>
49401
49402         * modules/unistr/u32-mbsnlen: New file.
49403         * lib/unistr/u32-mbsnlen.c: New file.
49404
49405         * modules/unistr/u16-mbsnlen: New file.
49406         * lib/unistr/u16-mbsnlen.c: New file.
49407
49408         * modules/unistr/u8-mbsnlen: New file.
49409         * lib/unistr/u8-mbsnlen.c: New file.
49410
49411         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
49412         declarations.
49413
49414 2007-06-10  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/string_.h (mbsnlen): New declaration.
49417         * lib/mbsnlen.c: New file.
49418         * m4/mbsnlen.m4: New file.
49419         * modules/mbsnlen: New file.
49420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
49421         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
49422         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
49423
49424 2007-06-10  Bruno Haible  <bruno@clisp.org>
49425
49426         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
49427
49428 2007-06-10  Bruno Haible  <bruno@clisp.org>
49429
49430         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
49431         * lib/mbuiter.h: Likewise.
49432
49433 2007-06-10  Bruno Haible  <bruno@clisp.org>
49434
49435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
49436         declaration.
49437
49438 2007-06-10  Karl Berry  <karl@gnu.org>
49439
49440         * config/srclist.txt: remove gettext entries, Bruno prefers
49441         to update individually.
49442
49443 2007-06-10  Bruno Haible  <bruno@clisp.org>
49444
49445         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
49446         'maxlen'. Ensure only length + width bytes are allocated, not
49447         length + 1 + width.
49448
49449 2007-06-09  Bruno Haible  <bruno@clisp.org>
49450
49451         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
49452         (CHAR_T): Remove macro.
49453         (VASNPRINTF): Update.
49454
49455 2007-06-09  Bruno Haible  <bruno@clisp.org>
49456
49457         * MODULES.html.sh (Unicode string functions): Add the new modules.
49458
49459         * modules/uniconv/u32-conv-to-enc: New file.
49460         * lib/uniconv/u32-conv-to-enc.c: New file.
49461         * modules/uniconv/u32-conv-to-enc-tests: New file.
49462         * tests/uniconv/test-u32-conv-to-enc.c: New file.
49463
49464         * modules/uniconv/u16-conv-to-enc: New file.
49465         * lib/uniconv/u16-conv-to-enc.c: New file.
49466         * lib/uniconv/u-conv-to-enc.h: New file.
49467         * modules/uniconv/u16-conv-to-enc-tests: New file.
49468         * tests/uniconv/test-u16-conv-to-enc.c: New file.
49469
49470         * modules/uniconv/u8-conv-to-enc: New file.
49471         * lib/uniconv/u8-conv-to-enc.c: New file.
49472         * modules/uniconv/u8-conv-to-enc-tests: New file.
49473         * tests/uniconv/test-u8-conv-to-enc.c: New file.
49474
49475         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49476         u32_conv_to_encoding): New declarations.
49477
49478 2007-06-09  Bruno Haible  <bruno@clisp.org>
49479
49480         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
49481
49482 2007-06-09  Bruno Haible  <bruno@clisp.org>
49483
49484         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
49485         * modules/malloca: Renamed from modules/allocsa, updated.
49486         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
49487         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
49488         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
49489         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
49490         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
49491         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
49492         * modules/xmalloca: Renamed from modules/xallocsa, updated.
49493         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
49494         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
49495         * modules/c-strcasestr (Depends-on): Update.
49496         * lib/c-strcasestr.c: Update.
49497         * modules/c-strstr (Depends-on): Update.
49498         * lib/c-strstr.c: Update.
49499         * modules/canonicalize-lgpl (Depends-on): Update.
49500         * lib/canonicalize-lgpl.c: Update.
49501         * modules/clean-temp (Depends-on): Update.
49502         * lib/clean-temp.c: Update.
49503         * modules/csharpcomp (Depends-on): Update.
49504         * lib/csharpcomp.c: Update.
49505         * modules/csharpexec (Depends-on): Update.
49506         * lib/csharpexec.c: Update.
49507         * modules/javacomp (Depends-on): Update.
49508         * lib/javacomp.c: Update.
49509         * modules/javaexec (Depends-on): Update.
49510         * lib/javaexec.c: Update.
49511         * modules/mbscasestr (Depends-on): Update.
49512         * lib/mbscasestr.c: Update.
49513         * modules/mbsstr (Depends-on): Update.
49514         * lib/mbsstr.c: Update.
49515         * modules/setenv (Depends-on): Update.
49516         * lib/setenv.c: Update.
49517         * modules/strcasestr (Depends-on): Update.
49518         * lib/strcasestr.c: Update.
49519         * modules/striconveha (Depends-on): Update.
49520         * lib/striconveha.c: Update.
49521         * modules/relocatable-prog-wrapper (Files): Update.
49522         * lib/relocwrapper.c: Update.
49523         * build-aux/install-reloc: Update.
49524         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
49525
49526 2007-06-08  Bruno Haible  <bruno@clisp.org>
49527
49528         Port to uClibc.
49529         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
49530         * lib/fpurge.c (fpurge): Likewise.
49531         * lib/freading.c (freading): Likewise.
49532         * lib/fseeko.c (rpl_fseeko): Likewise.
49533         * lib/fseterr.c (fseterr): Likewise.
49534         * lib/fwriting.c (fwriting): Likewise.
49535         * tests/test-fflush.c (main): Avoid a failure on uClibc.
49536
49537 2007-06-08  Bruno Haible  <bruno@clisp.org>
49538
49539         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
49540         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
49541         * modules/gettext (Files): Add m4/intlmacosx.m4.
49542
49543 2007-06-07  Bruno Haible  <bruno@clisp.org>
49544
49545         * modules/localename-tests: New file.
49546         * tests/test-localename.c: New file.
49547
49548         New module 'localename'.
49549         * lib/localename.h: New file.
49550         * lib/localename.c: New file, from GNU gettext.
49551         * m4/localename.m4: New file.
49552         * modules/localename: New file.
49553
49554 2007-06-07  Bruno Haible  <bruno@clisp.org>
49555
49556         Work around the lack of <wchar.h> on some builds of uClibc.
49557         * doc/headers/wchar.texi: Update.
49558         * lib/wchar_.h: Include <wchar.h> only if it exists.
49559         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
49560         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
49561         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
49562         doesn't exist.
49563         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
49564         * modules/mbfile (Depends-on): Add wchar.
49565         * modules/mbiter (Depends-on): Likewise.
49566         * modules/mbuiter (Depends-on): Likewise.
49567         Reported by Simon Josefsson.
49568
49569 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
49570
49571         Work around problem reported by Steven M. Schweda in
49572         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
49573         Tru64 5.1B with the Compaq compiler environment installed declares
49574         an 'isblank' function but does not define it in the C library.
49575         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
49576         * lib/regex_internal.h (isblank): Likewise.
49577         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
49578         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49579
49580 2007-06-05  Bruno Haible  <bruno@clisp.org>
49581
49582         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
49583         ia64.
49584         * modules/printf-safe: New file.
49585         * modules/fprintf-posix (Depends-on): Add printf-safe.
49586         * modules/printf-posix (Depends-on): Likewise.
49587         * modules/snprintf-posix (Depends-on): Likewise.
49588         * modules/sprintf-posix (Depends-on): Likewise.
49589         * modules/vasnprintf-posix (Depends-on): Likewise.
49590         * modules/vasprintf-posix (Depends-on): Likewise.
49591         * modules/vfprintf-posix (Depends-on): Likewise.
49592         * modules/vprintf-posix (Depends-on): Likewise.
49593         * modules/vsnprintf-posix (Depends-on): Likewise.
49594         * modules/vsprintf-posix (Depends-on): Likewise.
49595         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
49596         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
49597         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
49598         "no" on i386, x86_64, ia64.
49599         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49600         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49601         on i386, x86_64, ia64.
49602         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49603         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49604         on i386, x86_64, ia64.
49605         * tests/test-vasnprintf-posix.c: Include float.h.
49606         (LDBL80_WORDS): New macro.
49607         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49608         on i386, x86_64, ia64.
49609         * tests/test-vasprintf-posix.c: Include float.h.
49610         (LDBL80_WORDS): New macro.
49611         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49612         on i386, x86_64, ia64.
49613         * tests/test-snprintf-posix.c: Include float.h.
49614         * tests/test-sprintf-posix.c: Likewise.
49615         * tests/test-vsnprintf-posix.c: Likewise.
49616         * tests/test-vsprintf-posix.c: Likewise.
49617
49618 2007-06-05  Bruno Haible  <bruno@clisp.org>
49619
49620         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49621         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49622         non-IEEE numbers on i386, x86_64, ia64.
49623         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49624         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49625         * tests/test-isnanl.h: Include float.h.
49626         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49627
49628 2007-06-05  Bruno Haible  <bruno@clisp.org>
49629
49630         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
49631         also the %a / %A. Handle the %a / %A code before this extra handling.
49632
49633 2007-06-05  Bruno Haible  <bruno@clisp.org>
49634
49635         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
49636         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
49637
49638 2007-06-05  Bruno Haible  <bruno@clisp.org>
49639
49640         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
49641         typo in variable name.
49642
49643 2007-06-05  Eric Blake  <ebb9@byu.net>
49644
49645         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
49646         Reported by Simon Josefsson.
49647
49648 2007-06-04  Bruno Haible  <bruno@clisp.org>
49649
49650         Avoid test failures on some PowerPC platforms.
49651         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
49652         Define differently for PowerPC.
49653         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
49654         Reported by Gary V. Vaughan <gary@gnu.org>.
49655
49656 2007-06-02  Bruno Haible  <bruno@clisp.org>
49657
49658         Fix test-stdint failure on FreeBSD/ia64.
49659         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
49660         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
49661         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
49662         * doc/headers/stdint.texi: Update.
49663
49664 2007-06-01  Bruno Haible  <bruno@clisp.org>
49665
49666         * tests/test-binary-io.c (main): Pass a third argument to open().
49667         Reported by Gary V. Vaughan <gary@gnu.org>.
49668
49669 2007-06-01  Bruno Haible  <bruno@clisp.org>
49670
49671         * doc/functions/frexpl.texi: Update for mingw.
49672
49673 2007-06-01  Bruno Haible  <bruno@clisp.org>
49674
49675         * tests/test-lseek.c (main): Disable test of errno for invalid third
49676         argument.
49677         * doc/functions/lseek.texi: Update.
49678         Reported by Gary V. Vaughan <gary@gnu.org>.
49679
49680 2007-05-28  Bruno Haible  <bruno@clisp.org>
49681
49682         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
49683
49684 2007-05-31  Eric Blake  <ebb9@byu.net>
49685
49686         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
49687         cross compiling.
49688
49689 2007-05-30  Eric Blake  <ebb9@byu.net>
49690         and Bruno Haible  <bruno@clisp.org>
49691
49692         Work around mingw test failures exposed by m4-1.4.9b.
49693         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
49694         * tests/test-unistd.c: Disable uid_t and git_t tests for the
49695         moment.
49696
49697 2007-05-30  Bruno Haible  <bruno@clisp.org>
49698
49699         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
49700         assuming that they are closed. Needed on HP-UX 11.
49701
49702 2007-05-29  Bruno Haible  <bruno@clisp.org>
49703
49704         Fix a problem with #include_next.
49705         * lib/dirent_.h: Split the double-inclusion guard.
49706         * lib/fcntl_.h: Likewise.
49707         * lib/float_.h: Likewise.
49708         * lib/iconv_.h: Likewise.
49709         * lib/inttypes_.h: Likewise.
49710         * lib/locale_.h: Likewise.
49711         * lib/math_.h: Likewise.
49712         * lib/netinet_in_.h: Likewise.
49713         * lib/search_.h: Likewise.
49714         * lib/signal_.h: Likewise.
49715         * lib/stdint_.h: Likewise.
49716         * lib/stdio_.h: Likewise.
49717         * lib/stdlib_.h: Likewise.
49718         * lib/string_.h: Likewise.
49719         * lib/sys_select_.h: Likewise.
49720         * lib/sys_socket_.h: Likewise.
49721         * lib/sys_stat_.h: Likewise.
49722         * lib/sys_time_.h: Likewise.
49723         * lib/sysexits_.h: Likewise.
49724         * lib/time_.h: Likewise.
49725         * lib/unistd_.h: Likewise.
49726         * lib/wchar_.h: Likewise.
49727         * lib/wctype_.h: Likewise.
49728
49729 2007-05-29  Bruno Haible  <bruno@clisp.org>
49730
49731         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
49732         for the moment.
49733
49734 2007-05-29  Bruno Haible  <bruno@clisp.org>
49735
49736         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
49737         invocation.
49738         Reported by Eric Blake.
49739
49740 2007-05-29  Bruno Haible  <bruno@clisp.org>
49741
49742         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
49743         compiling case.
49744
49745 2007-05-29  Eric Blake  <ebb9@byu.net>
49746             Bruno Haible  <bruno@clisp.org>
49747
49748         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
49749         cross compiles.
49750
49751 2007-05-28  Eric Blake  <ebb9@byu.net>
49752
49753         * modules/closein-tests (test_closein_LDADD): Support test on
49754         cygwin with libtool.
49755
49756 2007-05-28  Bruno Haible  <bruno@clisp.org>
49757
49758         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
49759         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49760         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49761         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49762         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49763         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49764         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49765         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49766         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49767
49768 2007-05-28  Eric Blake  <ebb9@byu.net>
49769
49770         Unconditionally include <config.h> in unit tests.
49771         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
49772         * tests/test-allocsa.c, tests/test-arcfour.c,
49773         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
49774         tests/test-array_list.c, tests/test-array_oset.c,
49775         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
49776         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
49777         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
49778         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
49779         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
49780         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
49781         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
49782         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
49783         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
49784         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
49785         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
49786         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
49787         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
49788         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
49789         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
49790         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
49791         test-md5.c, test-memmem.c, test-printf-posix.c,
49792         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
49793         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
49794         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
49795         test-strcasestr.c, test-striconv.c, test-striconveh.c,
49796         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
49797         test-vasnprintf-posix2.c, test-vasnprintf.c,
49798         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
49799         test-vfprintf-posix.c, test-vprintf-posix.c,
49800         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
49801         test-xvasprintf.c: Likewise.
49802
49803 2007-05-28  Bruno Haible  <bruno@clisp.org>
49804
49805         * gnulib-tool (func_import): Remember the --with-tests command-line
49806         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
49807         Reported by Eric Blake.
49808
49809 2007-05-28  Bruno Haible  <bruno@clisp.org>
49810
49811         * modules/ftell-tests: New file.
49812         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
49813         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
49814
49815         * lib/ftell.c: New file.
49816         * modules/ftell: New file.
49817         * m4/ftell.m4: New file.
49818         * doc/functions/ftell.texi: Update.
49819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
49820         REPLACE_FTELL.
49821         * lib/stdio_.h (rpl_ftell): New declaration.
49822         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
49823         REPLACE_FTELL.
49824
49825 2007-05-28  Eric Blake  <ebb9@byu.net>
49826
49827         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
49828
49829 2007-05-28  Bruno Haible  <bruno@clisp.org>
49830
49831         * modules/fseek-tests: New file.
49832         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
49833         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
49834
49835         * lib/fseek.c: New file.
49836         * modules/fseek: New file.
49837         * m4/fseek.m4: New file.
49838         * doc/functions/fseek.texi: Update.
49839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
49840         REPLACE_FSEEK.
49841         * lib/stdio_.h (rpl_fseek): New declaration.
49842         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
49843         REPLACE_FSEEK.
49844
49845 2007-05-28  Bruno Haible  <bruno@clisp.org>
49846
49847         * lib/stdio_.h (fflush): More comments.
49848
49849 2007-05-28  Bruno Haible  <bruno@clisp.org>
49850
49851         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
49852         runtime test.
49853
49854 2007-05-28  Eric Blake  <ebb9@byu.net>
49855
49856         Improve lseek module.
49857         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
49858         * lib/unistd_.h (lseek): Scale back link warning message.
49859         * tests/test-lseek.c: Beef up test.
49860         * tests/test-lseek.sh: Exercise more facets of lseek.
49861         Reported by Bruno Haible.
49862
49863 2007-05-28  Bruno Haible  <bruno@clisp.org>
49864
49865         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
49866         to define.
49867
49868 2007-05-27  Bruno Haible  <bruno@clisp.org>
49869
49870         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
49871
49872 2007-05-27  Bruno Haible  <bruno@clisp.org>
49873
49874         * modules/openmp: New file.
49875         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
49876         Noah Misch.
49877
49878 2007-05-26  Bruno Haible  <bruno@clisp.org>
49879
49880         * modules/chdir-long (Depends-on): Add fchdir.
49881         * modules/chdir-safer (Depends-on): Likewise.
49882         * modules/fts (Depends-on): Likewise.
49883         * modules/fts-lgpl (Depends-on): Likewise.
49884         * modules/openat (Depends-on): Likewise.
49885         * modules/savewd (Depends-on): Likewise.
49886
49887 2007-05-24  Eric Blake  <ebb9@byu.net>
49888
49889         Fix lseek on mingw.
49890         * modules/lseek: New module.
49891         * m4/lseek.m4: New file.
49892         * lib/lseek.c: New file.
49893         * modules/lseek-tests: New file.
49894         * tests/test-lseek.c: New file.
49895         * tests/test-lseek.sh: New file.
49896         * MODULES.html.sh: Document lseek module.
49897         * modules/fflush (Depends-on): Add lseek, fseeko.
49898         * modules/fseeko (Depends-on): Likewise.
49899         * modules/ftello (Depends-on): Likewise.
49900         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
49901         broken.
49902         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
49903         broken.
49904         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
49905         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
49906         * lib/ftello.c (rpl_ftello): Likewise.
49907         * tests/test-fseeko.c (main): Test this.
49908         * tests/test-fseeko.sh: Likewise.
49909         * tests/test-ftello.c (main): Likewise.
49910         * tests/test-ftello.sh: Likewise.
49911         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
49912         implies replacing fseek.
49913         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
49914         HAVE_FTELLO.
49915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
49916         * modules/unistd (Makefile.am): Likewise.
49917         * lib/unistd_.h (lseek): Declare a replacement.
49918         * doc/functions/lseek.texi (lseek): Document this fix.
49919         * doc/functions/fseek.texi (fseek): Likewise.
49920         * doc/functions/ftell.texi (ftell): Likewise.
49921
49922 2007-05-24  Bruno Haible  <bruno@clisp.org>
49923
49924         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
49925         in the printed representation of a NaN.
49926         * tests/test-vasprintf-posix.c (test_function): Likewise.
49927         * tests/test-snprintf-posix.h (test_function): Likewise.
49928         * tests/test-sprintf-posix.h (test_function): Likewise.
49929         Reported by Eric Blake.
49930
49931 2007-05-23  Eric Blake  <ebb9@byu.net>
49932
49933         Fix fseeko/ftello on cygwin 1.5.24.
49934         * doc/functions/fseeko.texi (fseeko): Document the fix.
49935         * doc/functions/ftello.texi (ftello): Document the fix.
49936         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
49937         * doc/functions/stdout.text (stdout): New file.
49938         * doc/functions/stderr.text (stderr): New file.
49939         * doc/gnulib.texi (Function Substitutes): Use new files.
49940         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
49941         prior to 1.7.0.
49942         * tests/test-ftello.c (main): Likewise for ftello.
49943         * tests/test-fseeko.sh: New file.
49944         * tests/test-ftello.sh: New file.
49945         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
49946         with seekable stdin.
49947         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
49948         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
49949         (gl_REPLACE_FSEEKO): New macro.
49950         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
49951         * modules/fseeko (Files): Distribute fseeko.c.
49952         * modules/ftello (Files): Distribute ftello.c.
49953         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
49954         mode.
49955         * lib/ftello.c (rpl_ftello): New file.
49956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
49957         fseeko, ftello.
49958         (gl_STDIN_LARGE_OFFSET): New macro.
49959         * modules/stdio (Makefile.am): Perform the replacement.
49960         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
49961
49962 2007-05-23  Bruno Haible  <bruno@clisp.org>
49963
49964         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
49965         GNULIB_POSIXCHECK is defined.
49966
49967 2007-05-21  Bruno Haible  <bruno@clisp.org>
49968
49969         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
49970         Check also the output for NaN arguments. When cross-compiling, guess
49971         no on IRIX.
49972         * lib/vasnprintf.c: Update comments.
49973         * tests/test-vasnprintf-posix.c (strisnan): New function.
49974         (test_function): Use it.
49975         * tests/test-vasprintf-posix.c (strisnan): New function.
49976         (test_function): Use it.
49977         * tests/test-snprintf-posix.h (strisnan): New function.
49978         (test_function): Use it.
49979         * tests/test-sprintf-posix.h (strisnan): New function.
49980         (test_function): Use it.
49981         Reported by Eric Blake.
49982
49983 2007-05-20  Bruno Haible  <bruno@clisp.org>
49984
49985         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
49986         numbers that fails on BeOS.
49987         * doc/functions/frexpl.texi: Update.
49988
49989 2007-05-20  Jim Meyering  <jim@meyering.net>
49990
49991         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
49992         forced upon us by glibc-2.6.
49993
49994 2007-05-20  Bruno Haible  <bruno@clisp.org>
49995
49996         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
49997         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
49998         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
49999         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
50000         NEED_PRINTF_INFINITE.
50001         (is_infinitel): New function.
50002         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
50003         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
50004         gl_PREREQ_VASNPRINTF_INFINITE.
50005         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
50006         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50007         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
50008         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
50009         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
50010         gl_PREREQ_VASNPRINTF_INFINITE.
50011         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50012         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50013         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50014         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50015         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50016         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50017         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50018         * doc/functions/fprintf.texi: Update.
50019         * doc/functions/printf.texi: Update.
50020         * doc/functions/snprintf.texi: Update.
50021         * doc/functions/sprintf.texi: Update.
50022         * doc/functions/vfprintf.texi: Update.
50023         * doc/functions/vprintf.texi: Update.
50024         * doc/functions/vsnprintf.texi: Update.
50025         * doc/functions/vsprintf.texi: Update.
50026
50027 2007-05-20  Bruno Haible  <bruno@clisp.org>
50028
50029         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
50030         was not found in libc.
50031         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50032
50033 2007-05-20  Bruno Haible  <bruno@clisp.org>
50034
50035         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50036         printed as "-nan" instead of "nan".
50037         * tests/test-vasprintf-posix.c (test_function): Likewise.
50038         * tests/test-snprintf-posix.h (test_function): Likewise.
50039         * tests/test-sprintf-posix.h (test_function): Likewise.
50040         Needed for HP-UX 11.
50041
50042 2007-05-20  Jim Meyering  <jim@meyering.net>
50043
50044         Fix buggy test for the fchownat-deref bug.
50045         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
50046         symlink required for the run-test.  Without it, this test would
50047         always declare that fchownat doesn't work, and client code would
50048         unnecessarily use the replacement function with fixed libc.
50049         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
50050         Reported by Greg Schafer.
50051
50052 2007-05-19  Bruno Haible  <bruno@clisp.org>
50053
50054         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
50055         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
50056         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
50057         Needed for IRIX 6.5 and Solaris 2.5.1.
50058
50059 2007-05-19  Bruno Haible  <bruno@clisp.org>
50060
50061         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
50062         (test_function): Skip tests involving -0.0 on platforms where
50063         -0.0 = 0.0.
50064         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
50065         (test_function): Skip tests involving -0.0 on platforms where
50066         -0.0 = 0.0.
50067         * tests/test-snprintf-posix.h (have_minus_zero): New function.
50068         (test_function): Skip tests involving -0.0 on platforms where
50069         -0.0 = 0.0.
50070         * tests/test-sprintf-posix.h (have_minus_zero): New function.
50071         (test_function): Skip tests involving -0.0 on platforms where
50072         -0.0 = 0.0.
50073         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
50074         tests.
50075         * tests/test-printf-posix.h (test_function): Likewise.
50076         * tests/test-printf-posix.output: Remove all -0.0 related results.
50077         Needed for IRIX 6.5.
50078
50079 2007-05-19  Bruno Haible  <bruno@clisp.org>
50080
50081         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50082         printed as "nan0x7fffffff" instead of "nan".
50083         * tests/test-vasprintf-posix.c (test_function): Likewise.
50084         * tests/test-snprintf-posix.h (test_function): Likewise.
50085         * tests/test-sprintf-posix.h (test_function): Likewise.
50086         * tests/test-fprintf-posix.h (NaN): Remove macro.
50087         (test_function): Remove all NaN related tests.
50088         * tests/test-printf-posix.h (NaN): Remove macro.
50089         (test_function): Remove all NaN related tests.
50090         * tests/test-printf-posix.output: Remove all NaN related results.
50091         Needed for IRIX 6.5.
50092
50093 2007-05-19  Bruno Haible  <bruno@clisp.org>
50094
50095         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
50096         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
50097
50098 2007-05-19  Bruno Haible  <bruno@clisp.org>
50099
50100         * lib/float_.h: New file.
50101         * m4/float_h.m4: New file.
50102         * modules/float: New file.
50103         * modules/isnanl (Dependencies): Add float.
50104         * modules/isnanl-nolibm (Dependencies): Likewise.
50105         * modules/mathl (Dependencies): Likewise.
50106         * modules/printf-frexpl (Dependencies): Likewise.
50107         * modules/signbit (Dependencies): Likewise.
50108         * modules/vasnprintf (Dependencies): Likewise.
50109         * doc/headers/float.texi: Update.
50110
50111 2007-05-19  Jim Meyering  <jim@meyering.net>
50112
50113         * lib/utimens.c (gl_futimens): Rename from futimens,
50114         now that glibc-2.6 declares futimens.
50115         * lib/utimens.h: Likewise.
50116
50117 2007-05-19  Bruno Haible  <bruno@clisp.org>
50118
50119         Avoid test failures on mingw.
50120         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
50121         * tests/test-printf-posix.sh: Likewise.
50122         * tests/test-vfprintf-posix.sh: Likewise.
50123         * tests/test-vprintf-posix.sh: Likewise.
50124
50125 2007-05-19  Bruno Haible  <bruno@clisp.org>
50126
50127         Fix *printf result for NaN, Inf, -0.0 on mingw.
50128         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
50129         * lib/vasnprintf.c: Include math.h and isnan.h.
50130         (is_infinite_or_zero): New function.
50131         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
50132         values in the %f, %F, %e, %E, %g, %G directives.
50133         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
50134         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50135         gl_PRINTF_INFINITE and test its result. Invoke
50136         gl_PREREQ_VASNPRINTF_INFINITE.
50137         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50138         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50139         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50140         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50141         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50142         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50143         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50144         * doc/functions/fprintf.texi: Update.
50145         * doc/functions/printf.texi: Update.
50146         * doc/functions/snprintf.texi: Update.
50147         * doc/functions/sprintf.texi: Update.
50148         * doc/functions/vfprintf.texi: Update.
50149         * doc/functions/vprintf.texi: Update.
50150         * doc/functions/vsnprintf.texi: Update.
50151         * doc/functions/vsprintf.texi: Update.
50152
50153 2007-05-19  Bruno Haible  <bruno@clisp.org>
50154
50155         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
50156         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
50157         Instead of multiplying with 10^k, set extra_zeroes to k.
50158         (scale10_round_long_double): Remove function.
50159
50160 2007-05-18  Bruno Haible  <bruno@clisp.org>
50161
50162         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
50163         introduced on 2007-05-06.
50164
50165 2007-05-18  Bruno Haible  <bruno@clisp.org>
50166
50167         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
50168         %g directives.
50169         * tests/test-vasprintf-posix.c (test_function): Likewise.
50170         * tests/test-snprintf-posix.h (test_function): Likewise.
50171         * tests/test-sprintf-posix.h (test_function): Likewise.
50172
50173 2007-05-18  Bruno Haible  <bruno@clisp.org>
50174
50175         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
50176         (strmatch): New function.
50177         (test_function): Test the %f directive on numbers of various exponents.
50178         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
50179         (strmatch): New function.
50180         (test_function): Test the %f directive on numbers of various exponents.
50181         * tests/test-snprintf-posix.h (strmatch): New function.
50182         (test_function): Test the %f directive on numbers of various exponents.
50183         * tests/test-sprintf-posix.h (strmatch): New function.
50184         (test_function): Test the %f directive on numbers of various exponents.
50185         * tests/test-snprintf-posix.c (SIZEOF): New macro.
50186         * tests/test-sprintf-posix.c (SIZEOF): New macro.
50187         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
50188         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
50189
50190 2007-05-18  Bruno Haible  <bruno@clisp.org>
50191
50192         Add support for 'long double' number output.
50193         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
50194         * lib/vasnprintf.c: Include math.h and float+.h.
50195         (mp_limb_t): New type.
50196         (GMP_LIMB_BITS): New macro.
50197         (mp_twolimb_t): New type.
50198         (GMP_TWOLIMB_BITS): New macro.
50199         (mpn_t): New type.
50200         (multiply, divide, convert_to_decimal, decode_long_double,
50201         scale10_round_long_double, scale10_round_decimal_long_double,
50202         floorlog10l): New functions.
50203         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
50204         for the %f, %F, %e, %E, %g, %G directives.
50205         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
50206         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50207         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
50208         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
50209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50210         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50211         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50212         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50213         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50214         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50215         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50216         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
50217         * modules/snprintf-posix (Depends-on): Likewise.
50218         * modules/sprintf-posix (Depends-on): Likewise.
50219         * modules/vasnprintf-posix (Depends-on): Likewise.
50220         * modules/vasprintf-posix (Depends-on): Likewise.
50221         * modules/vfprintf-posix (Depends-on): Likewise.
50222         * modules/vsnprintf-posix (Depends-on): Likewise.
50223         * modules/vsprintf-posix (Depends-on): Likewise.
50224         * modules/vasnprintf (Files): Add lib/float+.h.
50225         * doc/functions/fprintf.texi: Update.
50226         * doc/functions/printf.texi: Update.
50227         * doc/functions/snprintf.texi: Update.
50228         * doc/functions/sprintf.texi: Update.
50229         * doc/functions/vfprintf.texi: Update.
50230         * doc/functions/vprintf.texi: Update.
50231         * doc/functions/vsnprintf.texi: Update.
50232         * doc/functions/vsprintf.texi: Update.
50233
50234 2007-05-18  Bruno Haible  <bruno@clisp.org>
50235
50236         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
50237
50238 2007-05-18  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
50241         for printing 64-bit integers. Needed for mingw.
50242
50243 2007-05-18  Bruno Haible  <bruno@clisp.org>
50244
50245         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50246         gl_FUNC_FREXPL_WORKS.
50247         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
50248
50249 2007-05-18  Bruno Haible  <bruno@clisp.org>
50250
50251         * modules/frexpl-nolibm-tests: New file.
50252
50253         * modules/frexpl-nolibm: New file.
50254         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
50255
50256 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50257
50258         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
50259         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50260         GCC 4.2, which otherwise issues a lot of warnings.
50261         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
50262         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
50263         Likewise.
50264         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
50265         * modules/iconv_open (iconv.h): Likewise.
50266         * modules/locale (locale.h): Likewise.
50267         * modules/netinet_in (netinet/in.h): Likewise.
50268         * modules/sys_select (sys_select.h): Likewise.
50269         * modules/sys_socket (sys/socket.h): Likewise.
50270         * modules/sys_stat (sys/stat.h): Likewise.
50271         * modules/sysexits (sysexits.h): Likewise.
50272         * modules/unistd (unistd.h): Likewise.
50273
50274 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50275
50276         * modules/closein-tests (Makefile.am): Distribute
50277         `test-closein.sh'.
50278
50279 2007-05-17  Bruno Haible  <bruno@clisp.org>
50280
50281         * tests/test-printf-posix.output: Renamed from
50282         tests/test-fprintf-posix.out.
50283         * modules/fprintf-posix-tests: Update.
50284         * modules/printf-posix-tests: Update.
50285         * modules/vfprintf-posix-tests: Update.
50286         * modules/vprintf-posix-tests: Update.
50287         * tests/test-fprintf-posix.sh: Update.
50288         * tests/test-printf-posix.sh: Update.
50289         * tests/test-vfprintf-posix.sh: Update.
50290         * tests/test-vprintf-posix.sh: Update.
50291         Reported by Ralf Wildenhues.
50292
50293 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50294
50295         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
50296         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50297         GCC 4.2, which otherwise issues a lot of warnings.
50298         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
50299         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
50300         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
50301         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
50302         it should no longer be needed.
50303         * lib/string_.h: Likewise.
50304         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
50305         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
50306         * modules/inttypes (inttypes.h): Likewise.
50307         * modules/math (math.h): Likewise.
50308         * modules/search (search.h): Likewise.
50309         * modules/signal (signal.h): Likewise.
50310         * modules/stdint (stdint.h): Likewise.
50311         * modules/stdio (stdio.h): Likewise.
50312         * modules/stdlib (stdlib.h): Likewise.
50313         * modules/string (string.h): Likewise.
50314         * modules/sys_time (sys/time.h): Likewise.
50315         * modules/time (time.h): Likewise.
50316         * modules/wchar (wchar.h): Likewise.
50317         * modules/wctype (wtype.h): Likewise.
50318
50319 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50320
50321         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
50322
50323 2007-05-13  Bruno Haible  <bruno@clisp.org>
50324
50325         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
50326         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50327         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
50328         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50329         (gl_PREREQ_STRTOK_R): Don't require it here.
50330
50331 2007-05-13  Bruno Haible  <bruno@clisp.org>
50332
50333         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
50334         when used in C++ mode.
50335
50336 2007-05-12  Bruno Haible  <bruno@clisp.org>
50337
50338         * lib/linebuffer.h: Tweak doc.
50339         * lib/linebuffer.c: Likewise.
50340
50341 2007-05-12  James Youngman  <jay@gnu.org>
50342
50343         * lib/linebuffer.c (readlinebuffer_delim): New function,
50344         like readlinebuffer, but use a caller-specified delimiter.
50345         (readlinebuffer): Just call readlinebuffer_delim with '\n'
50346         as the delimiter.
50347         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
50348
50349 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50350
50351         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
50352         * modules/openat (Files): Remove openat-die.c.
50353         (Depends-on): Add openat-die.
50354         * modules/openat-die: New module.
50355
50356 2007-05-06  Bruno Haible  <bruno@clisp.org>
50357
50358         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
50359         Update with info about Cygwin.
50360         * doc/functions/fprintf.texi: Update.
50361         * doc/functions/printf.texi: Update.
50362         * doc/functions/snprintf.texi: Update.
50363         * doc/functions/sprintf.texi: Update.
50364         * doc/functions/vfprintf.texi: Update.
50365         * doc/functions/vprintf.texi: Update.
50366         * doc/functions/vsnprintf.texi: Update.
50367         * doc/functions/vsprintf.texi: Update.
50368         Reported by Eric Blake.
50369
50370 2007-05-06  Bruno Haible  <bruno@clisp.org>
50371
50372         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
50373         padding ourselves for the floating-point directives.
50374         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
50375         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
50376         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50377         gl_PRINTF_FLAG_ZERO and test its result. Invoke
50378         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
50379         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50380         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50381         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50382         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50383         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50384         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50385         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50386         * tests/test-snprintf-posix.h (test_function): Also check the width
50387         and some flags in the %f directive.
50388         * tests/test-sprintf-posix.h (test_function): Likewise.
50389         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50390         * tests/test-vasprintf-posix.c (test_function): Likewise.
50391         * doc/functions/fprintf.texi: Update.
50392         * doc/functions/printf.texi: Update.
50393         * doc/functions/snprintf.texi: Update.
50394         * doc/functions/sprintf.texi: Update.
50395         * doc/functions/vfprintf.texi: Update.
50396         * doc/functions/vprintf.texi: Update.
50397         * doc/functions/vsnprintf.texi: Update.
50398         * doc/functions/vsprintf.texi: Update.
50399
50400 2007-05-06  Bruno Haible  <bruno@clisp.org>
50401
50402         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
50403         pass the ' flag character to sprintf or snprintf.
50404         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
50405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
50406         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50407         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
50408         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
50409         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50410         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50411         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50412         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50413         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50414         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50415         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50416         * tests/test-snprintf-posix.h (test_function): Also check the grouping
50417         flag.
50418         * tests/test-sprintf-posix.h (test_function): Likewise.
50419         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50420         * tests/test-vasprintf-posix.c (test_function): Likewise.
50421         * doc/functions/fprintf.texi: Update.
50422         * doc/functions/printf.texi: Update.
50423         * doc/functions/snprintf.texi: Update.
50424         * doc/functions/sprintf.texi: Update.
50425         * doc/functions/vfprintf.texi: Update.
50426         * doc/functions/vprintf.texi: Update.
50427         * doc/functions/vsnprintf.texi: Update.
50428         * doc/functions/vsprintf.texi: Update.
50429
50430 2007-05-01  Bruno Haible  <bruno@clisp.org>
50431
50432         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
50433
50434 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
50435
50436         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
50437         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
50438
50439 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50440
50441         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
50442         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
50443         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
50444
50445 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
50446
50447         * lib/argp-help.c (struct hol_entry): New member `ord'.
50448         (HOL_ENTRY_PTRCMP): Use ord for comparison
50449         (hol_sort): Initialize ord.
50450
50451 2007-05-01  Bruno Haible  <bruno@clisp.org>
50452
50453         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
50454         Reported by Eric Blake.
50455         * doc/gnulib.texi (Function Substitutes): Update.
50456
50457 2007-05-01  Bruno Haible  <bruno@clisp.org>
50458
50459         * doc/functions.texi: Remove file, now redundant through
50460         doc/functions/*.texi.
50461
50462 2007-05-01  Bruno Haible  <bruno@clisp.org>
50463
50464         * modules/argp (Depends-on): Add sleep.
50465
50466 2007-05-01  Bruno Haible  <bruno@clisp.org>
50467
50468         * modules/sleep-tests: New file.
50469         * tests/test-sleep.c: New file.
50470
50471         * modules/sleep: New file.
50472         * lib/sleep.c: New file.
50473         * m4/sleep.m4: New file.
50474         * lib/unistd_.h (sleep): New declaration.
50475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
50476         HAVE_SLEEP.
50477         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
50478         * doc/functions/sleep.texi: Document the sleep module.
50479
50480 2007-05-01  Bruno Haible  <bruno@clisp.org>
50481
50482         * lib/sigprocmask.h: Remove file.
50483         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
50484         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
50485         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
50486         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
50487         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50488         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
50489         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
50490         HAVE_SIGSET_T as a shell variable.
50491         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
50492         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
50493         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
50494         (Depends-on): Add signal. Remove verify.
50495         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
50496         (Include): Mention <signal.h> instead of sigprocmask.h.
50497         * NEWS: Mention the change.
50498         * lib/fatal-signal.c: Don't include sigprocmask.h.
50499
50500 2007-05-01  Bruno Haible  <bruno@clisp.org>
50501
50502         * modules/signal: New file.
50503         * lib/signal_.h: New file.
50504         * m4/signal_h.m4: New file.
50505
50506 2007-05-01  Bruno Haible  <bruno@clisp.org>
50507
50508         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
50509         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
50510         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
50511         HAVE_WCTYPE_CTMP_BUG into wctype.h.
50512
50513 2007-05-01  Bruno Haible  <bruno@clisp.org>
50514
50515         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
50516         configure time.
50517         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
50518         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
50519         * modules/sys_stat (Makefile.am): Substitute their values into
50520         sys/stat.h.
50521
50522 2007-05-01  Bruno Haible  <bruno@clisp.org>
50523
50524         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
50525         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
50526         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
50527
50528 2007-05-01  Bruno Haible  <bruno@clisp.org>
50529
50530         * doc/header/assert.texi: Undo last change: don't mention the gnulib
50531         'assert' module here.
50532
50533 2007-05-01  Bruno Haible  <bruno@clisp.org>
50534
50535         * doc/functions/*.texi: New files.
50536         * doc/functions/google-ranking.txt: New file.
50537         * doc/gnulib.texi (Function Substitutes): New chapter.
50538         (ctime, inet_ntoa): Remove sections.
50539         * doc/ctime.texi: Remove file.
50540         * doc/inet_ntoa.texi: Remove file.
50541         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
50542         dependencies.
50543         (%.info): New rule, specifying a --reference-limit.
50544
50545 2007-05-01  Bruno Haible  <bruno@clisp.org>
50546
50547         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
50548
50549 2007-05-01  Bruno Haible  <bruno@clisp.org>
50550
50551         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
50552         the portability of 'mkdir' to mingw systems.
50553
50554 2007-05-01  Bruno Haible  <bruno@clisp.org>
50555
50556         * doc/headers/google-ranking.txt: New file.
50557
50558 2007-04-30  Eric Blake  <ebb9@byu.net>
50559
50560         Prefer fseeko to fseek.
50561         * modules/getpass (Depends-on): Add fseeko.
50562         * lib/getpass.c (getpass): Use fseeko, not fseek.
50563
50564 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
50565
50566         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
50567         assumes the sorting is stable, while most qsort implementations
50568         are not.  Use argument addresses to ensure they never compare as
50569         equal.
50570
50571         * tests/test-argp-2.sh (usage-indent test): Fix output
50572         (func_compare): Restore diff options
50573         * tests/test-argp.c: Restore #include "progname.h"
50574
50575 2007-04-29  Bruno Haible  <bruno@clisp.org>
50576
50577         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
50578         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50579         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
50580         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50581         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
50582         (configure.ac): Define CHECK_SNPRINTF_POSIX.
50583         (TESTS, check_PROGRAMS): Add test-snprintf.
50584         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
50585         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
50586         (TESTS, check_PROGRAMS): Add test-vsnprintf.
50587         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
50588         assertions that fail on HP-UX, OSF/1, or IRIX.
50589         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
50590
50591 2007-04-29  Bruno Haible  <bruno@clisp.org>
50592
50593         * MODULES.html.sh (posix_functions): Remove 'contents'.
50594
50595 2007-04-29  Karl Berry  <karl@gnu.org>
50596
50597         * config/srclist.txt (gendocs_template_min): new entry.
50598
50599 2007-04-29  Bruno Haible  <bruno@clisp.org>
50600
50601         Work around fpurge bug on BSD systems.
50602         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50603         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50604         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50605         fpurge to rpl_fpurge if the system already has this function.
50606         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50607         the case where the system already has this function. Correct invariants
50608         on BSD systems.
50609         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50610         BSD systems.
50611
50612 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50613
50614         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50615         proposed by Sven Verdoolaege.
50616
50617         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50618         options.
50619         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50620         (usage and help tests): Update
50621
50622 2007-04-29  Bruno Haible  <bruno@clisp.org>
50623
50624         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50625         Print more information in case of failure. Disable a test on BeOS.
50626
50627 2007-04-29  Bruno Haible  <bruno@clisp.org>
50628
50629         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
50630         This helps debugging on systems on which no gdb is available.
50631
50632 2007-04-29  Bruno Haible  <bruno@clisp.org>
50633
50634         * lib/freading.h: Improve comments.
50635         * lib/fwriting.h: Likewise.
50636         * tests/test-freading.c (main): Don't check freading immediately after
50637         repositioning. Needed for glibc.
50638
50639 2007-04-29  Bruno Haible  <bruno@clisp.org>
50640
50641         * lib/freading.c (freading): Trivial simplification.
50642
50643 2007-04-28  Bruno Haible  <bruno@clisp.org>
50644
50645         * tests/test-fwriting.c (main): Also test the interaction between
50646         fflush and fwriting.
50647         * modules/fwriting-tests (Depends-on): Add fflush.
50648
50649         * tests/test-freading.c (main): Also test the interaction between
50650         fflush and freading.
50651         * modules/freading-tests (Depends-on): Add fflush.
50652
50653 2007-04-28  Bruno Haible  <bruno@clisp.org>
50654
50655         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
50656         fseeko and ftello.
50657         Suggested by Eric Blake.
50658
50659 2007-04-28  Jim Meyering  <jim@meyering.net>
50660
50661         Avoid false-negative in gl_STDINT_H's C99 conformance test.
50662         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
50663         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
50664
50665 2007-04-27  Eric Blake  <ebb9@byu.net>
50666
50667         * doc/headers/assert.texi (assert.h): Document assert module use.
50668
50669 2007-04-27  Bruno Haible  <bruno@clisp.org>
50670
50671         * doc/headers/*.texi: New files.
50672         * doc/gnulib.texi (Header File Substitutes): New chapter.
50673         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
50674         dependencies.
50675         (standards.info ,standards.html, standards.dvi): Update dependencies.
50676         (mostlyclean, clean): New targets.
50677
50678 2007-04-27  Bruno Haible  <bruno@clisp.org>
50679
50680         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
50681         * modules/sysexits (Files, Makefile.am): Update.
50682
50683         * lib/sys_socket_.h: Renamed from lib/socket_.h.
50684         * modules/sys_socket (Files, Makefile.am): Update.
50685
50686         * lib/sys_stat_.h: Renamed from lib/stat_.h.
50687         * modules/sys_stat (Files, Makefile.am): Update.
50688
50689 2007-04-27  Eric Blake  <ebb9@byu.net>
50690
50691         * lib/freading.h: Improve comments.
50692         * lib/fwriting.h: Likewise.
50693         * lib/fflush.c: Likewise.
50694
50695         Fix closein for mingw.
50696         * modules/closein-tests: Add tests for closein.
50697         * tests/test-closein.c: New file.
50698         * tests/test-closein.sh: Likewise.
50699         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
50700         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
50701
50702 2007-04-27  Bruno Haible  <bruno@clisp.org>
50703
50704         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
50705         version is < 6.
50706         * lib/math_.h [__DECC]: Likewise.
50707         * lib/stdio_.h [__DECC]: Likewise.
50708         * lib/stdlib_.h [__DECC]: Likewise.
50709         * lib/string_.h [__DECC]: Likewise.
50710         * lib/time_.h [__DECC]: Likewise.
50711         * lib/wchar_.h [__DECC]: Likewise.
50712         * lib/wctype_.h [__DECC]: Likewise.
50713
50714 2007-04-27  Bruno Haible  <bruno@clisp.org>
50715
50716         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
50717
50718 2007-04-27  Bruno Haible  <bruno@clisp.org>
50719
50720         * lib/fflush.c: Add comments.
50721         * modules/fpurge-tests (Depends-on): Add fflush.
50722         * modules/freadable-tests (Depends-on): Likewise.
50723         * modules/fwritable-tests (Depends-on): Likewise.
50724
50725 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
50726
50727         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
50728         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
50729         Report by Bruno Haible <bruno@clisp.org>.
50730
50731 2007-04-26  Eric Blake  <ebb9@byu.net>
50732
50733         Fix fflush on mingw.
50734         * modules/fflush (Depends-on): Add freading.
50735         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
50736         but unread data.
50737
50738 2007-04-26  Eric Blake  <ebb9@byu.net>
50739         and Bruno Haible  <bruno@clisp.org>
50740
50741         Implement freading and fwriting.
50742         * lib/freading.c: New file.
50743         * lib/freading.h: Likewise.
50744         * m4/freading.m4: Likewise.
50745         * modules/freading: Likewise.
50746         * modules/freading-tests: Likewise.
50747         * tests/test-freading.c: Likewise.
50748         * lib/fwriting.c: New file.
50749         * lib/fwriting.h: Likewise.
50750         * m4/fwriting.m4: Likewise.
50751         * modules/fwriting: Likewise.
50752         * modules/fwriting-tests: Likewise.
50753         * tests/test-fwriting.c: Likewise.
50754         * MODULES.html.sh (File stream based Input/Output): Mention them.
50755
50756 2007-04-26  Bruno Haible  <bruno@clisp.org>
50757
50758         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
50759         'long' when we assume it.
50760         Suggested by Eric Blake.
50761
50762 2007-04-26  Bruno Haible  <bruno@clisp.org>
50763
50764         Ensure fseeko, ftello are declared on glibc systems.
50765         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
50766         * modules/fseeko (configure.ac-early): Likewise.
50767         * modules/ftello (configure.ac-early): Likewise.
50768         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
50769         AC_FUNC_FSEEKO for this.
50770         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
50771         (gl_CHECK_FSEEKO): Remove macro.
50772
50773 2007-04-26  Bruno Haible  <bruno@clisp.org>
50774
50775         * tests/test-fflush.c (main): Also check the ftell result after
50776         fflush and fseek/fseeko.
50777         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
50778         file descriptor position cache in the stream.
50779         * lib/fseeko.c (rpl_fseeko): Likewise.
50780
50781 2007-04-26  Bruno Haible  <bruno@clisp.org>
50782
50783         * modules/fflush-tests (Depends-on): Add fseeko.
50784
50785 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
50786             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50787
50788         * lib/argz_.h: ensure error_t definition is obtained in same
50789         mechanism system argz.h would have.
50790         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
50791         argz facilities are known bad.  Err on the side of caution if
50792         cross-compiling.
50793
50794 2007-04-25  Eric Blake  <ebb9@byu.net>
50795
50796         * lib/fpurge.c (includes): Use stdlib.h for free.
50797         * tests/test-fflush.c (main): Also test fflush-fseeko.
50798
50799 2007-04-25  Bruno Haible  <bruno@clisp.org>
50800
50801         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
50802         * lib/fseeko.c: New file.
50803         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
50804         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
50805         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
50806         gl_FUNC_FSEEKO.
50807         (gl_FUNC_FSEEKO): Invoke it.
50808         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
50809         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
50810         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
50811
50812 2007-04-25  Bruno Haible  <bruno@clisp.org>
50813
50814         * modules/fflush (Depends-on): Add ftello.
50815
50816 2007-04-25  Bruno Haible  <bruno@clisp.org>
50817
50818         * modules/ftello-tests: New file.
50819         * tests/test-ftello.c: New file.
50820
50821         * modules/ftello: New file.
50822         * m4/ftello.m4: New file.
50823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
50824         HAVE_FTELLO.
50825         * lib/stdio_.h (ftello): New declaration.
50826         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
50827         HAVE_FTELLO.
50828
50829 2007-04-25  Bruno Haible  <bruno@clisp.org>
50830
50831         * modules/fseeko-tests: New file.
50832         * tests/test-fseeko.c: New file.
50833
50834         * modules/fseeko: New file.
50835         * m4/fseeko.m4: New file.
50836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
50837         HAVE_FSEEKO.
50838         * lib/stdio_.h (fseeko): New declaration.
50839         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
50840         HAVE_FSEEKO.
50841
50842 2007-04-25  Bruno Haible  <bruno@clisp.org>
50843
50844         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
50845
50846 2007-04-25  Bruno Haible  <bruno@clisp.org>
50847
50848         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
50849         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
50850         * tests/test-unistd.c: Likewise.
50851         * tests/test-fcntl.c: Likewise.
50852
50853 2007-04-23  Eric Blake  <ebb9@byu.net>
50854
50855         * lib/fflush.c: Fix missing include.
50856         Reported by Bruno Haible.
50857
50858 2007-04-23  Bruno Haible  <bruno@clisp.org>
50859
50860         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
50861         Reported by Eric Blake.
50862
50863 2007-04-23  Bruno Haible  <bruno@clisp.org>
50864
50865         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
50866
50867 2007-04-23  Bruno Haible  <bruno@clisp.org>
50868
50869         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
50870
50871 2007-04-23  Bruno Haible  <bruno@clisp.org>
50872
50873         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
50874         Needed on HP-UX 11.
50875
50876 2007-04-16  Eric Blake  <ebb9@byu.net>
50877
50878         Make fflush rely on fpurge.
50879         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
50880         open coding all variants.
50881         * modules/fflush (Depends-on): Add fpurge and unistd.
50882         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
50883         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
50884
50885         Fix --with-tests compilation on cygwin.
50886         * modules/argmatch-tests (Makefile.am): List gnulib library first
50887         in LDADD.
50888         * modules/argp-tests (Makefile.am): Likewise.
50889         * modules/array-list-tests (Makefile.am): Likewise.
50890         * modules/array-oset-tests (Makefile.am): Likewise.
50891         * modules/avltree-list-tests (Makefile.am): Likewise.
50892         * modules/avltree-oset-tests (Makefile.am): Likewise.
50893         * modules/avltreehash-list-tests (Makefile.am): Likewise.
50894         * modules/carray-list-tests (Makefile.am): Likewise.
50895         * modules/dirname-tests (Makefile.am): Likewise.
50896         * modules/frexp-tests (Makefile.am): Likewise.
50897         * modules/isnanl-tests (Makefile.am): Likewise.
50898         * modules/linked-list-tests (Makefile.am): Likewise.
50899         * modules/linkedhash-list-tests (Makefile.am): Likewise.
50900         * modules/lock-tests (Makefile.am): Likewise.
50901         * modules/rbtree-list-tests (Makefile.am): Likewise.
50902         * modules/rbtree-oset-tests (Makefile.am): Likewise.
50903         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
50904         * modules/tls-tests (Makefile.am): Likewise.
50905         * modules/tsearch-tests (Makefile.am): Likewise.
50906         * modules/xvasprintf-tests (Makefile.am): Likewise.
50907
50908         Fix fpurge for cygwin.
50909         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
50910         value.
50911         * modules/fpurge-tests (Depends-on): Clean up trash.
50912
50913 2007-04-16  Simon Josefsson  <simon@josefsson.org>
50914
50915         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
50916
50917         * m4/autobuild.m4: Re-indent.
50918
50919 2007-04-13  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/fpurge-tests: New file.
50922         * tests/test-fpurge.c: New file.
50923
50924         * modules/fpurge: New file.
50925         * lib/fpurge.h: New file.
50926         * lib/fpurge.c: New file.
50927         * m4/fpurge.m4: New file.
50928
50929 2007-04-13  Bruno Haible  <bruno@clisp.org>
50930
50931         * modules/fbufmode-tests: New file.
50932         * tests/test-fbufmode.c: New file.
50933
50934         * modules/fbufmode: New file.
50935         * lib/fbufmode.h: New file.
50936         * lib/fbufmode.c: New file.
50937         * m4/fbufmode.m4: New file.
50938
50939 2007-04-13  Bruno Haible  <bruno@clisp.org>
50940
50941         * modules/fwritable-tests: New file.
50942         * tests/test-fwritable.c: New file.
50943
50944         * modules/fwritable: New file.
50945         * lib/fwritable.h: New file.
50946         * lib/fwritable.c: New file.
50947         * m4/fwritable.m4: New file.
50948
50949 2007-04-13  Bruno Haible  <bruno@clisp.org>
50950
50951         * modules/freadable-tests: New file.
50952         * tests/test-freadable.c: New file.
50953
50954         * modules/freadable: New file.
50955         * lib/freadable.h: New file.
50956         * lib/freadable.c: New file.
50957         * m4/freadable.m4: New file.
50958
50959 2007-04-13  Bruno Haible  <bruno@clisp.org>
50960
50961         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
50962         MOSTLYCLEANFILES.
50963
50964 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50965
50966         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
50967         gzip bootstrap.conf to avoid dragging in i18n machinery.
50968         (gnulib_tool_option): Use it.
50969
50970 2007-04-13  Bruno Haible  <bruno@clisp.org>
50971
50972         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
50973         %F directives.
50974         * tests/test-vasprintf-posix.c (test_function): Likewise.
50975         * tests/test-snprintf-posix.h (test_function): Likewise.
50976         * tests/test-sprintf-posix.h (test_function): Likewise.
50977         * tests/test-fprintf-posix.h (test_function): Likewise.
50978         * tests/test-printf-posix.h (test_function): Likewise.
50979         * tests/test-fprintf-posix.out: Likewise.
50980
50981 2007-04-13  Bruno Haible  <bruno@clisp.org>
50982
50983         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
50984         * modules/tls-tests (configure.ac): Likewise.
50985         Reported by Arto C. Nirkko <anirkko@insel.ch>.
50986
50987 2007-04-13  Bruno Haible  <bruno@clisp.org>
50988
50989         * lib/tls.c (glthread_tls_get): Fix return type.
50990         Patch by Arto C. Nirkko <anirkko@insel.ch>.
50991
50992 2007-04-12  Eric Blake  <ebb9@byu.net>
50993
50994         * modules/gettime (Depends-on): Remove gettime.
50995         Reported by Dmitry V. Levin.
50996
50997 2007-04-12  Bruno Haible  <bruno@clisp.org>
50998
50999         * modules/fflush (Include): Mention <stdio.h>.
51000         * modules/strtoimax (Include): Mention <inttypes.h>.
51001         * modules/strtoumax (Include): Likewise.
51002
51003 2007-04-12  Eric Blake  <ebb9@byu.net>
51004
51005         * .cvsignore: New file.
51006         * .gitignore: Likewise.
51007
51008 2007-04-12  Bruno Haible  <bruno@clisp.org>
51009
51010         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
51011         not before, since $(LDADD) often contains libgnu.a.
51012         * modules/striconv-tests (test_striconv_LDADD): Likewise.
51013         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
51014         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
51015         Needed on Cygwin.
51016
51017 2007-04-12  Eric Blake  <ebb9@byu.net>
51018
51019         Work around glibc's failure to flush stdin on fclose.
51020         * lib/closein.c (close_stdin): Flush stdin before closing.
51021
51022         Work around glibc's failure to reset seekable stdin on exit.
51023         * modules/closein: New module.
51024         * lib/closein.c: New file.
51025         * lib/closein.h: Likewise.
51026         * m4/closein.m4: Likewise.
51027         * MODULES.html.sh (File stream based Input/Output): Document it.
51028
51029 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51030
51031         * gnulib-tool: Rename generated 'autobuild' script to
51032         'do-autobuild' in --create-megatestdir output.
51033
51034         * doc/gnulib.texi (Build robot for gnulib): Fix.
51035
51036 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51037
51038         * modules/sysexits (Depends-on): Add absolute-header.
51039
51040 2007-04-12  Eric Blake  <ebb9@byu.net>
51041
51042         No need to preserve errno on success.
51043         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
51044         Reported by Bruno Haible.
51045
51046 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51047
51048         * MODULES.html.sh (Support for maintaining and releasing
51049         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
51050
51051 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51052
51053         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
51054
51055 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51056
51057         * modules/autobuild: New module.
51058
51059         * m4/autobuild.m4: New file.
51060
51061 2007-04-11  Bruno Haible  <bruno@clisp.org>
51062
51063         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
51064         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
51065         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
51066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
51067         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51068         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51069         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51070         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51071         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51072         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51073         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
51074         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51075         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51076         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
51077         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51078         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51079         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
51080         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51081         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51082         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
51083         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51084         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51085         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
51086         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51087         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51088         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
51089         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51090         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51091         Reported by Eric Blake.
51092
51093 2007-04-11  Bruno Haible  <bruno@clisp.org>
51094
51095         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
51096
51097 2007-04-10  Bruno Haible  <bruno@clisp.org>
51098
51099         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
51100         for NaN and Infinity. Needed on FreeBSD 6.1.
51101         * tests/test-vasnprintf-posix.c (test_function): Undo last change
51102         regarding results for "%010a" of Infinity and NaN.
51103         * tests/test-vasprintf-posix.c (test_function): Likewise.
51104         * tests/test-snprintf-posix.h (test_function): Likewise.
51105         * tests/test-sprintf-posix.h (test_function): Likewise.
51106         * tests/test-fprintf-posix.h (test_function): Likewise.
51107         * tests/test-printf-posix.h (test_function): Likewise.
51108         * tests/test-fprintf-posix.out: Likewise.
51109
51110 2007-04-10  Bruno Haible  <bruno@clisp.org>
51111
51112         * modules/locale-tests: New file.
51113         * tests/test-locale.c: New file.
51114
51115         * modules/locale: New file.
51116         * lib/locale_.h: New file.
51117         * m4/locale_h.m4: New file.
51118
51119 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
51120             Bruno Haible  <bruno@clisp.org>
51121
51122         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
51123         be determined, test for availability of the copysignf, copysign,
51124         copysignl functions.
51125         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
51126         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
51127         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
51128
51129 2007-04-09  Eric Blake  <ebb9@byu.net>
51130
51131         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
51132         * modules/stdio (Makefile.am): Support fflush.
51133         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51134         * modules/fflush: New file.
51135         * lib/fflush.c: Likewise.
51136         * m4/fflush.m4: Likewise.
51137         * modules/fflush-tests: New test.
51138         * tests/test-fflush.c: Likewise.
51139         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
51140
51141 2007-04-06  Bruno Haible  <bruno@clisp.org>
51142
51143         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
51144         (VASNPRINTF): Use signbit for faster determination whether to print a
51145         minus sign.
51146         * modules/vasnprintf (Files): Remove lib/float+.h.
51147         * modules/fprintf-posix (Depends-on): Add signbit.
51148         * modules/snprintf-posix (Depends-on): Likewise.
51149         * modules/sprintf-posix (Depends-on): Likewise.
51150         * modules/vasnprintf-posix (Depends-on): Likewise.
51151         * modules/vasprintf-posix (Depends-on): Likewise.
51152         * modules/vfprintf-posix (Depends-on): Likewise.
51153         * modules/vsnprintf-posix (Depends-on): Likewise.
51154         * modules/vsprintf-posix (Depends-on): Likewise.
51155
51156 2007-04-06  Bruno Haible  <bruno@clisp.org>
51157
51158         * tests/test-frexp.c (main): Test also the sign bit of zero results.
51159         * tests/test-frexpl.c (main): Likewise.
51160         * tests/test-ldexpl.c (main): Likewise.
51161         * modules/frexp-tests (Depends-on): Add signbit.
51162         * modules/frexpl-tests (Depdends-on): Likewise.
51163         * modules/ldexpl-tests (Depdends-on): Likewise.
51164
51165 2007-04-06  Bruno Haible  <bruno@clisp.org>
51166
51167         * modules/signbit-tests: New file.
51168         * tests/test-signbit.c: New file.
51169
51170         * modules/signbit: New file.
51171         * lib/signbitf.c: New file.
51172         * lib/signbitd.c: New file.
51173         * lib/signbitl.c: New file.
51174         * m4/signbit.m4: New file.
51175         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
51176         (signbit): New macro.
51177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
51178         REPLACE_SIGNBIT.
51179         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
51180         REPLACE_FREXPL into math.h.
51181
51182 2007-04-06  Bruno Haible  <bruno@clisp.org>
51183
51184         * modules/isnanf-nolibm-tests: New file.
51185         * tests/test-isnanf.c: New file.
51186
51187         * modules/isnanf-nolibm: New file.
51188         * lib/isnanf.h: New file.
51189         * lib/isnanf.c: New file.
51190         * lib/isnan.c: Consider the USE_FLOAT macro.
51191         * m4/isnanf.m4: New file.
51192
51193 2007-04-06  Bruno Haible  <bruno@clisp.org>
51194
51195         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
51196         (Link): New section.
51197
51198         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
51199
51200 2007-04-06  Bruno Haible  <bruno@clisp.org>
51201
51202         Assume the 'long double' type.
51203         * m4/longdouble.m4: Remove file.
51204         * config/srclist.txt: Don't mention longdouble.m4.
51205         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
51206         * lib/float+.h: Likewise.
51207         * lib/frexp.c: Likewise.
51208         * lib/printf-args.h: Likewise.
51209         * lib/printf-args.c: Likewise.
51210         * lib/printf-frexp.c: Likewise.
51211         * lib/printf-parse.c: Likewise.
51212         * lib/vasnprintf.c: Likewise.
51213         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
51214         * m4/intl.m4: Likewise.
51215         * m4/isnanl.m4: Likewise.
51216         * m4/printf.m4: Likewise.
51217         * m4/printf-frexpl.m4: Likewise.
51218         * m4/vasnprintf.m4: Likewise.
51219         * modules/allocsa (Files): Remove m4/longdouble.m4.
51220         * modules/gettext (Files): Likewise.
51221         * modules/relocatable-prog-wrapper (Files): Likewise.
51222         * modules/vasnprintf (Files): Likewise.
51223         * modules/isnanl (Files): Likewise.
51224         (Include): Simplify.
51225         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
51226         (Include): Simplify.
51227         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
51228         (Include): Simplify.
51229         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
51230         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51231         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
51232         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51233         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51234         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51235         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
51236         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51237         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51238         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51239         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
51240         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51241         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
51242         * tests/test-isnanl.c: Likewise.
51243         * tests/test-snprintf-posix.h: Likewise.
51244         * tests/test-sprintf-posix.h: Likewise.
51245         * tests/test-vasnprintf-posix.c: Likewise.
51246         * tests/test-vasnprintf-posix2.c: Likewise.
51247         * tests/test-vasprintf-posix.c: Likewise.
51248
51249 2007-04-06  Bruno Haible  <bruno@clisp.org>
51250
51251         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
51252         * lib/math_.h [__DECC]: Include the overridden include file through
51253         #include_next, outside the double-inclusion guard.
51254         * lib/stdio_.h [__DECC]: Likewise.
51255         * lib/stdlib_.h [__DECC]: Likewise.
51256         * lib/string_.h [__DECC]: Likewise.
51257         * lib/time_.h [__DECC]: Likewise.
51258         * lib/wchar_.h [__DECC]: Likewise.
51259         * lib/wctype_.h [__DECC]: Likewise.
51260         * lib/inttypes_.h [__DECC]: Likewise.
51261         Reported by Albert Chin <china@thewrittenword.com> in
51262         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
51263
51264 2007-04-04  Eric Blake  <ebb9@byu.net>
51265
51266         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
51267         1.5.x.
51268
51269 2007-04-04  Bruno Haible  <bruno@clisp.org>
51270
51271         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
51272         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
51273
51274 2007-04-04  Bruno Haible  <bruno@clisp.org>
51275
51276         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
51277         results for "%010a" of Infinity and NaN.
51278         * tests/test-vasprintf-posix.c (test_function): Likewise.
51279         * tests/test-snprintf-posix.h (test_function): Likewise.
51280         * tests/test-sprintf-posix.h (test_function): Likewise.
51281         * tests/test-fprintf-posix.h (test_function): Remove these tests.
51282         * tests/test-printf-posix.h (test_function): Likewise.
51283         * tests/test-fprintf-posix.out: Update.
51284         Needed for FreeBSD 6.1.
51285
51286 2007-04-04  Bruno Haible  <bruno@clisp.org>
51287
51288         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
51289         directly used by the gnulib modules nor by gnulib-tool.
51290
51291 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51292
51293         * DEPENDENCIES: Give overall description of version dependency
51294         desirability.  Use more-typical names for apps.
51295         Add shell, coreutils, diffutils, grep, tar, gzip.
51296
51297 2007-04-04  Simon Josefsson  <simon@josefsson.org>
51298
51299         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
51300
51301 2007-04-04  Karl Berry  <karl@gnu.org>
51302
51303         * MODULES.html.sh (func_module): missing '.
51304
51305 2007-04-03  Bruno Haible  <bruno@clisp.org>
51306
51307         * modules/argmatch-tests (Makefile.am): New variable
51308         test_argmatch_LDADD.
51309         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
51310         * modules/array-list-tests (Makefile.am): New variable
51311         test_array_list_LDADD.
51312         * modules/array-oset-tests (Makefile.am): New variable
51313         test_array_oset_LDADD.
51314         * modules/avltree-list-tests (Makefile.am): New variable
51315         test_avltree_list_LDADD.
51316         * modules/avltree-oset-tests (Makefile.am): New variable
51317         test_avltree_oset_LDADD.
51318         * modules/avltreehash-list-tests (Makefile.am): New variable
51319         test_avltreehash_list_LDADD.
51320         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
51321         test_canonicalize_lgpl_LDADD.
51322         * modules/carray-list-tests (Makefile.am): New variable
51323         test_carray_list_LDADD.
51324         * modules/dirname-tests (Makefile.am): New variable
51325         test_dirname_LDADD.
51326         * modules/linked-list-tests (Makefile.am): New variable
51327         test_linked_list_LDADD.
51328         * modules/linkedhash-list-tests (Makefile.am): New variable
51329         test_linkedhash_list_LDADD.
51330         * modules/rbtree-list-tests (Makefile.am): New variable
51331         test_rbtree_list_LDADD.
51332         * modules/rbtree-oset-tests (Makefile.am): New variable
51333         test_rbtree_oset_LDADD.
51334         * modules/rbtreehash-list-tests (Makefile.am): New variable
51335         test_rbtreehash_list_LDADD.
51336         * modules/xvasprintf-tests (Makefile.am): New variable
51337         test_xvasprintf_LDADD.
51338         Reported by Eric Blake.
51339
51340 2007-04-03  Eric Blake  <ebb9@byu.net>
51341
51342         * DEPENDENCIES: Weaken m4 requirements.
51343
51344 2007-04-03  Bruno Haible  <bruno@clisp.org>
51345
51346         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
51347         * modules/isnanl-tests (configure.ac): Likewise.
51348
51349 2007-04-03  Ben Pfaff  <blp@gnu.org>
51350
51351         * modules/iconv_open: Add $(srcdir)/ to source directory
51352         references in Makefile fragments that call gperf, to fix VPATH
51353         builds.
51354
51355 2007-04-03  Bruno Haible  <bruno@clisp.org>
51356
51357         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
51358         * lib/ldexpl.c: Undo last change.
51359
51360 2007-04-03  Bruno Haible  <bruno@clisp.org>
51361
51362         * modules/printf-frexpl (Depends-on): Undo last change.
51363         (Files): Add m4/ldexpl.m4.
51364
51365 2007-04-03  Bruno Haible  <bruno@clisp.org>
51366
51367         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
51368         * modules/isnanl (Link): New section.
51369
51370         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
51371         * modules/frexp (Link): New section.
51372
51373         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
51374         * modules/frexpl (Link): New section.
51375
51376         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
51377         * modules/ldexpl (Link): New section.
51378
51379 2007-04-03  Bruno Haible  <bruno@clisp.org>
51380
51381         * modules/TEMPLATE-EXTENDED: New file.
51382         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
51383
51384 2007-04-03  Bruno Haible  <bruno@clisp.org>
51385
51386         * DEPENDENCIES: New file.
51387         Suggested by Simon Josefsson.
51388
51389 2007-04-03  Bruno Haible  <bruno@clisp.org>
51390
51391         * doc/gnulib.texi: Escape @.
51392
51393 2007-04-03  James Youngman  <jay@gnu.org>
51394         and Paul Eggert  <eggert@cs.ucla.edu>
51395
51396         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
51397         birthtime on all systems that have birthtime, not just those which
51398         use st_birthtimensec rather than st_birthtim.  Putting zero in
51399         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
51400         that the birth time is not available for files on an NFS mount.
51401
51402 2007-04-03  Simon Josefsson  <simon@josefsson.org>
51403
51404         * modules/memxor: Move back from crypto/, suggested by Bruno.
51405         * modules/crypto/hmac-sha1: Fix memxor dependency.
51406
51407         * modules/crypto/gc: Moved from ../.
51408
51409 2007-04-02  Eric Blake  <ebb9@byu.net>
51410
51411         * lib/ldexpl.c (includes): Avoid libm.
51412
51413         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
51414
51415 2007-04-02  Bruno Haible  <bruno@clisp.org>
51416
51417         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
51418         on IRIX.
51419
51420 2007-04-02  Bruno Haible  <bruno@clisp.org>
51421
51422         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
51423         x86 or x86_64 platforms running MacOS X.
51424         Reported by Ryan Schmidt <@ryandesign.com>.
51425
51426 2007-04-02  Bruno Haible  <bruno@clisp.org>
51427
51428         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
51429         i386.
51430
51431 2007-04-01  Simon Josefsson  <simon@josefsson.org>
51432
51433         * modules/crypto/arcfour: Moved from ../.
51434         * modules/crypto/arcfour-tests: Moved from ../.
51435         * modules/crypto/arctwo: Moved from ../.
51436         * modules/crypto/arctwo-tests: Moved from ../.
51437         * modules/crypto/des: Moved from ../.
51438         * modules/crypto/des-tests: Moved from ../.
51439         * modules/crypto/gc-arcfour: Moved from ../.
51440         * modules/crypto/gc-arcfour-tests: Moved from ../.
51441         * modules/crypto/gc-arctwo: Moved from ../.
51442         * modules/crypto/gc-arctwo-tests: Moved from ../.
51443         * modules/crypto/gc-des: Moved from ../.
51444         * modules/crypto/gc-des-tests: Moved from ../.
51445         * modules/crypto/gc-hmac-md5: Moved from ../.
51446         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
51447         * modules/crypto/gc-hmac-sha1: Moved from ../.
51448         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
51449         * modules/crypto/gc-md2: Moved from ../.
51450         * modules/crypto/gc-md2-tests: Moved from ../.
51451         * modules/crypto/gc-md4: Moved from ../.
51452         * modules/crypto/gc-md4-tests: Moved from ../.
51453         * modules/crypto/gc-md5: Moved from ../.
51454         * modules/crypto/gc-md5-tests: Moved from ../.
51455         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
51456         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
51457         * modules/crypto/gc-random: Moved from ../.
51458         * modules/crypto/gc-rijndael: Moved from ../.
51459         * modules/crypto/gc-rijndael-tests: Moved from ../.
51460         * modules/crypto/gc-sha1: Moved from ../.
51461         * modules/crypto/gc-sha1-tests: Moved from ../.
51462         * modules/crypto/gc-tests: Moved from ../.
51463         * modules/crypto/hmac-md5: Moved from ../.
51464         * modules/crypto/hmac-md5-tests: Moved from ../.
51465         * modules/crypto/hmac-sha1: Moved from ../.
51466         * modules/crypto/hmac-sha1-tests: Moved from ../.
51467         * modules/crypto/md2: Moved from ../.
51468         * modules/crypto/md2-tests: Moved from ../.
51469         * modules/crypto/md4: Moved from ../.
51470         * modules/crypto/md4-tests: Moved from ../.
51471         * modules/crypto/md5: Moved from ../.
51472         * modules/crypto/md5-tests: Moved from ../.
51473         * modules/crypto/memxor: Moved from ../.
51474         * modules/crypto/rijndael: Moved from ../.
51475         * modules/crypto/rijndael-tests: Moved from ../.
51476         * modules/crypto/sha1: Moved from ../.
51477
51478 2007-03-30  James Youngman  <jay@gnu.org>
51479
51480         * tests/test-stat-time.c (prepare_test): use chmod() rather than
51481         rename() to change the ctime of a file (because ctime is unaffected
51482         by rename on jfs2 on AIX 5.1).
51483         (main): Start by doing cleanup, in case a previous run failed leaving
51484         test files behind.
51485
51486 2007-03-31  Bruno Haible  <bruno@clisp.org>
51487
51488         Support old proprietary implementations of iconv.
51489         * modules/iconv_open: New file.
51490         * lib/iconv_.h: New file.
51491         * m4/iconv_h.m4: New file.
51492         * lib/iconv_open.c: New file.
51493         * lib/iconv_open-aix.gperf: New file.
51494         * lib/iconv_open-hpux.gperf: New file.
51495         * lib/iconv_open-irix.gperf: New file.
51496         * lib/iconv_open-osf.gperf: New file.
51497         * m4/iconv_open.m4: New file.
51498         * modules/linebreak (Depends-on): Add iconv_open.
51499         * modules/striconv (Depends-on): Likewise.
51500         * modules/striconveh (Depends-on): Likewise.
51501         * modules/unicodeio (Depends-on): Likewise.
51502         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
51503         (iconv_t)(-1).
51504         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
51505         conversion if cd is (iconv_t)(-1).
51506         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
51507         is not possible.
51508
51509 2007-03-31  Bruno Haible  <bruno@clisp.org>
51510
51511         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51512         work on Solaris either. Protect also second use of "autodetect_jp".
51513
51514 2007-03-31  Bruno Haible  <bruno@clisp.org>
51515
51516         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
51517         the function is not present.
51518
51519 2007-03-31  Bruno Haible  <bruno@clisp.org>
51520
51521         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
51522         the function is not present.
51523
51524 2007-03-31  Bruno Haible  <bruno@clisp.org>
51525
51526         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
51527         a bug in HP-UX iconv_open().
51528
51529 2007-03-31  Bruno Haible  <bruno@clisp.org>
51530
51531         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
51532         (Mathematics <math.h>): New section, add fpieee.
51533         (Input/output <stdio.h>): Add fseterr.
51534         (Mathematics <math.h>): New section, add printf-frexp.
51535         (Container data structures): Add sublist.
51536         (Core language properties): Add fpucw, inline.
51537         (Functions for greatest-width integer types <inttypes.h>): Add
51538         imaxabs, imaxdiv, inttypes.
51539         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
51540         isnanl-nolibm, ldexp.
51541         (Mathematics <math.h>): New section, add printf-frexpl.
51542         (Support for systems lacking POSIX:2001): Add fprintf-posix,
51543         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
51544         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
51545         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
51546         (Unicode string functions): Add unistr/u*-mbtoucr.
51547         (Java): Add javacomp-script, javaexec-script.
51548         (C#): Add csharpcomp-script, csharpexec-script.
51549         (Support for building libraries and executables): Add havelib,
51550         relocatable-*.
51551         (Support for maintaining and releasing projects): Renamed from
51552         'Support for maintaining and release projects'. Add announce-gen.
51553
51554 2007-03-31  Bruno Haible  <bruno@clisp.org>
51555
51556         * README: Talk primarily about git.
51557         (git and CVS): Renamed from CVS.
51558         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
51559         gnulib is available through git.
51560         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
51561
51562 2007-03-30  Bruno Haible  <bruno@clisp.org>
51563
51564         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
51565         * lib/poll_.h: Likewise.
51566         * lib/stat_.h: Likewise.
51567         * lib/sys_time_.h: Likewise.
51568         * lib/sysexit_.h: Likewise.
51569         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
51570         * lib/stdbool_.h: Likewise.
51571         * lib/byteswap_.h: Add double-inclusion guard.
51572
51573 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
51574
51575         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
51576
51577 2007-03-30  Karl Berry  <karl@gnu.org>
51578
51579         * config/srclist-update: double space after USA in the license
51580         substitution, since that's how it's usually (?) written.
51581
51582 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51583
51584         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
51585         reported by Bruno Haible.
51586
51587 2007-03-29  Bruno Haible  <bruno@clisp.org>
51588
51589         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
51590         a bug in AIX iconv().
51591
51592 2007-03-29  Bruno Haible  <bruno@clisp.org>
51593
51594         * modules/ldexpl-tests: New file.
51595         * tests/test-ldexpl.c: New file.
51596
51597 2007-03-29  Bruno Haible  <bruno@clisp.org>
51598
51599         * lib/ldexpl.c: Include fpucw.h.
51600         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51601         multiplication.
51602         * modules/ldexpl (Depends-on): Add fpucw.
51603
51604 2007-03-29  Bruno Haible  <bruno@clisp.org>
51605
51606         * modules/ldexpl: New file.
51607         * m4/ldexpl.m4: New file.
51608         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51609         set.
51610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51611         REPLACE_LDEXPL.
51612         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51613         REPLACE_LDEXPL.
51614         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51615         gl_FUNC_LDEXPL_WORKS.
51616         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51617         * modules/mathl (Files): Remove lib/ldexpl.c.
51618         (Depends-on): Add ldexpl.
51619
51620 2007-03-29  Bruno Haible  <bruno@clisp.org>
51621
51622         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51623
51624 2007-03-29  Bruno Haible  <bruno@clisp.org>
51625
51626         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51627         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51628         and possibly also HP-UX.
51629         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51630         work on AIX, IRIX, HP-UX, OSF/1.
51631         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
51632         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
51633         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
51634         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
51635         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
51636         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
51637
51638 2007-03-29  Bruno Haible  <bruno@clisp.org>
51639
51640         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
51641
51642 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51643
51644         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
51645         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
51646
51647 2007-03-29  Eric Blake  <ebb9@byu.net>
51648
51649         * lib/acl-internal.h: Remove redundant include.
51650         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
51651         Cygwin when a file is locked.
51652
51653 2007-03-29  Bruno Haible  <bruno@clisp.org>
51654
51655         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
51656         file.
51657         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
51658
51659 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51660
51661         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
51662         try to remove a parent directory if the child couldn't be removed
51663         (except for the first rmdir, which could fail because the child
51664         doesn't exist).  Problem reported by Jeff Blaine in
51665         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
51666
51667 2007-03-28  Bruno Haible  <bruno@clisp.org>
51668
51669         * lib/striconveh.c (utf8conv_carefully): New function.
51670         (mem_cd_iconveh_internal): Invoke it.
51671
51672 2007-03-28  Bruno Haible  <bruno@clisp.org>
51673
51674         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
51675         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
51676         input.
51677         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
51678         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
51679         unistr/u8-uctomb.
51680
51681 2007-03-28  Bruno Haible  <bruno@clisp.org>
51682
51683         * modules/unistr/u8-mbtoucr: New file.
51684         * lib/unistr/u8-mbtoucr.c: New file.
51685         * modules/unistr/u16-mbtoucr: New file.
51686         * lib/unistr/u16-mbtoucr.c: New file.
51687         * modules/unistr/u16-mbtoucr: New file.
51688         * lib/unistr/u16-mbtoucr.c: New file.
51689         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
51690
51691 2007-03-27  Simon Josefsson  <simon@josefsson.org>
51692             Bruno Haible  <bruno@clisp.org>
51693
51694         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
51695         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
51696         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
51697
51698         * m4/stdio_h.m4: Add stubs for vasprintf too.
51699
51700         * modules/stdio: Support vasprintf in sed command.
51701
51702         * modules/vasprintf: Depend on stdio for prototypes.  Remove
51703         vasprintf.h.  Add stdio module indicator.
51704
51705         * lib/stdio_.h: Declare asprintf and vasprintf, based on
51706         vasprintf.h.
51707
51708         * lib/vasprintf.h: File removed.
51709
51710         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
51711         * lib/vasprintf.c: Ditto.
51712         * lib/xvasprintf.c: Ditto.
51713         * tests/test-vasprintf-posix.c: Ditto.
51714         * tests/test-vasprintf.c: Ditto.
51715
51716 2007-03-27  Bruno Haible  <bruno@clisp.org>
51717
51718         Make vasnprintf multithread-safe.
51719         * lib/vasnprintf.c (decimal_point_char): New function.
51720         (VASNPRINTF): Use it.
51721         Suggested by Simon Josefsson.
51722
51723 2007-03-27  Eric Blake  <ebb9@byu.net>
51724
51725         Support sub-second birthtime on cygwin.
51726         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
51727         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
51728         (get_stat_birthtime): Also work with st_birthtim.
51729
51730 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51731
51732         * lib/stat-time.h (USE_BIRTHTIME): Remove.
51733         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
51734         (get_stat_birthtime_ns): Do not try to use "spare" fields.
51735         (get_stat_birthtime_ns): Simplify compile-time tests.
51736         (get_stat_birthtime): Change the API to look like
51737         get_stat_mtime etc., except return a negative tv_nsec on error.
51738         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
51739         Don't check for "spare" fields.
51740         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
51741         or for struct stat.st_birthtime, as these tests aren't used.
51742         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
51743
51744 2007-03-27  Bruno Haible  <bruno@clisp.org>
51745
51746         * lib/stat-time.h: Include <sys/stat.h>.
51747
51748 2007-03-27  James Youngman  <jay@gnu.org>
51749
51750         * lib/stat-time.h (get_stat_birthtime): New function for
51751           retrieving st_birthtime as provided by UFS2 (hence *BSD).
51752         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
51753           and its variants.
51754         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
51755         * modules/stat-time-test: New file.
51756         * tests/test-stat-time.c: New test, devised by Bruno Haible.
51757
51758 2007-03-26  Bruno Haible  <bruno@clisp.org>
51759
51760         Better support of signalling NaNs.
51761         * lib/atanl.c: Include isnanl.h.
51762         (atanl): Perform test for NaN at the beginning of the function and
51763         through a call to isnanl.
51764         * lib/cosl.c: Include isnanl.h.
51765         (cosl): Perform test for NaN at the beginning of the function and
51766         through a call to isnanl.
51767         * lib/ldexpl.c: Include isnanl.h.
51768         (ldexpl): Perform test for NaN through a call to isnanl.
51769         * lib/logl.c: Include isnanl.h.
51770         (logl): Perform test for NaN at the beginning of the function and
51771         through a call to isnanl.
51772         * lib/sinl.c: Include isnanl.h.
51773         (sinl): Perform test for NaN at the beginning of the function and
51774         through a call to isnanl.
51775         * lib/sqrtl.c: Include isnanl.h.
51776         (sqrtl): Perform test for NaN at the beginning of the function and
51777         through a call to isnanl.
51778         * lib/tanl.c: Include isnanl.h.
51779         (tanl): Perform test for NaN at the beginning of the function and
51780         through a call to isnanl.
51781         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
51782         * modules/mathl (Depends-on): Add isnanl.
51783
51784 2007-03-26  Eric Blake  <ebb9@byu.net>
51785
51786         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
51787         regression in logic sense of previous patch.
51788
51789 2007-03-26  Bruno Haible  <bruno@clisp.org>
51790
51791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
51792         unportable shell command "if ! ...".
51793         Reported by Ralf Wildenhues.
51794
51795 2007-03-25  Bruno Haible  <bruno@clisp.org>
51796
51797         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
51798         <sysexits.h> file, and only add EX_CONFIG.
51799         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
51800         absolute file name and whether it is sufficient. Substitute also
51801         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
51802         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
51803         ABSOLUTE_SYSEXITS_H into sysexits.h.
51804
51805 2007-03-25  Bruno Haible  <bruno@clisp.org>
51806
51807         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
51808         hints is NULL.
51809
51810 2007-03-25  Bruno Haible  <bruno@clisp.org>
51811
51812         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
51813         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
51814
51815 2007-03-25  Bruno Haible  <bruno@clisp.org>
51816
51817         * lib/vasnprintf.c: Include langinfo.h.
51818         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
51819         multithread-safe.
51820         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
51821         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
51822         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51823         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51826         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
51828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51829         Reported by Simon Josefsson.
51830
51831 2007-03-25  Bruno Haible  <bruno@clisp.org>
51832
51833         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
51834         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
51835         * modules/vasnprintf (Depends-on): Add stdint.
51836
51837 2007-03-25  Bruno Haible  <bruno@clisp.org>
51838
51839         * modules/fpieee: New file.
51840         * m4/fpieee.m4: New file.
51841         * modules/isnan-nolibm (Depends-on): Add fpieee.
51842         * modules/isnanl-nolibm (Depends-on): Add fpieee.
51843         * modules/isnanl (Depends-on): Add fpieee.
51844
51845 2007-03-25  Bruno Haible  <bruno@clisp.org>
51846
51847         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
51848
51849 2007-03-25  Bruno Haible  <bruno@clisp.org>
51850
51851         Avoid test failures on IRIX 6.5.
51852         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
51853         (main): Use it.
51854         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
51855         macros.
51856         (main): Use them.
51857
51858 2007-03-25  Bruno Haible  <bruno@clisp.org>
51859
51860         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
51861         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
51862         exists but doesn't work.
51863         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
51864         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
51865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
51866         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
51867         math.h.
51868
51869 2007-03-25  Bruno Haible  <bruno@clisp.org>
51870
51871         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
51872         returns inf. Needed on IRIX 6.5.
51873
51874 2007-03-25  Bruno Haible  <bruno@clisp.org>
51875
51876         * tests/test-frexpl.c: Include isnanl-nolibm.h.
51877         (main): Use isnanl instead of x != x idiom.
51878         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
51879
51880         * tests/test-frexp.c: Include isnan.h.
51881         (main): Use isnan instead of x != x idiom.
51882         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
51883
51884 2007-03-25  Bruno Haible  <bruno@clisp.org>
51885
51886         * tests/test-frexp.c (NaN): New function/macro.
51887         (main): Use it instead of 0.0 / 0.0.
51888         * tests/test-isnan.c (NaN): New function/macro.
51889         (main): Use it instead of 0.0 / 0.0.
51890         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
51891         (test_function): Use it instead of 0.0 / 0.0.
51892         * tests/test-vasprintf-posix.c (NaN): New function/macro.
51893         (test_function): Use it instead of 0.0 / 0.0.
51894         * tests/test-snprintf-posix.h (NaN): New function/macro.
51895         (test_function): Use it instead of 0.0 / 0.0.
51896         * tests/test-sprintf-posix.h (NaN): New function/macro.
51897         (test_function): Use it instead of 0.0 / 0.0.
51898         * tests/test-fprintf-posix.h (NaN): New function/macro.
51899         (test_function): Use it instead of 0.0 / 0.0.
51900         * tests/test-printf-posix.h (NaN): New function/macro.
51901         (test_function): Use it instead of 0.0 / 0.0.
51902
51903         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
51904
51905 2007-03-25  Bruno Haible  <bruno@clisp.org>
51906
51907         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
51908
51909 2007-03-25  Bruno Haible  <bruno@clisp.org>
51910
51911         * lib/regexec.c (merge_state_with_log): Make static.
51912
51913 2007-03-25  Bruno Haible  <bruno@clisp.org>
51914
51915         * lib/trigl.c (kernel_rem_pio2): Make static.
51916
51917 2007-03-25  Bruno Haible  <bruno@clisp.org>
51918
51919         * lib/sincosl.c (sincosl_table): Make static.
51920
51921 2007-03-25  Bruno Haible  <bruno@clisp.org>
51922
51923         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
51924         if the compiler does not support C99.
51925
51926 2007-03-25  Bruno Haible  <bruno@clisp.org>
51927
51928         * modules/time (Makefile.am): Ensure all rule action lines start with a
51929         tab.
51930
51931 2007-03-24  Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/tsearch-tests: New file.
51934         * tests/test-tsearch.sh: New file.
51935         * tests/test-tsearch.c: New file, mostly copied from glibc.
51936
51937         * modules/search-tests: New file.
51938         * tests/test-search.c: New file.
51939
51940         * modules/search: New file.
51941         * lib/search_.h: New file, incorporating lib/tsearch.h.
51942         * m4/search_h.m4: New file.
51943         * lib/tsearch.h: Remove file.
51944         * lib/tsearch.c: Include search.h instead of tsearch.h.
51945         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
51946         HAVE_TSEARCH.
51947         * modules/tsearch (Files): Remove lib/tsearch.h.
51948         (Depends-on): Add search.
51949         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
51950         (Include): Change tsearch.h into search.h.
51951
51952 2007-03-24  Bruno Haible  <bruno@clisp.org>
51953
51954         * modules/fpucw: New file.
51955         * lib/fpucw.h: New file.
51956         * lib/frexp.c: Include fpucw.h.
51957         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51958         (FUNC): Use them.
51959         * lib/printf-frexp.c: Include fpucw.h.
51960         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51961         (FUNC): Use them.
51962         * lib/vasnprintf.c: Include fpucw.h.
51963         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
51964         'long double' calculations.
51965         * tests/test-frexpl.c: Include fpucw.h.
51966         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51967         * tests/test-printf-frexpl.c: Include fpucw.h.
51968         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51969         * modules/frexpl (Depends-on): Add fpucw.
51970         * modules/printf-frexpl (Depends-on): Likewise.
51971         * modules/fprintf-posix (Depends-on): Likewise.
51972         * modules/snprintf-posix (Depends-on): Likewise.
51973         * modules/sprintf-posix (Depends-on): Likewise.
51974         * modules/vasnprintf-posix (Depends-on): Likewise.
51975         * modules/vasprintf-posix (Depends-on): Likewise.
51976         * modules/vfprintf-posix (Depends-on): Likewise.
51977         * modules/vsnprintf-posix (Depends-on): Likewise.
51978         * modules/vsprintf-posix (Depends-on): Likewise.
51979         * modules/frexpl-tests (Depends-on): Likewise.
51980         * modules/printf-frexpl-tests (Depends-on): Likewise.
51981
51982 2007-03-24  Bruno Haible  <bruno@clisp.org>
51983
51984         * lib/float+.h: New file.
51985         * lib/isnan.c: Include float+.h.
51986         (SIZE): New macro.
51987         (FUNC): Compare only SIZE bytes of the value.
51988         * lib/vasnprintf.c: Include float+.h.
51989         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
51990         SIZEOF_LDBL or SIZEOF_DBL bytes.
51991         * modules/isnan-nolibm (Files): Add lib/float+.h.
51992         * modules/isnanl-nolibm (Files): Add lib/float+.h.
51993         * modules/isnanl (Files): Add lib/float+.h.
51994         * modules/vasnprintf (Files): Add lib/float+.h.
51995
51996 2007-03-24  Bruno Haible  <bruno@clisp.org>
51997
51998         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
51999         include isnanl-nolibm.h.
52000
52001 2007-03-24  Bruno Haible  <bruno@clisp.org>
52002
52003         * tests/test-read-file.c (main): Don't produce spurious output for
52004         expected situations. Make the test fail if it encountered unexpected
52005         results.
52006
52007 2007-03-24  Bruno Haible  <bruno@clisp.org>
52008
52009         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
52010         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
52011
52012 2007-03-24  Bruno Haible  <bruno@clisp.org>
52013
52014         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
52015
52016 2007-03-24  Bruno Haible  <bruno@clisp.org>
52017
52018         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
52019         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
52020
52021         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
52022         * modules/utf8-ucs4: Turn into a symbolic link to module
52023         unistr/u8-mbtouc.
52024
52025         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
52026         utf8-ucs4-unsafe.
52027         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
52028         unistr/u8-mbtouc-unsafe.
52029
52030         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
52031         * modules/utf16-ucs4: Turn into a symbolic link to module
52032         unistr/u16-mbtouc.
52033
52034         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
52035         utf16-ucs4-unsafe.
52036         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
52037         unistr/u16-mbtouc-unsafe.
52038
52039         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
52040         * modules/ucs4-utf8: Turn into a symbolic link to module
52041         unistr/u8-ubtomb.
52042
52043         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
52044         * modules/ucs4-utf16: Turn into a symbolic link to module
52045         unistr/u16-ubtomb.
52046
52047 2007-03-24  Bruno Haible  <bruno@clisp.org>
52048
52049         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
52050         Enable the function only if HAVE_INLINE.
52051         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
52052         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52053         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
52054         Enable the function only if HAVE_INLINE.
52055         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
52056         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52057         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
52058         Enable the function only if HAVE_INLINE.
52059         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
52060         Enable the function only if HAVE_INLINE.
52061         * modules/utf8-ucs4: Update.
52062         * modules/utf8-ucs4-unsafe: Update.
52063         * modules/utf16-ucs4: Update.
52064         * modules/utf16-ucs4-unsafe: Update.
52065         * modules/ucs4-utf8: Update.
52066         * modules/ucs4-utf16: Update.
52067
52068 2007-03-24  Bruno Haible  <bruno@clisp.org>
52069
52070         * lib/utf8-ucs4.h: Remove file.
52071         * lib/utf8-ucs4-unsafe.h: Remove file.
52072         * lib/utf16-ucs4.h: Remove file.
52073         * lib/utf16-ucs4-unsafe.h: Remove file.
52074         * lib/ucs4-utf8.h: Remove file.
52075         * lib/ucs4-utf16.h: Remove file.
52076         * lib/unistr.h: Include their previous contents.
52077         * m4/utf-ucs4.m4: Remove file.
52078         * m4/ucs4-utf.m4: Remove file.
52079         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
52080         (Depends-on): Add unistr/base.
52081         (configure.ac): Remove gl_UTF_UCS4.
52082         (Makefile.am): Update.
52083         (Include): Change to unistr.h.
52084         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
52085         (Depends-on): Add unistr/base.
52086         (configure.ac): Remove gl_UTF_UCS4.
52087         (Makefile.am): Update.
52088         (Include): Change to unistr.h.
52089         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
52090         (Depends-on): Add unistr/base.
52091         (configure.ac): Remove gl_UTF_UCS4.
52092         (Makefile.am): Update.
52093         (Include): Change to unistr.h.
52094         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
52095         (Depends-on): Add unistr/base.
52096         (configure.ac): Remove gl_UTF_UCS4.
52097         (Makefile.am): Update.
52098         (Include): Change to unistr.h.
52099         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
52100         (Depends-on): Add unistr/base.
52101         (configure.ac): Remove gl_UCS4_UTF.
52102         (Makefile.am): Update.
52103         (Include): Change to unistr.h.
52104         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
52105         (Depends-on): Add unistr/base.
52106         (configure.ac): Remove gl_UCS4_UTF.
52107         (Makefile.am): Update.
52108         (Include): Change to unistr.h.
52109         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
52110         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
52111         utf8-ucs4-unsafe.h.
52112         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
52113         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
52114         utf16-ucs4-unsafe.h.
52115         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
52116         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
52117         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
52118         * lib/unistr/u8-strchr.c: Likewise.
52119         * lib/unistr/u8-strrchr.c: Likewise.
52120         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
52121         * lib/unistr/u16-strchr.c: Likewise.
52122         * lib/unistr/u16-strrchr.c: Likewise.
52123         * lib/striconveh.c: Update.
52124         * lib/linebreak.c: Update.
52125
52126 2007-03-24  Bruno Haible  <bruno@clisp.org>
52127
52128         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
52129         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
52130
52131 2007-03-22  Bruno Haible  <bruno@clisp.org>
52132
52133         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
52134
52135 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
52136
52137         * MODULES.html.sh (File system functions): New module write-any-file.
52138         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
52139         * m4/write-any-file.m4: New files.
52140
52141 2007-03-23  Eric Blake  <ebb9@byu.net>
52142
52143         * gnulib-tool: Rearrange space-tab sequences, since some editors
52144         like to eat them.
52145
52146 2007-03-23  Eric Blake  <ebb9@byu.net>
52147
52148         * lib/version-etc.c (version_etc_va): Update license wording to
52149         be more concise.  Recommended by Richard Stallman.
52150
52151 2007-03-22  Bruno Haible  <bruno@clisp.org>
52152
52153         * lib/poll.c (MSG_PEEK): New fallback definition.
52154
52155 2007-03-22  Bruno Haible  <bruno@clisp.org>
52156
52157         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
52158         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
52159         (main): Update.
52160         Fixes a compilation error on BeOS.
52161
52162 2007-03-22  Bruno Haible  <bruno@clisp.org>
52163
52164         * modules/frexpl-tests: New file.
52165         * tests/test-frexpl.c: New file.
52166
52167         * modules/frexpl: New file.
52168         * m4/frexpl.m4: New file.
52169         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
52170         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
52171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
52172         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
52173         (Depends-on): Add frexpl. Remove isnanl-nolibm.
52174         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
52175
52176 2007-03-22  Bruno Haible  <bruno@clisp.org>
52177
52178         * lib/frexpl.c: Share code with lib/frexp.c.
52179         * modules/mathl (Files): Add lib/frexp.c.
52180         (Depends-on): Add isnanl-nolibm.
52181
52182 2007-03-22  Bruno Haible  <bruno@clisp.org>
52183
52184         * modules/printf-frexp (Files): Add m4/frexp.m4.
52185         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
52186         only if the found frexp function actually works.
52187
52188 2007-03-22  Bruno Haible  <bruno@clisp.org>
52189
52190         * lib/frexp.c: Remove older implementation that uses divisions.
52191
52192 2007-03-21  Bruno Haible  <bruno@clisp.org>
52193
52194         * modules/frexp-tests: New file.
52195         * tests/test-frexp.c: New file.
52196
52197         * modules/frexp: New file.
52198         * lib/frexp.c: New file.
52199         * m4/frexp.m4: New file.
52200         * lib/math_.h (frexp): New declaration.
52201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
52202         REPLACE_FREXP.
52203         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
52204
52205 2007-03-21  Bruno Haible  <bruno@clisp.org>
52206
52207         * modules/isnanl-tests: New file.
52208         * tests/test-isnanl.c: New file.
52209
52210         * modules/isnanl: New file.
52211         * lib/isnanl.h: New file.
52212         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
52213         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
52214         gl_FUNC_ISNANL_WORKS.
52215         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
52216         New macros.
52217
52218 2007-03-21  Bruno Haible  <bruno@clisp.org>
52219
52220         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
52221         lib/isnanl.h.
52222         (Include): Update.
52223         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
52224         * lib/vasnprintf.c: Update.
52225         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
52226         tests/test-isnanl.h, remove tests/test-isnanl.c.
52227         (Makefile.am): Update.
52228         * tests/test-isnanl-nolibm.c: New file.
52229         * tests/test-isnanl.h: New file.
52230         * tests/test-isnanl.c: Remove file.
52231
52232 2007-03-21  Jim Meyering  <jim@meyering.net>
52233
52234         When trying to open ".", treat ESTALE like EACCES.
52235         * lib/savewd.c (savewd_save): Resort to forking not just upon
52236         failure with EACCES, but also when errno is ESTALE.
52237
52238 2007-03-20  Bruno Haible  <bruno@clisp.org>
52239
52240         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
52241         Needed on AIX 5.1. Reported by Matthew Woehlke.
52242
52243 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52244
52245         Suggestions by Bruno Haible:
52246         * lib/acl-internal.h: Include "gettext.h" rather than rolling
52247         our own.
52248         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
52249         * modules/acl (Depends-on): Add gettext.
52250
52251 2007-03-19  Bruno Haible  <bruno@clisp.org>
52252
52253         * modules/iconvme: Remove file.
52254         * lib/iconvme.h: Remove file.
52255         * lib/iconvme.c: Remove file.
52256         * m4/iconvme.m4: Remove file.
52257
52258 2007-03-19  Bruno Haible  <bruno@clisp.org>
52259
52260         * doc/relocatable-maint.texi: Break long shell script line.
52261         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52262
52263 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52264
52265         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
52266         handle file_has_acl.
52267         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
52268         * lib/acl.c: Move header inclusions and related macro defns into
52269         lib/acl-internal.h.
52270         (S_ISLNK): Remove defn, since that's now done for us.
52271         (file_has_acl): Move to lib/file-has-acl.c.
52272         Call acl_trivial if available.  This is the crucial part of the fix.
52273         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
52274         shared within the library.  Rewrite a bit, partly to make it compatible
52275         with the GNU coding style.
52276         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
52277         Remove unnecessary double-quotes.
52278         Don't test for acl_to_text; the build will catch that.
52279         Replace acl_entries if it doesn't exist and it is needed.
52280         Check for -lsec and acl_trivial (as used on Solaris 10).
52281         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
52282         lib/file-has-acl.c.
52283         (Depends-on): Add sys_stat, for S_ISLNK.
52284
52285 2007-03-19  Ben Pfaff  <blp@gnu.org>
52286
52287         * doc/gnulib.texi: Fix typos.
52288         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52289
52290 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52291
52292         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
52293         If size is zero here, buf must be zero.
52294
52295 2007-03-19  Simon Josefsson  <simon@josefsson.org>
52296
52297         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
52298         <bruno@clisp.org>.
52299
52300 2007-03-18  Bruno Haible  <bruno@clisp.org>
52301
52302         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
52303         Suggested by Eric Blake.
52304
52305 2007-03-18  Ben Pfaff  <blp@gnu.org>
52306
52307         * doc/relocatable.texi: Recommend using as prefix a directory
52308         that does not exist and will never be created.  Based on
52309         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
52310         and others.
52311
52312 2007-03-17  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/fchownat.c: Include lchown.h.
52315
52316 2007-03-17  Bruno Haible  <bruno@clisp.org>
52317
52318         Fix endless loop when the given allocated size was > INT_MAX.
52319         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
52320         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
52321         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
52322         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
52323         * lib/sprintf.c (sprintf): Likewise.
52324
52325 2007-03-17  Bruno Haible  <bruno@clisp.org>
52326
52327         * tests/test-argp-2.sh (func_compare): Output a context diff.
52328
52329 2007-03-17  Bruno Haible  <bruno@clisp.org>
52330
52331         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
52332         locale's decimal-point character.
52333
52334 2007-03-17  Bruno Haible  <bruno@clisp.org>
52335
52336         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
52337         before comparing it. Needed because on some platforms (e.g. x86) a
52338         'long double' occupies less bytes than sizeof (long double).
52339
52340 2007-03-17  Bruno Haible  <bruno@clisp.org>
52341
52342         * tests/test-crc.c (main): Make printf statements 64-bit clean.
52343         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
52344         * tests/test-getaddrinfo.c (simple): Likewise.
52345         * tests/test-read-file.c (main): Likewise.
52346
52347 2007-03-17  Bruno Haible  <bruno@clisp.org>
52348
52349         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
52350
52351 2007-03-17  Bruno Haible  <bruno@clisp.org>
52352
52353         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
52354         unused variable.
52355
52356 2007-03-17  Bruno Haible  <bruno@clisp.org>
52357
52358         * tests/test-c-strcasecmp.c: Include c-strcase.h.
52359         * tests/test-c-strncasecmp.c: Likewise.
52360
52361 2007-03-17  Bruno Haible  <bruno@clisp.org>
52362
52363         * modules/stdlib (Depends-on): Add unistd.
52364         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
52365         Needed for MacOS X 10.3.
52366
52367 2007-03-17  Bruno Haible  <bruno@clisp.org>
52368
52369         * lib/unistr/u-strdup.h: Include <stdlib.h>.
52370
52371 2007-03-17  Bruno Haible  <bruno@clisp.org>
52372
52373         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
52374
52375 2007-03-17  Bruno Haible  <bruno@clisp.org>
52376
52377         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
52378         to reflect files copied from gnulib (with or without modifications).
52379         Suggested by Jim Meyering.
52380
52381 2007-03-17  Eric Blake  <ebb9@byu.net>
52382
52383         * NEWS: Document stdlib change from 2007-02-18.
52384
52385 2007-03-17  Jim Meyering  <jim@meyering.net>
52386
52387         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
52388         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
52389         someone uses a name containing shell meta-characters.
52390         Reported by Alfred M. Szmidt.
52391
52392         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
52393
52394 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52395
52396         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
52397         and copy gettext configuration files only if configure.ac contains
52398         a use of AM_GNU_GETTEXT_VERSION.
52399
52400 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52401
52402         * build-aux/bootstrap (gnulib_name): New variable.
52403         (gnulib_tool_options): Use it.
52404
52405 2007-03-13  Simon Josefsson  <simon@josefsson.org>
52406
52407         * tests/test-des.c: Use new namespace.
52408
52409 2007-03-15  Bruno Haible  <bruno@clisp.org>
52410
52411         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
52412         Reported by James Youngman <jay@gnu.org>.
52413
52414 2007-03-15  Bruno Haible  <bruno@clisp.org>
52415
52416         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
52417         declared prototype. Needed with cc on OSF/1 5.1.
52418
52419 2007-03-15  Bruno Haible  <bruno@clisp.org>
52420
52421         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
52422         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
52423         (struct gl_list_implementation): Add dispose_fn argument to the
52424         'create_empty', 'create' methods.
52425         (struct gl_list_impl_base): Add field 'dispose_fn'.
52426         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
52427         argument.
52428         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
52429         dispose_fn argument.
52430         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
52431         dispose_fn on the dropped values.
52432         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
52433         dispose_fn argument.
52434         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
52435         dropped values.
52436         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
52437         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52438         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
52439         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52440         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
52441         argument.
52442         (gl_tree_list_free): Call dispose_fn on the dropped values.
52443         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
52444         the dropped values.
52445         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52446         Add dispose_fn argument.
52447         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
52448         Call dispose_fn on the dropped values.
52449         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
52450         Add dispose_fn argument.
52451         (gl_sublist_create): Initialize the 'dispose_fn' field.
52452         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
52453         * tests/test-array_list.c (main): Update.
52454         * tests/test-carray_list.c (main): Update.
52455         * tests/test-avltree_list.c (main): Update.
52456         * tests/test-rbtree_list.c (main): Update.
52457         * tests/test-avltreehash_list.c (main): Update.
52458         * tests/test-rbtreehash_list.c (main): Update.
52459         * tests/test-linked_list.c (main): Update.
52460         * tests/test-linkedhash_list.c (main): Update.
52461         * tests/test-array_oset.c (main): Update.
52462
52463 2007-03-15  Bruno Haible  <bruno@clisp.org>
52464
52465         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
52466         (gl_oset_create_empty): Add dispose_fn argument.
52467         (struct gl_oset_implementation): Add dispose_fn argument to
52468         'create_empty' method.
52469         (struct gl_oset_impl_base): Add dispose_fn field.
52470         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
52471         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
52472         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
52473         values.
52474         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
52475         (gl_tree_oset_free): Call dispose_fn on the dropped values.
52476         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52477         dropped value.
52478         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52479         dropped value.
52480         * tests/test-array_oset.c (main): Update.
52481         * tests/test-avltree_oset.c (main): Update.
52482         * tests/test-rbtree_oset.c (main): Update.
52483         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
52484
52485 2007-03-13  Bruno Haible  <bruno@clisp.org>
52486
52487         * tests/test-stdbool.c (i): Update after last patch.
52488
52489 2007-03-12  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/quotearg.c: Include <wctype.h> early, before the definition of
52492         the iswprint macro. Needed on Solaris 2.5.1.
52493
52494 2007-03-12  Bruno Haible  <bruno@clisp.org>
52495
52496         * tests/test-printf-frexp.c (main): Declare x as volatile.
52497
52498 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52499
52500         * doc/gnulib.texi (Build robot for gnulib): New section.
52501
52502 2007-03-12  Jim Meyering  <jim@meyering.net>
52503
52504         * build-aux/bootstrap: New file.
52505         * build-aux/bootstrap.conf: New file, from coreutils.
52506
52507 2007-03-11  Bruno Haible  <bruno@clisp.org>
52508
52509         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
52510
52511 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52512
52513         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
52514         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
52515         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
52516
52517 2007-03-11  Bruno Haible  <bruno@clisp.org>
52518
52519         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
52520         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
52521
52522 2007-03-11  Bruno Haible  <bruno@clisp.org>
52523
52524         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
52525         formula. Needed for SunPRO C 5.0.
52526
52527 2007-03-11  Bruno Haible  <bruno@clisp.org>
52528
52529         * modules/long-options (Depends-on): Add getopt.
52530
52531 2007-03-11  Bruno Haible  <bruno@clisp.org>
52532
52533         * modules/modechange (Depends-on): Add stdbool.
52534
52535 2007-03-11  Bruno Haible  <bruno@clisp.org>
52536
52537         * modules/i-ring (Depends-on): Add stdbool.
52538
52539 2007-03-11  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/gc-des (Depends-on): Add stdbool.
52542
52543 2007-03-11  Bruno Haible  <bruno@clisp.org>
52544
52545         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
52546
52547 2007-03-11  Bruno Haible  <bruno@clisp.org>
52548
52549         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
52550
52551 2007-03-11  Bruno Haible  <bruno@clisp.org>
52552
52553         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
52554
52555 2007-03-11  Bruno Haible  <bruno@clisp.org>
52556
52557         * lib/vasnprintf.c (sprintf): Undefine.
52558
52559 2007-03-11  Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
52562         initializers in SunPRO C and Compaq C compilers.
52563
52564 2007-03-11  Bruno Haible  <bruno@clisp.org>
52565
52566         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
52567         decrementing code ANSI C compliant.
52568
52569 2007-03-11  Bruno Haible  <bruno@clisp.org>
52570
52571         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
52572         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
52573
52574 2007-03-11  Bruno Haible  <bruno@clisp.org>
52575
52576         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
52577         <stdbool.h> substitute doesn't pass.
52578
52579 2007-03-11  Bruno Haible  <bruno@clisp.org>
52580
52581         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
52582
52583 2007-03-11  Bruno Haible  <bruno@clisp.org>
52584
52585         * gnulib-tool (func_create_megatestdir): Create also an autobuild
52586         script, for submission to autobuild.josefsson.org.
52587
52588 2007-03-10  Bruno Haible  <bruno@clisp.org>
52589
52590         * modules/canonicalize-lgpl-tests: New file.
52591         * tests/test-canonicalize-lgpl.sh: New file.
52592         * tests/test-canonicalize-lgpl.c: New file.
52593
52594         * modules/c-strcase-tests: New file.
52595         * tests/test-c-strcase.sh: New file.
52596         * tests/test-c-strcasecmp.c: New file.
52597         * tests/test-c-strncasecmp.c: New file.
52598
52599         * modules/atexit-tests: New file.
52600         * tests/test-atexit.sh: New file.
52601         * tests/test-atexit.c: New file.
52602
52603 2007-03-10  Bruno Haible  <bruno@clisp.org>
52604
52605         * tests/test-binary-io.sh: Use temporary filenames that are not so
52606         likely to clash with those of other tests (in a parallel make).
52607         * tests/test-binary-io.c: Likewise.
52608
52609 2007-03-10  Bruno Haible  <bruno@clisp.org>
52610
52611         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52612         fallback; use #error instead.
52613         Suggested by Simon Josefsson.
52614
52615 2007-03-10  Bruno Haible  <bruno@clisp.org>
52616
52617         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52618         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52619         first and the last.
52620
52621 2007-03-10  Bruno Haible  <bruno@clisp.org>
52622
52623         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52624
52625 2007-03-10  Bruno Haible  <bruno@clisp.org>
52626
52627         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52628         "make distcheck".
52629         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
52630         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
52631         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
52632
52633 2007-03-10  Bruno Haible  <bruno@clisp.org>
52634
52635         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
52636         variable.
52637         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
52638         variable.
52639
52640 2007-03-09  Eric Blake  <ebb9@byu.net>
52641         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
52642
52643         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
52644         types are not being provided by gnulib.
52645         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
52646         types are supported.
52647
52648 2007-03-10  Bruno Haible  <bruno@clisp.org>
52649
52650         * lib/stdio_.h (__attribute__): New macro.
52651         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
52652         vsprintf): Specify __attribute__ __format__ for GCC.
52653         Suggested by Eric Blake.
52654
52655 2007-03-09  Bruno Haible  <bruno@clisp.org>
52656
52657         * modules/printf-posix-tests: New file.
52658         * tests/test-printf-posix.sh: New file.
52659         * tests/test-printf-posix.c: New file.
52660
52661         * modules/printf-posix: New file.
52662         * lib/printf.c: New file.
52663         * m4/printf-posix-rpl.m4: New file.
52664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
52665         REPLACE_PRINTF.
52666         * lib/stdio_.h (printf): New declaration.
52667         (format, __format__, ____printf____, ____scanf____, ____strftime____,
52668         ____strfmon____): New macros.
52669         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
52670         REPLACE_PRINTF.
52671
52672 2007-03-09  Bruno Haible  <bruno@clisp.org>
52673
52674         * tests/test-vasnprintf-posix2.sh: New file.
52675         * tests/test-vasnprintf-posix2.c: New file.
52676         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
52677         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52678         (Makefile.am): Activate test-vasnprintf-posix2.sh.
52679
52680         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
52681         a locale dependent decimal point, rather than always '.'.
52682
52683 2007-03-09  Eric Blake  <ebb9@byu.net>
52684
52685         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
52686         spite of platforms like Tandem/NSK that define it to -1.
52687
52688 2007-03-08  Bruno Haible  <bruno@clisp.org>
52689
52690         * modules/vprintf-posix-tests: New file.
52691         * tests/test-vprintf-posix.sh: New file.
52692         * tests/test-vprintf-posix.c: New file.
52693         * tests/test-printf-posix.h: New file.
52694
52695         * modules/vprintf-posix: New file.
52696         * lib/vprintf.c: New file.
52697         * m4/vprintf-posix.m4: New file.
52698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
52699         REPLACE_VPRINTF.
52700         * lib/stdio_.h (vprintf): New declaration.
52701         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
52702         REPLACE_VPRINTF.
52703
52704 2007-03-08  Bruno Haible  <bruno@clisp.org>
52705
52706         * modules/fprintf-posix-tests: New file.
52707         * tests/test-fprintf-posix.sh: New file.
52708         * tests/test-fprintf-posix.c: New file.
52709
52710         * modules/fprintf-posix: New file.
52711         * lib/fprintf.c: New file.
52712         * m4/fprintf-posix.m4: New file.
52713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
52714         REPLACE_FPRINTF.
52715         * lib/stdio_.h (fprintf): New declaration.
52716         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
52717         REPLACE_FPRINTF.
52718
52719 2007-03-08  Bruno Haible  <bruno@clisp.org>
52720
52721         * modules/vfprintf-posix-tests: New file.
52722         * tests/test-vfprintf-posix.sh: New file.
52723         * tests/test-vfprintf-posix.c: New file.
52724         * tests/test-fprintf-posix.h: New file.
52725         * tests/test-fprintf-posix.out: New file.
52726
52727         * modules/vfprintf-posix: New file.
52728         * lib/vfprintf.c: New file.
52729         * m4/vfprintf-posix.m4: New file.
52730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
52731         REPLACE_VFPRINTF.
52732         * lib/stdio_.h (vfprintf): New declaration.
52733         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
52734         REPLACE_VFPRINTF.
52735
52736 2007-03-08  Bruno Haible  <bruno@clisp.org>
52737
52738         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
52739
52740 2007-03-08  Bruno Haible  <bruno@clisp.org>
52741
52742         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
52743         instead of 'expr' invocations.
52744         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52745         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52746         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52747         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52748         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52749         Suggested by Paul Eggert.
52750
52751 2007-03-08  Bruno Haible  <bruno@clisp.org>
52752
52753         * modules/fseterr-tests: New file.
52754         * tests/test-fseterr.c: New file.
52755
52756         * modules/fseterr: New file.
52757         * lib/fseterr.h: New file.
52758         * lib/fseterr.c: New file.
52759
52760 2007-03-08  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
52763         * lib/getopt_.h: Likewise.
52764         * lib/mbswidth.h: Likewise.
52765         * lib/setenv.h: Likewise.
52766         * lib/vasnprintf.h: Likewise.
52767         * lib/vasprintf.h: Likewise.
52768         * lib/verror.h: Likewise.
52769         * lib/xsetenv.h: Likewise.
52770         * lib/xvasprintf.h: Likewise.
52771
52772 2007-03-08  Jim Meyering  <jim@meyering.net>
52773
52774         * users.txt: Add parted.
52775
52776         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
52777
52778 2007-03-07  Bruno Haible  <bruno@clisp.org>
52779
52780         * m4/printf.m4: Make the shell script snippets copy&pastable.
52781
52782 2007-03-02  Bruno Haible  <bruno@clisp.org>
52783
52784         * lib/netinet_in_.h: New file.
52785         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
52786         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
52787         * modules/netinet_in (Files): Add lib/netinet_in_.h.
52788         (Depends-on): Add absolute-header.
52789         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
52790         into netinet/in.h.
52791
52792 2007-03-03  Bruno Haible  <bruno@clisp.org>
52793
52794         * lib/sys_select_.h: New file.
52795         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
52796         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
52797         * modules/sys_select (Files): Add lib/sys_select_.h.
52798         (Depends-on): Add absolute-header.
52799         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
52800         into sys/select.h.
52801
52802 2007-03-02  Bruno Haible  <bruno@clisp.org>
52803
52804         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
52805         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
52806         values.
52807         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
52808         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
52809         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
52810         * modules/sys_socket (Depends-on): Add absolute-header.
52811         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
52812         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
52813         (Include): Remove requirement of inclusion of <sys/types.h>.
52814
52815 2007-03-02  Bruno Haible  <bruno@clisp.org>
52816
52817         * lib/byteswap_.h (bswap_32): Fix formula.
52818
52819 2007-03-06  Bruno Haible  <bruno@clisp.org>
52820
52821         * modules/sprintf-posix-tests: New file.
52822         * tests/test-sprintf-posix.c: New file.
52823
52824         * modules/sprintf-posix: New file.
52825         * lib/sprintf.c: New file.
52826         * m4/sprintf-posix.m4: New file.
52827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
52828         REPLACE_SPRINTF.
52829         * lib/stdio_.h (sprintf): New declaration.
52830         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
52831         REPLACE_SPRINTF.
52832
52833 2007-03-06  Bruno Haible  <bruno@clisp.org>
52834
52835         * modules/vsprintf-posix-tests: New file.
52836         * tests/test-vsprintf-posix.c: New file.
52837         * tests/test-sprintf-posix.h: New file.
52838
52839         * modules/vsprintf-posix: New file.
52840         * lib/vsprintf.c: New file.
52841         * m4/vsprintf-posix.m4: New file.
52842         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
52843         REPLACE_VSPRINTF.
52844         * lib/stdio_.h (vsprintf): New declaration.
52845         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
52846         REPLACE_VSPRINTF.
52847
52848 2007-03-06  Bruno Haible  <bruno@clisp.org>
52849
52850         * modules/vsnprintf (Depend-on): Remove minmax.
52851
52852 2007-03-06  Bruno Haible  <bruno@clisp.org>
52853
52854         * modules/snprintf-posix-tests: New file.
52855         * tests/test-snprintf-posix.c: New file.
52856
52857         * modules/snprintf-posix: New file.
52858         * m4/snprintf-posix.m4: New file.
52859         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
52860         gl_FUNC_SNPRINTF.
52861         (gl_FUNC_SNPRINTF): Invoke it.
52862         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
52863         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
52864         is set.
52865         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
52866
52867 2007-03-06  Bruno Haible  <bruno@clisp.org>
52868
52869         * modules/vsnprintf-posix-tests: New file.
52870         * tests/test-vsnprintf-posix.c: New file.
52871         * tests/test-snprintf-posix.h: New file.
52872
52873         * modules/vsnprintf-posix: New file.
52874         * m4/vsnprintf-posix.m4: New file.
52875         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
52876         gl_FUNC_VSNPRINTF.
52877         (gl_FUNC_VSNPRINTF): Invoke it.
52878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
52879         * lib/stdio_.h (vsnprintf): Define as a replacement if
52880         REPLACE_VSNPRINTF is set.
52881         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
52882
52883 2007-03-06  Bruno Haible  <bruno@clisp.org>
52884
52885         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
52886         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
52887
52888 2007-03-06  Bruno Haible  <bruno@clisp.org>
52889
52890         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
52891         (asinl): Declare also if HAVE_DECL_ASINL is set.
52892         (atanl): Declare also if HAVE_DECL_ATANL is set.
52893         (ceill): Declare also if HAVE_DECL_CEILL is set.
52894         (cosl): Declare also if HAVE_DECL_COSL is set.
52895         (expl): Declare also if HAVE_DECL_EXPL is set.
52896         (floorl): Declare also if HAVE_DECL_FLOORL is set.
52897         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
52898         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
52899         (logl): Declare also if HAVE_DECL_LOGL is set.
52900         (sinl): Declare also if HAVE_DECL_SINL is set.
52901         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
52902         (tanl): Declare also if HAVE_DECL_TANL is set.
52903         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
52904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
52905         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
52906         declaration of frexpl, ldexpl.
52907         * modules/printf-frexpl (Depends-on): Add math.
52908         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
52909
52910 2007-03-05  Bruno Haible  <bruno@clisp.org>
52911
52912         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
52913         frexpl and ldexpl are declared.
52914         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
52915
52916 2007-03-05  Bruno Haible  <bruno@clisp.org>
52917
52918         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
52919         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
52920
52921 2007-03-05  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/stdio_.h: Include <stddef.h>.
52924
52925 2007-03-05  Bruno Haible  <bruno@clisp.org>
52926
52927         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
52928
52929 2007-03-05  Bruno Haible  <bruno@clisp.org>
52930
52931         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
52932         NetBSD 4, from Ralf Wildenhues.
52933
52934 2007-03-04  Bruno Haible  <bruno@clisp.org>
52935
52936         * lib/vasprintf.h: Update #if logic for the case when the functions
52937         exist but are overridden.
52938
52939 2007-03-04  Bruno Haible  <bruno@clisp.org>
52940
52941         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
52942         implementations: glibc-2.4 and MacOS X 10.3.
52943         * tests/test-vasnprintf-posix.c (test_function): Test also the case
52944         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
52945         * tests/test-vasprintf-posix.c (test_function): Likewise.
52946
52947 2007-03-04  Bruno Haible  <bruno@clisp.org>
52948
52949         * modules/vasprintf-posix-tests: New file.
52950         * tests/test-vasprintf-posix.c: New file.
52951
52952         * modules/vasprintf-posix: New file.
52953         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
52954         defined.
52955         * m4/vasprintf-posix.m4: New file.
52956         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
52957         gl_FUNC_VASPRINTF.
52958         (gl_FUNC_VASPRINTF): Invoke it.
52959         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
52960         here.
52961         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
52962
52963 2007-03-04  Bruno Haible  <bruno@clisp.org>
52964
52965         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
52966         REPLACE_GETTIMEOFDAY.
52967         * modules/sys_time (Makefile.am): Likewise.
52968         * m4/sys_time_h.m4: Likewise.
52969         * m4/gettimeofday.m4: Likewise.
52970
52971 2007-03-04  Bruno Haible  <bruno@clisp.org>
52972
52973         * modules/vasnprintf-posix-tests: New file.
52974         * tests/test-vasnprintf-posix.c: New file.
52975
52976         * modules/vasnprintf-posix: New file.
52977         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
52978         printf-frexpl.h.
52979         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
52980         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
52981         REPLACE_VASNPRINTF is defined.
52982         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
52983         gl_FUNC_VASNPRINTF.
52984         (gl_FUNC_VASNPRINTF): Invoke it.
52985         * m4/vasnprintf-posix.m4: New file.
52986         * m4/printf.m4: New file.
52987
52988 2007-03-04  Bruno Haible  <bruno@clisp.org>
52989
52990         Compile progreloc.c only if --enable-relocatable is specified.
52991         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
52992         if --enable-relocatable was specified.
52993         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
52994         lib_SOURCES.
52995
52996 2007-03-04  Jim Meyering  <jim@meyering.net>
52997
52998         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
52999         Use it consistently, rather than enumerating errno constants.
53000
53001 2007-03-04  Bruno Haible  <bruno@clisp.org>
53002
53003         * modules/xvasprintf-tests: New file.
53004         * tests/test-xvasprintf.c: New file.
53005
53006         * modules/vasprintf-tests: New file.
53007         * tests/test-vasprintf.c: New file.
53008
53009         * modules/vasnprintf-tests: New file.
53010         * tests/test-vasnprintf.c: New file.
53011
53012         * modules/vsnprintf-tests: New file.
53013         * tests/test-vsnprintf.c: New file.
53014
53015         * modules/snprintf-tests: New file.
53016         * tests/test-snprintf.c: New file.
53017
53018 2007-03-04  Bruno Haible  <bruno@clisp.org>
53019
53020         Compile relocatable.c only if --enable-relocatable is specified.
53021         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
53022         gl_RELOCATABLE_LIBRARY.
53023         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
53024         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
53025         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
53026         gl_RELOCATABLE_LIBRARY.
53027         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
53028         (Makefile.am): Remove lib_SOURCES.
53029         * modules/relocatable-lib-lgpl (configure.ac): Invoke
53030         gl_RELOCATABLE_LIBRARY.
53031         (Makefile.am): Remove lib_SOURCES.
53032         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
53033         always.
53034         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53035         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
53036
53037 2007-03-04  Bruno Haible  <bruno@clisp.org>
53038
53039         * modules/argmatch-tests: New file.
53040         * tests/test-argmatch.c: New file.
53041
53042         * tests/test-allocsa.c (main): Halve the number of loop runs.
53043
53044         * modules/alloca-opt-tests: New file.
53045         * tests/test-alloca-opt.c: New file.
53046
53047 2007-03-04  Jim Meyering  <jim@meyering.net>
53048
53049         Work around difference between Linux ACLs and Solaris 10 ZFS.
53050         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
53051         for EINVAL.
53052
53053 2007-03-03  Bruno Haible  <bruno@clisp.org>
53054
53055         * modules/relocatable-prog (Depends-on): Add back progreloc's
53056         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
53057
53058 2007-03-03  Bruno Haible  <bruno@clisp.org>
53059
53060         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
53061         * modules/relocatable-lib: New file.
53062
53063 2007-03-03  Bruno Haible  <bruno@clisp.org>
53064
53065         * modules/relocatable-prog: Renamed from modules/relocatable.
53066         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
53067
53068 2007-03-03  Bruno Haible  <bruno@clisp.org>
53069
53070         * modules/relocatable-script (Files): Add doc/relocatable.texi,
53071         m4/relocatable-lib.m4.
53072         (Depends-on): Remove 'relocatable'.
53073         (configure.ac): Add gl_RELOCATABLE_NOP.
53074
53075 2007-03-03  Bruno Haible  <bruno@clisp.org>
53076
53077         * modules/relocatable-prog-wrapper: New file.
53078         * modules/relocatable (Depends-on): Add it. Remove all other
53079         dependencies except progname.
53080         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
53081
53082         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
53083         (gl_FUNC_STRERROR): Nop.
53084         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
53085
53086         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
53087         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
53088
53089         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
53090         (gl_FUNC_READLINK): Update.
53091
53092         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
53093
53094 2007-03-03  Bruno Haible  <bruno@clisp.org>
53095
53096         * lib/xreadlink.c: Include <unistd.h> unconditionally.
53097         * modules/xreadlink (Depends-on): Add unistd.
53098         * modules/xreadlink-with-size (Depends-on): Likewise.
53099
53100 2007-03-03  Bruno Haible  <bruno@clisp.org>
53101
53102         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
53103         extracted from gt_FUNC_SETENV.
53104         (gt_FUNC_SETENV): Remove macro.
53105         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
53106         remove gt_FUNC_SETENV.
53107
53108 2007-03-03  Bruno Haible  <bruno@clisp.org>
53109
53110         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
53111         ENABLE_RELOCATABLE here.
53112         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
53113
53114 2007-03-03  Bruno Haible  <bruno@clisp.org>
53115
53116         * modules/rbtreehash-list-tests (Depends-on): Add progname.
53117         * tests/test-rbtreehash_list.c: Include progname.h.
53118         (main): Call set_program_name.
53119
53120         * modules/rbtree-oset-tests (Depends-on): Add progname.
53121         * tests/test-rbtree_oset.c: Include progname.h.
53122         (main): Call set_program_name.
53123
53124         * modules/rbtree-list-tests (Depends-on): Add progname.
53125         * tests/test-rbtree_list.c: Include progname.h.
53126         (main): Call set_program_name.
53127
53128         * modules/linked-list-tests (Depends-on): Add progname.
53129         * tests/test-linked_list.c: Include progname.h.
53130         (main): Call set_program_name.
53131
53132 2007-03-03  Bruno Haible  <bruno@clisp.org>
53133
53134         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
53135         All uses of __restrict changed to _Restrict_.
53136         * lib/glob_.h (__restrict): Remove macro.
53137
53138 2007-03-02  Bruno Haible  <bruno@clisp.org>
53139
53140         * modules/gettext (configure.ac): Require gettext infrastructure
53141         from version 0.16.1.
53142
53143 2007-03-02  Bruno Haible  <bruno@clisp.org>
53144
53145         * modules/linkedhash-list-tests (Depends-on): Add progname.
53146         * tests/test-linkedhash_list.c: Include progname.h.
53147         (main): Call set_program_name.
53148
53149         * modules/carray-list-tests (Depends-on): Add progname.
53150         * tests/test-carray_list.c: Include progname.h.
53151         (main): Call set_program_name.
53152
53153         * modules/avltreehash-list-tests (Depends-on): Add progname.
53154         * tests/test-avltreehash_list.c: Include progname.h.
53155         (main): Call set_program_name.
53156
53157         * modules/avltree-oset-tests (Depends-on): Add progname.
53158         * tests/test-avltree_oset.c: Include progname.h.
53159         (main): Call set_program_name.
53160
53161         * modules/avltree-list-tests (Depends-on): Add progname.
53162         * tests/test-avltree_list.c: Include progname.h.
53163         (main): Call set_program_name.
53164
53165         * modules/array-oset-tests (Depends-on): Add progname.
53166         * tests/test-array_oset.c: Include progname.h.
53167         (main): Call set_program_name.
53168
53169         * modules/array-list-tests (Depends-on): Add progname.
53170         * tests/test-array_list.c: Include progname.h.
53171         (main): Call set_program_name.
53172
53173         * modules/argp-tests (Depends-on): Add progname.
53174         * tests/test-argp.c: Include argp.h first. Include progname.h.
53175         (main): Call set_program_name.
53176
53177 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
53178
53179         * doc/gnulib-tool.texi (Initial import): Reword description of
53180         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
53181         limited effect even if defined after the first system include.
53182
53183 2007-03-01  Bruno Haible  <bruno@clisp.org>
53184
53185         * build-aux/config.libpath: Update to libtool-1.5.22.
53186         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53187
53188 2007-03-01  Bruno Haible  <bruno@clisp.org>
53189
53190         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
53191         foo_CFLAGS.
53192         Reported by Ralf Wildenhues.
53193
53194 2007-03-01  Bruno Haible  <bruno@clisp.org>
53195
53196         * build-aux/install-reloc: Remove object files left over by some
53197         compilers.
53198         Reported by Ralf Wildenhues.
53199
53200 2007-03-01  Bruno Haible  <bruno@clisp.org>
53201
53202         * build-aux/install-reloc: Break long lines.
53203
53204 2007-03-01  Bruno Haible  <bruno@clisp.org>
53205
53206         * doc/relocatable.texi: Document that it may not work on OpenBSD.
53207         Reported by Ralf Wildenhues.
53208
53209 2007-03-01  Bruno Haible  <bruno@clisp.org>
53210
53211         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
53212         include ordering constraints.
53213
53214 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53215
53216         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
53217         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
53218         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
53219         as another example.
53220         * lib/time_.h: Fix misspelling.
53221         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53222         Require gl_HEADER_TIME_H_DEFAULTS.
53223         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
53224         * m4/time_r.m4 (gl_TIME_R): Likewise.
53225         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
53226
53227 2007-03-01  Bruno Haible  <bruno@clisp.org>
53228
53229         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
53230         * m4/utimens.m4 (gl_UTIMENS): Likewise.
53231
53232 2007-03-01  Jim Meyering  <jim@meyering.net>
53233
53234         * modules/xreadlink (Maintainer): Add my name.
53235         * modules/xreadlink-with-size (Depends-on): Alphabetize.
53236
53237 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
53238             Bruno Haible  <bruno@clisp.org>
53239
53240         * build-aux/install-reloc: Compile also c-ctype.c.
53241         * build-aux/relocatable.sh.in: New file.
53242         * doc/relocatable.texi: New file.
53243         * doc/relocatable-maint.texi: New file.
53244         * doc/gnulib.texi: Include relocatable-maint.texi.
53245         * lib/progreloc.c: Include unistd.h unconditionally.
53246         * lib/relocwrapper.c: Include unistd.h unconditionally.
53247         Include c-ctype.h.
53248         (add_dotbin): Use c_tolower.
53249         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
53250         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
53251         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
53252         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
53253         to m4/relocatable-lib.m4.
53254         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
53255         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
53256         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
53257         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
53258         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
53259         * modules/relocatable: New file.
53260         * modules/relocatable-lib: New file.
53261         * modules/relocatable-script: New file.
53262
53263 2007-02-28  Bruno Haible  <bruno@clisp.org>
53264
53265         Import --enable-relocatable infrastructure.
53266         * build-aux/config.libpath: New file, from GNU gettext.
53267         * build-aux/install-reloc: New file, from GNU gettext.
53268         * build-aux/reloc-ldflags: New file, from GNU gettext.
53269         * lib/relocatable.h: New file, from GNU gettext.
53270         * lib/relocatable.c: New file, from GNU gettext.
53271         * lib/relocwrapper.c: New file, from GNU gettext.
53272         * m4/relocatable.m4: New file, from GNU gettext.
53273
53274 2007-02-28  Bruno Haible  <bruno@clisp.org>
53275
53276         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
53277
53278         * modules/xreadlink: New file, from GNU gettext with modifications.
53279         * lib/xreadlink.c: New file, from GNU gettext.
53280         * lib/xreadlink.h: Add comments.
53281         (xreadlink): New declaration.
53282
53283         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
53284         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
53285         lib/xreadlink-with-size.c.
53286         (configure.ac): Remove gl_XREADLINK invocation.
53287         (Makefile.am): Augment lib_SOURCES.
53288         * m4/xreadlink.m4: Remove file.
53289         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
53290         (xreadlink_with_size): Renamed from xreadink.
53291         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
53292         * modules/canonicalize (Depends-on): Replace xreadlink with
53293         xreadlink-with-size.
53294         * lib/canonicalize.c (canonicalize_filename_mode): Update.
53295
53296 2007-02-25  Jim Meyering  <jim@meyering.net>
53297
53298         * build-aux/announce-gen: When complaining about excess arguments,
53299         list them.
53300
53301 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53302
53303         * README: Document signed integer overflow situation more
53304         accurately.
53305
53306 2007-02-25  Bruno Haible  <bruno@clisp.org>
53307
53308         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
53309         'a' or 'A' conversion.
53310
53311 2007-02-25  Bruno Haible  <bruno@clisp.org>
53312
53313         * modules/filename: Renamed from modules/pathname.
53314         (Files): Replace lib/pathname.h with lib/filename.h. Replace
53315         lib/concatpath.c with lib/concat-filename.c.
53316         (Makefile.am): Update.
53317         (Include): Replace pathname.h with filename.h.
53318         * lib/filename.h: Renamed from lib/pathname.h.
53319         (concatenated_filename): Renamed from concatenated_pathname.
53320         * lib/concat-filename.c: Renamed from lib/concatpath.c.
53321         (concatenated_filename): Renamed from concatenated_pathname.
53322         * lib/findprog.c: Include filename.h instead of pathname.h.
53323         (find_in_path): Update.
53324         * lib/javacomp.c: Include filename.h instead of pathname.h.
53325         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53326         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53327         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53328         is_oldgcj_14_13_usable, is_javac_usable): Update.
53329         * lib/javaexec.c: Include filename.h instead of pathname.h.
53330         (execute_java_class): Update.
53331         * modules/findprog: Update.
53332         * modules/javacomp: Update.
53333         * modules/javaexec: Update.
53334         * MODULES.html.sh (File system functions): Add 'filename', remove
53335         'pathname'.
53336
53337 2007-02-25  Bruno Haible  <bruno@clisp.org>
53338
53339         * modules/printf-frexpl-tests: New file.
53340         * tests/test-printf-frexpl.c: New file.
53341
53342         * modules/printf-frexpl: New file.
53343         * lib/printf-frexpl.h: New file.
53344         * lib/printf-frexpl.c: New file.
53345         * m4/printf-frexpl.m4: New file.
53346
53347 2007-02-25  Bruno Haible  <bruno@clisp.org>
53348
53349         * modules/printf-frexp-tests: New file.
53350         * tests/test-printf-frexp.c: New file.
53351
53352         * modules/printf-frexp: New file.
53353         * lib/printf-frexp.h: New file.
53354         * lib/printf-frexp.c: New file.
53355         * m4/printf-frexp.m4: New file.
53356
53357 2007-02-25  Bruno Haible  <bruno@clisp.org>
53358
53359         Assume automake >= 1.10 for the tests.
53360         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
53361         * modules/arctwo-tests: Likewise.
53362         * modules/argp-tests: Likewise.
53363         * modules/avltree-list-tests: Likewise.
53364         * modules/avltree-oset-tests: Likewise.
53365         * modules/avltreehash-list-tests: Likewise.
53366         * modules/carray-list-tests: Likewise.
53367         * modules/crc-tests: Likewise.
53368         * modules/des-tests: Likewise.
53369         * modules/gc-arcfour-tests: Likewise.
53370         * modules/gc-arctwo-tests: Likewise.
53371         * modules/gc-des-tests: Likewise.
53372         * modules/gc-hmac-md5-tests: Likewise.
53373         * modules/gc-hmac-sha1-tests: Likewise.
53374         * modules/gc-md2-tests: Likewise.
53375         * modules/gc-md4-tests: Likewise.
53376         * modules/gc-md5-tests: Likewise.
53377         * modules/gc-pbkdf2-sha1-tests: Likewise.
53378         * modules/gc-rijndael-tests: Likewise.
53379         * modules/gc-sha1-tests: Likewise.
53380         * modules/gc-tests: Likewise.
53381         * modules/getaddrinfo-tests: Likewise.
53382         * modules/hmac-md5-tests: Likewise.
53383         * modules/hmac-sha1-tests: Likewise.
53384         * modules/linked-list-tests: Likewise.
53385         * modules/linkedhash-list-tests: Likewise.
53386         * modules/lock-tests: Likewise.
53387         * modules/md2-tests: Likewise.
53388         * modules/md4-tests: Likewise.
53389         * modules/md5-tests: Likewise.
53390         * modules/rbtree-list-tests: Likewise.
53391         * modules/rbtree-oset-tests: Likewise.
53392         * modules/rbtreehash-list-tests: Likewise.
53393         * modules/read-file-tests: Likewise.
53394         * modules/rijndael-tests: Likewise.
53395         * modules/stdint-tests: Likewise.
53396         * modules/tls-tests: Likewise.
53397
53398 2007-02-24  Bruno Haible  <bruno@clisp.org>
53399
53400         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
53401         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
53402         function; instead check whether isnan with a double argument links.
53403         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
53404         function; instead check whether isnan with a 'long double' argument
53405         links.
53406         Reported by Eric Blake <ebb9@byu.net>.
53407
53408 2007-02-24  Bruno Haible  <bruno@clisp.org>
53409
53410         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
53411         defined.
53412         * lib/isnanl.c: Remove all code. Just include isnan.c.
53413         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
53414
53415 2007-02-25  Jim Meyering  <jim@meyering.net>
53416
53417         Avoid conflicting types for 'unsetenv' on FreeBSD.
53418         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
53419         conflicting with FreeBSD's (5.0 and 6.1) function declaration
53420         in stdlib.h.
53421
53422 2007-02-24  Bruno Haible  <bruno@clisp.org>
53423
53424         * modules/isnanl-nolibm-tests: New file.
53425         * tests/test-isnanl.c: New file.
53426
53427         * modules/isnanl-nolibm: New file.
53428         * lib/isnanl.h: New file.
53429         * lib/isnanl.c: New file.
53430         * m4/isnanl.m4: New file.
53431
53432 2007-02-24  Bruno Haible  <bruno@clisp.org>
53433
53434         * modules/isnan-nolibm-tests: New file.
53435         * tests/test-isnan.c: New file.
53436
53437         * modules/isnan-nolibm: New file.
53438         * lib/isnan.h: New file.
53439         * lib/isnan.c: New file.
53440         * m4/isnan.m4: New file.
53441
53442 2007-02-24  Bruno Haible  <bruno@clisp.org>
53443
53444         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
53445         assume that an exponent fits in 20 bits.
53446
53447 2007-02-24  Jim Meyering  <jim@meyering.net>
53448
53449         * m4/regex.m4: Update the description of the configure-time option,
53450         --without-included-regex, to state accurately what the defaults are,
53451         and perhaps to give people an idea why using this option is risky.
53452
53453 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53454
53455         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
53456         loops on small arguments.  This attempts to avoid the problem
53457         Bruno Haible reported for AIX 4.3.2 in
53458         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
53459
53460 2007-02-23  Bruno Haible  <bruno@clisp.org>
53461
53462         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
53463         Needed for help2man.
53464
53465 2007-02-23  Karl Berry  <karl@gnu.org>
53466
53467         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
53468         exists, foo.h should be cvs-ignored, not committed.
53469
53470 2007-02-23  Eric Blake  <ebb9@byu.net>
53471
53472         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
53473         * lib/stat-time.h (includes): Likewise.
53474         * lib/utimecmp.c (includes): Likewise.
53475         * lib/utimens.h (includes): Likewise.
53476         * lib/getdate.y (includes): Also include "timespec.h" for use
53477         internal to the module.
53478         * modules/utimens (Depends-on): Revert yesterday's patch.
53479         * modules/nanosleep (Depends-on): Add missing dependency.
53480
53481 2007-02-22  Bruno Haible  <bruno@clisp.org>
53482
53483         * lib/glob.c: Don't include getlogin_r.h.
53484
53485 2007-02-22  Jim Meyering  <jim@meyering.net>
53486
53487         * modules/utimens (Depends-on): Add timespec, required for
53488         utimens.h's inclusion of timespec.h.
53489
53490 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53491
53492         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
53493         long unreadable paths in GNU/Linux.  Problem reported by Andreas
53494         Schwab in
53495         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
53496         I'll try to think of a better way to fix the Solaris problem.
53497
53498         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
53499         like glibc; on Solaris 10, it fails with errno == EINVAL.
53500         POSIX says the behavior is unspecified if the first argument is NULL,
53501         so play it safe and never pass NULL to the system getcwd.
53502
53503 2007-02-21  Jim Meyering  <jim@meyering.net>
53504
53505         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
53506         of gettimeofday.  It would conflict with the one now always
53507         provided via sys_time_.h.  Reported by Matthew Woehlke, as
53508         an IRIX 6.5 build failure.
53509
53510 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53511
53512         Minor fixups to port to Solaris 10 with Sun C 5.8.
53513         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
53514         * modules/getcwd (Depends-on): Add dirfd.
53515         * lib/putenv.c (putenv): #undef it.
53516         (rpl_putenv): New decl.
53517         (malloc, free): Include <stdlib.h> rather than prototyping separately.
53518
53519 2007-02-20  Bruno Haible  <bruno@clisp.org>
53520
53521         * modules/stdio-tests: New file.
53522         * tests/test-stdio.c: New file.
53523
53524         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
53525         (Depends-on): Add stdio.
53526         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53527         (Include): Use <stdio.h> instead of vsnprintf.h.
53528         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53529         HAVE_DECL_VSNPRINTF.
53530         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
53531
53532         * modules/snprintf (Files): Remove lib/snprintf.h.
53533         (Depends-on): Add stdio.
53534         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53535         (Include): Use <stdio.h> instead of snprintf.h.
53536         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53537         HAVE_DECL_SNPRINTF.
53538         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
53539         * lib/getaddrinfo.c: Likewise.
53540
53541         * modules/stdio: New file.
53542         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
53543         * lib/snprintf.h: Remove file.
53544         * lib/vsnprintf.h: Remove file.
53545         * lib/.cppi-disable: Remove snprintf.h.
53546         * m4/stdio_h.m4: New file.
53547         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
53548
53549 2007-02-20  Jim Meyering  <jim@meyering.net>
53550
53551         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
53552         used by e.g., mingw.  From Bruno Haible.
53553
53554 2007-02-19  Bruno Haible  <bruno@clisp.org>
53555
53556         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
53557         warnings.
53558         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53559
53560 2007-02-19  Bruno Haible  <bruno@clisp.org>
53561
53562         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
53563         from mingw users.
53564
53565 2007-02-19  Bruno Haible  <bruno@clisp.org>
53566
53567         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
53568         warnings.
53569         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
53570
53571 2007-02-19  Jim Meyering  <jim@meyering.net>
53572
53573         Don't use FD after a successful "fdopendir (fd)".
53574         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
53575         Reset it by calling dirfd on the just-obtained DIR*.
53576
53577         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
53578         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
53579
53580 2007-02-18  Bruno Haible  <bruno@clisp.org>
53581
53582         * lib/readlink.c: Include <unistd.h>.
53583         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
53584         HAVE_READLINK.
53585         * modules/readlink (Depends-on): Add unistd.
53586         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53587         (Include): Add <unistd.h>.
53588
53589         * lib/getlogin_r.h: Remove file.
53590         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
53591         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
53592         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
53593         HAVE_DECL_GETLOGIN_R.
53594         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
53595         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53596         (Include): Use <unistd.h> instead of getlogin_r.h.
53597
53598         * lib/getcwd.h: Remove file.
53599         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53600         * lib/xgetcwd.c: Likewise.
53601         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53602         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53603         * modules/getcwd (Files): Remove lib/getcwd.h.
53604         (Depends-on): Add unistd.
53605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53606         (Include): Use <unistd.h> instad of getcwd.h.
53607
53608         * lib/ftruncate.c: Include <unistd.h> first.
53609         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53610         Set HAVE_FTRUNCATE.
53611         * modules/ftruncate (Depends-on): Add unistd.
53612         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53613
53614         * lib/fchdir.c: Include <unistd.h> first.
53615         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53616         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53617         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53618         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53619         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53620
53621         * lib/dup2.c: Include <unistd.h> first.
53622         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53623         HAVE_DUP2.
53624         * modules/dup2 (Depends-on): Add unistd.
53625         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53626
53627         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53628         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
53629         REPLACE_CHOWN. Don't define chown as a macro here.
53630         * modules/chown (Depends-on): Add unistd.
53631         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53632
53633         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
53634         Add definition for GL_LINK_WARNING.
53635         (chown, dup2): New declarations.
53636         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
53637         link warning.
53638         (ftruncate): New declaration.
53639         (getcwd): New declaration, taken from old getcwd.h.
53640         (getlogin_r): New declaration, taken from old getlogin_r.h.
53641         (readlink): New declaration.
53642         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
53643         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
53644         (gl_PREREQ_UNISTD): Remove macro.
53645         (gl_UNISTD_MODULE_INDICATOR): New macro.
53646         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
53647         many new variables. Don't set UNISTD_H.
53648         * modules/unistd (Description): Change.
53649         (Depends-on): Add link-warning.
53650         (configure.ac): Update.
53651         (Makefile.am): Create unistd.h always. Substitute many new variables
53652         into it.
53653
53654 2007-02-18  Bruno Haible  <bruno@clisp.org>
53655
53656         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
53657         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
53658         HAVE_GETSUBOPT.
53659         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
53660         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
53661         * lib/getsubopt.h: Remove file.
53662         * modules/getsubopt (Files): Remove lib/getsubopt.h.
53663         (Depends-on): Add stdlib.
53664         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53665         (Includes): Use <stdlib.h> instead of getsubopt.h.
53666         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
53667         Set HAVE_GETSUBOPT.
53668         * lib/getsubopt.c: Don't include getsubopt.h.
53669
53670 2007-02-18  Bruno Haible  <bruno@clisp.org>
53671
53672         * modules/fchdir (Depends-on): Add dup2.
53673
53674 2007-02-18  Bruno Haible  <bruno@clisp.org>
53675
53676         * lib/stdlib_.h: Handle glibc's special invocation convention
53677         specially.
53678
53679 2007-02-18  Bruno Haible  <bruno@clisp.org>
53680
53681         * modules/stdlib-tests: New file.
53682         * tests/test-stdlib.c: New file.
53683
53684         * modules/mkstemp (Files): Remove lib/mkstemp.h.
53685         (Depends-on): Add stdlib.
53686         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53687         (Includes): Use <stdlib.h> instead of mkstemp.h.
53688         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53689         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
53690         * lib/mkstemp.c: Don't include mkstemp.h.
53691         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
53692         * lib/stdlib--.h: Don't include mkstemp.h.
53693
53694         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
53695         (Depends-on): Add stdlib.
53696         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53697         (Includes): Use <stdlib.h> instead of mkdtemp.h.
53698         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53699         HAVE_MKDTEMP.
53700         * lib/mkdtemp.c: Don't include mkdtemp.h.
53701         * lib/clean-temp.c: Don't include mkdtemp.h.
53702
53703         * modules/exit (Files): Remove lib/exit.h.
53704         (Depends-on): Add stdlib.
53705         (Makefile.am): Remove lib_SOURCES.
53706         (Include): Use <stdlib.h> instead of exit.h.
53707         * lib/argmatch.c: Don't include exit.h.
53708         * lib/execute.c: Likewise.
53709         * lib/pagealign_alloc.c: Likewise.
53710         * lib/pipe.c: Likewise.
53711         * lib/wait-process.c: Likewise.
53712         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
53713         * lib/exitfail.c: Likewise.
53714         * lib/savewd.c: Likewise.
53715         * lib/xsetenv.c: Likewise.
53716
53717         * modules/stdlib: New file.
53718         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
53719         and extra comments about mkstemp().
53720         * lib/exit.h: Remove file.
53721         * lib/mkdtemp.h: Remove file.
53722         * lib/mkstemp.h: Remove file.
53723         * m4/stdlib_h.m4: New file.
53724         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
53725
53726 2007-02-18  Bruno Haible  <bruno@clisp.org>
53727
53728         * modules/math-tests: New file.
53729         * tests/test-math.c: New file.
53730
53731         * modules/math: New file.
53732         * modules/mathl (Files): Remove lib/mathl.h.
53733         (Depends-on): Add math.
53734         (Makefile.am): Don't mention mathl.h.
53735         (Include): Use <math.h> instead of mathl.h.
53736         * lib/math_.h: New file.
53737         * lib/mathl.h: Remove file.
53738         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
53739         mathl.h.
53740         * lib/asinl.c: Likewise.
53741         * lib/atanl.c: Likewise.
53742         * lib/ceill.c: Likewise.
53743         * lib/cosl.c: Likewise.
53744         * lib/expl.c: Likewise.
53745         * lib/floorl.c: Likewise.
53746         * lib/frexpl.c: Likewise.
53747         * lib/ldexpl.c: Likewise.
53748         * lib/logl.c: Likewise.
53749         * lib/sincosl.c: Likewise.
53750         * lib/sinl.c: Likewise.
53751         * lib/sqrtl.c: Likewise.
53752         * lib/tanl.c: Likewise.
53753         * lib/trigl.c: Likewise.
53754         * m4/math_h.m4: New file.
53755         * MODULES.html.sh (Mathematics): Add math.
53756
53757 2007-02-17  Bruno Haible  <bruno@clisp.org>
53758
53759         * modules/wctype-tests: New file.
53760         * tests/test-wctype.c: New file.
53761
53762         * modules/wchar-tests: New file.
53763         * tests/test-wchar.c: New file.
53764
53765         * modules/unistd-tests: New file.
53766         * tests/test-unistd.c: New file.
53767
53768         * modules/time-tests: New file.
53769         * tests/test-time.c: New file.
53770
53771         * modules/sysexits-tests: New file.
53772         * tests/test-sysexits.c: New file.
53773
53774         * modules/sys_time-tests: New file.
53775         * tests/test-sys_time.c: New file.
53776
53777         * modules/sys_stat-tests: New file.
53778         * tests/test-sys_stat.c: New file.
53779
53780         * modules/sys_socket-tests: New file.
53781         * tests/test-sys_socket.c: New file.
53782
53783         * modules/sys_select-tests: New file.
53784         * tests/test-sys_select.c: New file.
53785
53786         * modules/string-tests: New file.
53787         * tests/test-string.c: New file.
53788
53789         * modules/stdbool-tests: New file.
53790         * tests/test-stdbool.c: New file.
53791
53792         * modules/netinet_in-tests: New file.
53793         * tests/test-netinet_in.c: New file.
53794
53795         * modules/inttypes-tests: New file.
53796         * tests/test-inttypes.c: New file.
53797
53798         * modules/fcntl-tests: New file.
53799         * tests/test-fcntl.c: New file.
53800
53801         * modules/byteswap-tests: New file.
53802         * tests/test-byteswap.c: New file.
53803
53804         * modules/arpa_inet-tests: New file.
53805         * tests/test-arpa_inet.c: New file.
53806
53807 2007-02-17  Bruno Haible  <bruno@clisp.org>
53808
53809         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
53810         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
53811         if the corresponding module is not enabled. Emit link warnings if
53812         the function is used nevertheless.
53813         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
53814         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
53815         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
53816         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
53817         * modules/inttypes (Depends-on): Add link-warning.
53818         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53819         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
53820         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
53821         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
53822         * modules/imaxdiv (configure.ac): Likewise.
53823         * modules/strtoimax (configure.ac): Likewise.
53824         * modules/strtoumax (configure.ac): Likewise.
53825
53826 2007-02-17  Bruno Haible  <bruno@clisp.org>
53827
53828         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
53829         gl_STRING_MODULE_INDICATOR_DEFAULTS.
53830         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
53831         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
53832
53833 2007-02-17  Bruno Haible  <bruno@clisp.org>
53834
53835         * modules/link-warning: New file.
53836         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
53837         * lib/string_.h (GL_LINK_WARNING): Remove definition.
53838         * modules/string (Depends-on): Add link-warning.
53839         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53840         string.h.
53841         * MODULES.html.sh (Support for building libraries and executables): Add
53842         link-warning.
53843
53844 2007-02-17  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
53847         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
53848         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
53849         long lines.
53850
53851 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
53852             Bruno Haible  <bruno@clisp.org>
53853
53854         * modules/tmpfile: New file.
53855         * lib/tmpfile.c: New file.
53856         * m4/tmpfile.m4: New file.
53857         * MODULES.html.sh (func_all_modules): New section "Input/output".
53858
53859 2007-02-15  Bruno Haible  <bruno@clisp.org>
53860
53861         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
53862         (supports_delete_on_close): New function.
53863         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
53864
53865 2007-02-14  Bruno Haible  <bruno@clisp.org>
53866
53867         * modules/mbspcasecmp-tests: New file.
53868         * tests/test-mbspcasecmp.sh: New file.
53869         * tests/test-mbspcasecmp.c: New file.
53870
53871         New module mbspcasecmp.
53872         * modules/mbspcasecmp: New file.
53873         * lib/mbspcasecmp.c: New file.
53874         * lib/string_.h (strncasecmp): Change warning message.
53875         (mbspcasecmp): New declaration.
53876         * m4/mbspcasecmp.m4: New file.
53877         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53878         GNULIB_MBSPCASECMP.
53879         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
53880         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
53881
53882 2007-02-14  Bruno Haible  <bruno@clisp.org>
53883
53884         * modules/mbsncasecmp-tests: New file.
53885         * tests/test-mbsncasecmp.sh: New file.
53886         * tests/test-mbsncasecmp.c: New file.
53887
53888         New module mbsncasecmp.
53889         * modules/mbsncasecmp: New file.
53890         * lib/mbsncasecmp.c: New file.
53891         * lib/string_.h (mbsncasecmp): New declaration.
53892         * m4/mbsncasecmp.m4: New file.
53893         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53894         GNULIB_MBSNCASECMP.
53895         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
53896         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
53897
53898 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53899
53900         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
53901         Verify that it doesn't overlap with our flags.
53902         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
53903         do not have the desired effect in multibyte locales; instead, use
53904         mbscasecmp.
53905         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
53906         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
53907         we don't require GNU fnmatch ourselves (if our users require it, they
53908         should do so explicitly).
53909
53910         Fix regex code so it doesn't rely on strcasecmp.
53911         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
53912         Otherwise, include gnulib's langinfo.h.
53913         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
53914         undesirable behavior in non-C locales.  Instead, rely on localecharset.
53915         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
53916         * modules/regex (FILES): Remove m4/codeset.m4.
53917         (Depends-on): Add localcharset.  Remove strcase.
53918
53919 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53920
53921         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
53922         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53923
53924 2007-02-13  Bruno Haible  <bruno@clisp.org>
53925
53926         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
53927         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53928
53929 2007-02-12  Bruno Haible  <bruno@clisp.org>
53930
53931         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53932         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
53933         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
53934         time warning rather than a link error.
53935
53936 2007-02-12  Bruno Haible  <bruno@clisp.org>
53937
53938         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
53939         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53940         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53941
53942 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53943
53944         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
53945         args, not 2.
53946
53947 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53948
53949         New module 'time', so that apps can include <time.h> as per
53950         POSIX and GNU instead of separate include files like time_r.h
53951         and timegm.h.  This implementation tries out a simpler approach
53952         for replacing decls in standard include files (as compared to
53953         the string module), somewhat as an experiment.
53954
53955         * config/srclist.txt: Comment out mktime.c for now.
53956         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
53957         since it doesn't apply any more.  Use generic wording instead.
53958         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
53959         'time'.
53960         * lib/time_.h, m4/time_h.m4, modules/time: New files.
53961         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
53962         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
53963         Don't include <sys/types.h>; no longer needed since we assume C89.
53964         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
53965         * lib/strftime.c: Likewise.
53966         * lib/time_r.c: Likewise.
53967         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
53968         * lib/nanosleep.c: Include <time.h> first, to check interface.
53969         * lib/strptime.c: Likewise.
53970         * lib/time_r.c: Likewise.
53971         * lib/timegm.c: Likewise.
53972         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
53973         needed.
53974         * lib/timegm.c: Don't include timegm.h; no longer needed.
53975         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
53976         time.h now handles any problems in that area.
53977         (struct timespec, nanosleep): Remove; time.h now arranges for these.
53978         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
53979         that time.h defines struct timespec.
53980         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
53981         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
53982         handles that.
53983         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
53984         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
53985         needed.  Set REPLACE_LOCALTIME.
53986         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
53987         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
53988         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
53989         nanosleep; time_h.m4 now does that.  Don't require
53990         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
53991         module handles this now.
53992         * modules/getdate (Depends-on): Remove timespec.  Add time.
53993         * modules/nanosleep (Depends-on): Likewise.
53994         * modules/stat-time (Depends-on): Likewise.
53995         * modules/nanosleep (Include): Include time.h, not timespec.h.
53996         * modules/strptime (Files): Remove lib/strptime.h.
53997         (Depends-on): Add extensions, time.
53998         (Include): Include time.h, not strptime.h.
53999         * modules/time_r (Files): Remove lib/time_r.h.
54000         (Depends-on): Add time.
54001         (Include): Include time.h, not time_r.h.
54002         * modules/timegm: Likewise.
54003         * modules/timespec (Description): Now does timespec-related decls
54004         of our own, instead of struct timespec itself.
54005         (Depends-on): Add time; remove extensions.
54006         (Maintainer): Add self.
54007         * modules/utimecmp (Depends-on): Add time; remove timespec.
54008         * modules/utimens (Depends-on): Likewise.
54009         * modules/xnanosleep (Depends-on): Likewise.
54010
54011 2007-02-11  Bruno Haible  <bruno@clisp.org>
54012
54013         * lib/c-strstr.c: Include allocsa.h.
54014         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54015         * lib/c-strcasestr.c: Include allocsa.h.
54016         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54017         * lib/strcasestr.c: Include allocsa.h.
54018         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54019         * lib/mbsstr.c: Include allocsa.h.
54020         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54021         allocsa/freesa instead of malloc/free.
54022         * lib/mbscasestr.c: Include allocsa.h.
54023         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54024         allocsa/freesa instead of malloc/free.
54025         * modules/c-strstr (Depends-on): Add allocsa.
54026         * modules/c-strcasestr (Depends-on): Likewise.
54027         * modules/strcasestr (Depends-on): Likewise.
54028         * modules/mbsstr (Depends-on): Likewise.
54029         * modules/mbscasestr (Depends-on): Likewise.
54030
54031 2007-02-11  Bruno Haible  <bruno@clisp.org>
54032
54033         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
54034
54035         * modules/mbsspn-tests: New file.
54036         * tests/test-mbsspn.sh: New file.
54037         * tests/test-mbsspn.c: New file.
54038
54039 2007-02-11  Bruno Haible  <bruno@clisp.org>
54040
54041         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
54042
54043         * modules/mbspbrk-tests: New file.
54044         * tests/test-mbspbrk.sh: New file.
54045         * tests/test-mbspbrk.c: New file.
54046
54047 2007-02-11  Bruno Haible  <bruno@clisp.org>
54048
54049         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
54050         unneeded cast.
54051
54052         * modules/mbscspn-tests: New file.
54053         * tests/test-mbscspn.sh: New file.
54054         * tests/test-mbscspn.c: New file.
54055
54056 2007-02-11  Bruno Haible  <bruno@clisp.org>
54057
54058         * modules/mbscasecmp-tests: New file.
54059         * tests/test-mbscasecmp.sh: New file.
54060         * tests/test-mbscasecmp.c: New file.
54061
54062 2007-02-11  Bruno Haible  <bruno@clisp.org>
54063
54064         Ensure O(n) worst-case complexity of mbscasestr.
54065         * lib/mbscasestr.c: Include stdbool.h.
54066         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54067         functions.
54068         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
54069         the bookkeeping indicates that it's worth it.
54070         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
54071
54072         * modules/mbscasestr-tests: New file.
54073         * tests/test-mbscasestr1.c: New file.
54074         * tests/test-mbscasestr2.sh: New file.
54075         * tests/test-mbscasestr2.c: New file.
54076         * tests/test-mbscasestr3.sh: New file.
54077         * tests/test-mbscasestr3.c: New file.
54078         * tests/test-mbscasestr4.sh: New file.
54079         * tests/test-mbscasestr4.c: New file.
54080         * m4/locale-tr.m4: New file.
54081
54082 2007-02-11  Bruno Haible  <bruno@clisp.org>
54083
54084         Ensure O(n) worst-case complexity of mbsstr.
54085         * lib/mbsstr.c: Include stdbool.h.
54086         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54087         functions.
54088         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
54089         bookkeeping indicates that it's worth it.
54090         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
54091
54092         * modules/mbsstr-tests: New file.
54093         * tests/test-mbsstr1.c: New file.
54094         * tests/test-mbsstr2.sh: New file.
54095         * tests/test-mbsstr2.c: New file.
54096         * tests/test-mbsstr3.sh: New file.
54097         * tests/test-mbsstr3.c: New file.
54098         * m4/locale-fr.m4: New file.
54099
54100 2007-02-11  Bruno Haible  <bruno@clisp.org>
54101
54102         * lib/mbsrchr.c (mbsrchr): Fix bug.
54103
54104         * modules/mbsrchr-tests: New file.
54105         * tests/test-mbsrchr.sh: New file.
54106         * tests/test-mbsrchr.c: New file.
54107
54108 2007-02-11  Bruno Haible  <bruno@clisp.org>
54109
54110         * lib/mbschr.c (mbschr): Fix bug.
54111
54112         * modules/mbschr-tests: New file.
54113         * tests/test-mbschr.sh: New file.
54114         * tests/test-mbschr.c: New file.
54115         * m4/locale-zh.m4: New file.
54116
54117 2007-02-11  Bruno Haible  <bruno@clisp.org>
54118
54119         Support for copying multibyte string iterators.
54120         * lib/mbiter.h: Include <string.h>.
54121         (mbiter_multi_copy): New function.
54122         (mbi_copy): New macro.
54123         * lib/mbuiter.h: Include <string.h>.
54124         (mbuiter_multi_copy): New function.
54125         (mbui_copy): New macro.
54126
54127 2007-02-11  Bruno Haible  <bruno@clisp.org>
54128
54129         New module mbslen.
54130         * modules/mbslen: New file.
54131         * lib/mbslen.c: New file.
54132         * lib/string_.h (mbslen): New declaration.
54133         * m4/mbslen.m4: New file.
54134         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54135         GNULIB_MBSLEN.
54136         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
54137         * MODULES.html.sh (Internationalization functions): Add mbslen.
54138
54139 2007-02-11  Bruno Haible  <bruno@clisp.org>
54140
54141         Ensure O(n) worst-case complexity of strcasestr substitute.
54142         * lib/strcasestr.c: Include stdbool.h.
54143         (knuth_morris_pratt): New function.
54144         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54145         bookkeeping indicates that it's worth it.
54146         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
54147
54148         * modules/strcasestr-tests: New file.
54149         * tests/test-strcasestr.c: New file.
54150
54151 2007-02-11  Bruno Haible  <bruno@clisp.org>
54152
54153         Ensure O(n) worst-case complexity of c_strcasestr.
54154         * lib/c-strcasestr.c: Include stdbool.h, string.h.
54155         (knuth_morris_pratt): New function.
54156         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
54157         the bookkeeping indicates that it's worth it.
54158         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
54159
54160         * modules/c-strcasestr-tests: New file.
54161         * tests/test-c-strcasestr.c: New file.
54162
54163 2007-02-11  Bruno Haible  <bruno@clisp.org>
54164
54165         Ensure O(n) worst-case complexity of c_strstr.
54166         * lib/c-strstr.c: Include stdbool.h, string.h.
54167         (knuth_morris_pratt): New function.
54168         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54169         bookkeeping indicates that it's worth it.
54170         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
54171
54172         * lib/c-strstr.c: Complete rewrite for maintainability.
54173
54174         * modules/c-strstr-tests: New file.
54175         * tests/test-c-strstr.c: New file.
54176
54177 2007-02-11  Bruno Haible  <bruno@clisp.org>
54178
54179         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
54180         5.2.1 and earlier, whereby \055 was treated just like the range
54181         delimiter '-'.
54182         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54183
54184 2007-02-08  Bruno Haible  <bruno@clisp.org>
54185
54186         * modules/regex (Depends-on): Add stdbool.
54187         Reported by Dalibor Topic <robilad@kaffe.org>.
54188
54189 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54190
54191         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
54192         Prefer returning from main to exiting from it.
54193         Remove unnecessary parens after sizeof.
54194
54195 2007-02-05  Bruno Haible  <bruno@clisp.org>
54196
54197         New module mbssep.
54198         * modules/mbssep: New file.
54199         * lib/mbssep.c: New file.
54200         * lib/string_.h (strsep): Add a conditional link warning.
54201         (mbssep): New declaration.
54202         * m4/mbssep.m4: New file.
54203         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54204         GNULIB_MBSSEP.
54205         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
54206         * MODULES.html.sh (Internationalization functions): Add mbssep.
54207
54208 2007-02-05  Bruno Haible  <bruno@clisp.org>
54209
54210         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
54211         Optimize search in case of 1 delimiter.
54212
54213 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54214
54215         * lib/acl.h: Include sys/types.h before sys/acl.h.
54216
54217 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54218
54219         Merge upstream fix for glibc bugzilla #3957:
54220
54221         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
54222
54223         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
54224         bit for RE_HAT_LISTS_NOT_NEWLINE.
54225         (build_charclass_op): Remove bogus comment.
54226
54227 2007-02-05  Simon Josefsson  <simon@josefsson.org>
54228
54229         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
54230
54231 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54232
54233         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
54234         * lib/memmem.c [!defined _LIBC]: Include config.h.
54235
54236 2007-02-04  Bruno Haible  <bruno@clisp.org>
54237
54238         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
54239         warning message.
54240
54241 2007-02-04  Bruno Haible  <bruno@clisp.org>
54242
54243         New module mbstok_r.
54244         * modules/mbstok_r: New file.
54245         * lib/mbstok_r.c: New file.
54246         * lib/string_.h (strtok_r): Change argument names to match the
54247         comments. Add a conditional link warning.
54248         (mbstok_r): New declaration.
54249         * m4/mbstok_r.m4: New file.
54250         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54251         GNULIB_MBSTOK_R.
54252         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
54253         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
54254
54255 2007-02-04  Bruno Haible  <bruno@clisp.org>
54256
54257         New module mbsspn.
54258         * modules/mbsspn: New file.
54259         * lib/mbsspn.c: New file.
54260         * lib/string_.h (strspn): Add a conditional link warning.
54261         (mbsspn): New declaration.
54262         * m4/mbsspn.m4: New file.
54263         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54264         GNULIB_MBSSPN.
54265         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
54266         * MODULES.html.sh (Internationalization functions): Add mbsspn.
54267
54268 2007-02-04  Bruno Haible  <bruno@clisp.org>
54269
54270         New module mbspbrk.
54271         * modules/mbspbrk: New file.
54272         * lib/mbspbrk.c: New file.
54273         * lib/string_.h (strpbrk): Add a conditional link warning.
54274         (mbspbrk): New declaration.
54275         * m4/mbspbrk.m4: New file.
54276         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54277         GNULIB_MBSPBRK.
54278         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
54279         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
54280
54281 2007-02-04  Bruno Haible  <bruno@clisp.org>
54282
54283         New module mbscspn.
54284         * modules/mbscspn: New file.
54285         * lib/mbscspn.c: New file.
54286         * lib/string_.h (strcspn): Add a conditional link warning.
54287         (mbscspn): New declaration.
54288         * m4/mbscspn.m4: New file.
54289         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54290         GNULIB_MBSCSPN.
54291         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
54292         * MODULES.html.sh (Internationalization functions): Add mbscspn.
54293
54294 2007-02-04  Bruno Haible  <bruno@clisp.org>
54295
54296         New module mbscasestr, reduced goal of strcasestr.
54297         * modules/mbscasestr: New file.
54298         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
54299         (mbscasestr): Renamed from strcasestr.
54300         * lib/strcasestr.c: Don't include mbuiter.h.
54301         (strcasestr): Remove support for multibyte locales.
54302         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
54303         Change the conditional link warning.
54304         (mbscasestr): New declaration.
54305         * m4/mbscasestr.m4: New file.
54306         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
54307         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
54308         REPLACE_STRCASESTR.
54309         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
54310         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54311         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54312         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
54313         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
54314         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54315         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
54316         (Depends-on): Remove mbuiter.
54317         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
54318
54319 2007-02-04  Bruno Haible  <bruno@clisp.org>
54320
54321         Simplify handling of strncasecmp.
54322         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
54323         the conditional link warning.
54324         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54325         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
54326         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
54327         * modules/strcase (configure.ac): Don't invoke
54328         gl_STRING_MODULE_INDICATOR.
54329         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
54330
54331 2007-02-04  Bruno Haible  <bruno@clisp.org>
54332
54333         New module mbscasecmp, reduced goal of strcasecmp.
54334         * modules/mbscasecmp: New file.
54335         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
54336         (mbscasecmp): Renamed from strcasecmp.
54337         * lib/strcasecmp.c: Don't include mbuiter.h.
54338         (strcasecmp): Remove support for multibyte locales.
54339         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
54340         Change the conditional link warning.
54341         (mbscasecmp): New declaration.
54342         * m4/mbscasecmp.m4: New file.
54343         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
54344         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
54345         REPLACE_STRCASECMP.
54346         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
54347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54348         GNULIB_MBSCASECMP.
54349         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
54350         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
54351         * modules/strcase (Files): Remove m4/mbrtowc.m4.
54352         (Depends-on): Remove mbuiter.
54353         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
54354
54355 2007-02-04  Bruno Haible  <bruno@clisp.org>
54356
54357         New module mbsstr. Remove module strstr.
54358         * modules/mbsstr: New file.
54359         * modules/strstr: Remove file.
54360         * lib/mbsstr.c: Renamed from lib/strstr.c.
54361         (mbsstr): Renamed from strstr.
54362         * lib/string_.h (strstr): Remove declaration. Change the conditional
54363         link warning.
54364         (mbsstr): New declaration.
54365         * m4/mbsstr.m4: New file.
54366         * m4/strstr.m4: Remove file.
54367         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
54368         REPLACE_STRSTR.
54369         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
54370         Don't initialize GNULIB_STRSTR.
54371         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
54372         substitute GNULIB_STRSTR and REPLACE_STRSTR.
54373         * MODULES.html.sh (Internationalization functions): Add mbsstr.
54374         (Support for systems lacking ANSI C 89): Remove strstr.
54375
54376 2007-02-04  Bruno Haible  <bruno@clisp.org>
54377
54378         New module mbsrchr.
54379         * modules/mbsrchr: New file.
54380         * lib/mbsrchr.c: New file.
54381         * lib/string_.h (strrchr): Add a conditional link warning.
54382         (mbsrchr): New declaration.
54383         * m4/mbsrchr.m4: New file.
54384         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54385         GNULIB_MBSRCHR.
54386         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
54387         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
54388
54389 2007-02-04  Bruno Haible  <bruno@clisp.org>
54390
54391         New module mbschr.
54392         * modules/mbschr: New file.
54393         * lib/mbschr.c: New file.
54394         * lib/string_.h (strchr): Add a conditional link warning.
54395         (mbschr): New declaration.
54396         * m4/mbschr.m4: New file.
54397         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54398         GNULIB_MBSCHR.
54399         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
54400         * MODULES.html.sh (Internationalization functions): Add mbschr.
54401
54402 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54403
54404         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
54405
54406         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
54407
54408 2007-02-04  Bruno Haible  <bruno@clisp.org>
54409
54410         New module description section 'configure.ac-early'.
54411         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
54412         (func_get_autoconf_early_snippet): New function.
54413         (func_import, func_create_testdir): Use it. Remove special cases for
54414         modules 'extensions' and 'lock'.
54415         * modules/extensions (configure.ac-early): Require
54416         gl_USE_SYSTEM_EXTENSIONS.
54417         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
54418
54419 2007-02-04  Bruno Haible  <bruno@clisp.org>
54420
54421         Make use of gcj-4.3's -fsource and -ftarget option.
54422         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
54423         and if so try the options -fsource and -ftarget.
54424         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
54425         source_version, ftarget_option, target_version arguments.
54426         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
54427         (is_envjavac_oldgcj_14_14_usable): Renamed from
54428         is_envjavac_gcj_14_14_usable.
54429         (is_envjavac_oldgcj_14_13_usable): Renamed from
54430         is_envjavac_gcj_14_13_usable.
54431         (is_gcj_present): Update.
54432         (is_gcj_43, is_gcj43_usable): New functions.
54433         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
54434         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
54435         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
54436         try the options -fsource and -ftarget.
54437
54438 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54439
54440         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
54441         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
54442         larger value.
54443
54444 2007-02-03  Jim Meyering  <jim@meyering.net>
54445
54446         Give tools a better chance to allocate space for very large buffers.
54447         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
54448
54449         Make pwd and readlink work also when run with an unreadable parent dir
54450         on systems with openat support.
54451         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
54452         provided getcwd function, even when we have openat support.
54453         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
54454
54455 2007-02-02  Bruno Haible  <bruno@clisp.org>
54456
54457         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54458         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
54459         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
54460         portability problems if one of these functions is only used on specific
54461         platforms.
54462         Reported by Paul Eggert.
54463
54464 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
54465
54466         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
54467         is causing more trouble than it's curing.
54468         * lib/regex_internal.h (__mempcpy): Remove.
54469         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
54470         (and make the code a tad smaller to boot).
54471         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
54472
54473 2007-02-02  Jim Meyering  <jim@meyering.net>
54474
54475         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
54476         section, not in the Makefile.am: one.
54477
54478 2007-02-02  Eric Blake  <ebb9@byu.net>
54479
54480         * lib/strchrnul.c: Always include config.h first.
54481
54482         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
54483         gnulib strstr is not necessary here.
54484
54485 2007-02-02  Simon Josefsson  <simon@josefsson.org>
54486
54487         * m4/socklen.m4: Fix typo.
54488
54489 2007-02-02  Eric Blake  <ebb9@byu.net>
54490
54491         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
54492         * modules/netinet_in (Makefile.am): Likewise.
54493
54494 2007-02-01  Bruno Haible  <bruno@clisp.org>
54495
54496         * lib/string_.h (GL_LINK_WARNING): New macro.
54497         (strcasecmp, strstr, strcasestr): If provided by the system,
54498         conditionally define as a macro that leads to a warning instead of to
54499         an error.
54500         (strncasecmp): Conditionally define as a macro that leads to a warning.
54501
54502 2007-02-01  Karl Berry  <karl@gnu.org>
54503
54504         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
54505
54506 2007-02-01  Bruno Haible  <bruno@clisp.org>
54507
54508         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
54509         renamings.
54510
54511 2007-02-01  Eric Blake  <ebb9@byu.net>
54512
54513         * modules/regex (Depends-on): Revert dependence on mempcpy.
54514         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
54515         module's definition of mempcpy.
54516         Reported by Paul Eggert.
54517
54518 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54519
54520         * lib/string_.h: If the gnulib module XYZ is not present, undefine
54521         the symbol XYZ before redefining it.  This fixes a problem with
54522         programs that don't use XYZ, when compiled on systems that define
54523         XYZ to something else.
54524
54525 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
54526
54527         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
54528         occurs when "mkdir -m foo" creates a setgid directory that is (1)
54529         writeable to group or other and (2) is intended to have a special
54530         mode bit that is set or cleared.  In such a case, the directory
54531         should be neither group- nor other-writeable until the special
54532         mode bits are right.
54533
54534 2007-01-31  Eric Blake  <ebb9@byu.net>
54535
54536         * modules/mountlist (Depends-on): Add strstr.
54537
54538         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
54539         bug.
54540         * modules/string (Makefile.am): Remove redundant replacement.
54541         * modules/regex (Depends-on): Add mempcpy.
54542
54543 2007-01-31  Bruno Haible  <bruno@clisp.org>
54544
54545         New module description field 'Link'.
54546         * gnulib-tool (func_usage): Document --extract-link-directive.
54547         (sed_extract_prog): Recognize 'Link' directive.
54548         (func_get_link_directive): New function.
54549         (func_import): Show summary of link directives.
54550         Handle --extract-link-directive option.
54551         * modules/acl (Link): New section.
54552         * modules/clock-time (Link): New section.
54553         * modules/euidaccess (Link): New section.
54554         * modules/gettext (Link): New section.
54555         * modules/iconv (Link): New section.
54556         * modules/lock (Link): New section.
54557         * modules/nanosleep (Link): New section.
54558         * modules/readline (Link): New section.
54559
54560 2007-01-27  Bruno Haible  <bruno@clisp.org>
54561
54562         Enforce the use of gnulib modules for unportable <string.h> functions.
54563         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
54564         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
54565         (gl_HEADER_STRING_H_BODY): Require it.
54566         * lib/string_.h: If the gnulib module XYZ is not present, redefine
54567         the symbol XYZ to one that gives a link error.
54568         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
54569         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
54570         * modules/mempcpy (configure.ac): Likewise.
54571         * modules/memrchr (configure.ac): Likewise.
54572         * modules/stpcpy (configure.ac): Likewise.
54573         * modules/stpncpy (configure.ac): Likewise.
54574         * modules/strcase (configure.ac): Likewise.
54575         * modules/strcasestr (configure.ac): Likewise.
54576         * modules/strchrnul (configure.ac): Likewise.
54577         * modules/strdup (configure.ac): Likewise.
54578         * modules/strndup (configure.ac): Likewise.
54579         * modules/strnlen (configure.ac): Likewise.
54580         * modules/strpbrk (configure.ac): Likewise.
54581         * modules/strsep (configure.ac): Likewise.
54582         * modules/strstr (configure.ac): Likewise.
54583         * modules/strtok_r (configure.ac): Likewise.
54584
54585 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
54586
54587         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
54588
54589 2007-01-30  Jim Meyering  <jim@meyering.net>
54590
54591         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
54592
54593 2007-01-29  Bruno Haible  <bruno@clisp.org>
54594
54595         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
54596         * lib/execute.c: Likewise.
54597         * lib/pipe.c: Likewise.
54598         * lib/printf-args.h: Likewise.
54599         * lib/printf-args.c: Likewise.
54600         * lib/printf-parse.c: Likewise.
54601         * lib/vasnprintf.c: Likewise.
54602
54603 2007-01-29  Eric Blake  <ebb9@byu.net>
54604
54605         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54606         declaration.
54607
54608 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54609
54610         * lib/strptime.h (strptime): Use 'restrict' for args where
54611         POSIX requires this.
54612         * lib/strptime.c (strptime): Likewise.
54613         Change license notice from LGPL to GPL, since gnulib-tool will
54614         change this as needed.
54615         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54616         defined.
54617         Include "strptime.h" first, to check interface.
54618         Do not #undef _LIBC and _NL_CURRENT.
54619         Do not include <stdlib.h>; no longer needed.
54620         Include "time_r.h" and declare ptime_locale_status
54621         only if _LIBC is not defined.
54622         (__P): Remove unused macro.
54623         (match_string): Bring back glibc version, but use it only if _LIBC
54624         is defined.
54625         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54626         Remove unnecessary assertion and abort() call.
54627         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54628         * m4/strptime.m4: Fix serial number comment.
54629         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
54630         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
54631         (Depends-on): Add time_r.
54632
54633 2007-01-29  Bruno Haible  <bruno@clisp.org>
54634
54635         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54636         strptime.
54637         * modules/strptime (Depends-on): Add stdbool.
54638         * lib/strptime.h: Include <time.h> always. Add comments.
54639
54640 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54641
54642         * modules/strptime: New file.
54643         * lib/strptime.h: New file.
54644         * lib/strptime.c: New file.
54645         * m4/strptime.m4: New file.
54646
54647 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54648
54649         * MODULES.html.sh: New module mpsort.
54650         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
54651
54652         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
54653         a circularity problem with HP-UX ia64 reported by Bob Proulx in
54654         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
54655         All uses changed.
54656         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
54657         All uses changed.
54658         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
54659         to _Restrict_.
54660         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
54661         the parameter matches the prototype.
54662
54663 2007-01-28  Jim Meyering  <jim@meyering.net>
54664
54665         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
54666         sys/time.h here, reverting that part of the previous patch:
54667         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
54668
54669 2007-01-28  Bruno Haible  <bruno@clisp.org>
54670
54671         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
54672         value of $(SYS_TIME_H).
54673         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
54674         remove it conditionally, too. [added by Jim Meyering]
54675         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
54676         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54677         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
54678         GETTIMEOFDAY_REPLACEMENT to 1.
54679
54680 2007-01-28  Bruno Haible  <bruno@clisp.org>
54681
54682         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
54683         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
54684         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
54685         Set UNISTD_H instead of UNISTD_H2.
54686         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
54687
54688 2007-01-28  Bruno Haible  <bruno@clisp.org>
54689
54690         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
54691         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
54692
54693 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54694
54695         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
54696         (func_create_testdir): Ensure C locale for `grep' and `tr'
54697         character ranges.
54698         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
54699         ACLOCAL_AMFLAGS parsing state machine.
54700
54701 2007-01-27  Bruno Haible  <bruno@clisp.org>
54702
54703         * modules/unistr/base: Update.
54704
54705 2007-01-27  Bruno Haible  <bruno@clisp.org>
54706
54707         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
54708         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
54709         * modules/unistr/u32-mbtouc-unsafe: Renamed from
54710         modules/unistr/u32-mbtouc.
54711         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
54712         * lib/unistr.h: Update.
54713         * lib/linebreak.c: Update.
54714         * modules/unistr/u32-mbtouc: Renamed from
54715         modules/unistr/u32-mbtouc-safe.
54716         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
54717         * lib/unistr.h: Update.
54718         * lib/unistr/u32-to-u8.c: Update.
54719         * lib/unistr/u32-to-u16.c: Update.
54720
54721 2007-01-27  Bruno Haible  <bruno@clisp.org>
54722
54723         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
54724         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
54725         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
54726         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
54727         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
54728         * modules/unistr/u16-mbtouc-unsafe: Renamed from
54729         modules/unistr/u16-mbtouc.
54730         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
54731         * lib/unistr.h: Update.
54732         * lib/linebreak.c: Update.
54733         * modules/linebreak: Update.
54734         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
54735         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
54736         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
54737         * modules/unistr/u16-mbtouc: Renamed from
54738         modules/unistr/u16-mbtouc-safe.
54739         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
54740         * lib/unistr.h: Update.
54741         * lib/unistr/u16-to-u8.c: Update.
54742         * modules/unistr/u16-to-u8: Update.
54743         * lib/unistr/u16-to-u32.c: Update.
54744         * modules/unistr/u16-to-u32: Update.
54745
54746 2007-01-27  Bruno Haible  <bruno@clisp.org>
54747
54748         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
54749         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
54750         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
54751         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
54752         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
54753         * modules/unistr/u8-mbtouc-unsafe: Renamed from
54754         modules/unistr/u8-mbtouc.
54755         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
54756         * lib/unistr.h: Update.
54757         * lib/striconveh.c: Update.
54758         * modules/striconveh: Update.
54759         * lib/linebreak.c: Update.
54760         * modules/linebreak: Update.
54761         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
54762         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
54763         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
54764         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
54765         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
54766         * lib/unistr.h: Update.
54767         * lib/striconveh.c: Update.
54768         * modules/striconveh: Update.
54769         * lib/unistr/u8-to-u16.c: Update.
54770         * modules/unistr/u8-to-u16: Update.
54771         * lib/unistr/u8-to-u32.c: Update.
54772         * modules/unistr/u8-to-u32: Update.
54773
54774 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54775
54776         Sync from Libtool.
54777         * lib/argz.c: Do not include strings.h nor memory.h, include
54778         string.h unconditionally.  Patch by Simon Josefsson.
54779
54780 2007-01-27  Bruno Haible  <bruno@clisp.org>
54781
54782         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
54783         from gl_HEADER_STRING_H_BODY.
54784         (gl_HEADER_STRING_H_BODY): Require it.
54785         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
54786         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54787         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54788         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54789         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54790         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
54791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54792         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54793         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
54794         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54795         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54796         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
54797         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54798         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54799         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54800
54801 2007-01-27  Bruno Haible  <bruno@clisp.org>
54802
54803         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
54804         check_PROGRAMS into noinst_PROGRAMS.
54805         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
54806         check_PROGRAMS in this case.
54807         (func_import): Set for_test to false.
54808         (func_create_testdir): Set for_test to true.
54809
54810 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54811             Bruno Haible  <bruno@clisp.org>
54812
54813         * modules/strcasestr (Files): Remove lib/strcasestr.h.
54814         (Depends-on): Add string.
54815         (Includes): Use <string.h> instead of strcasestr.h.
54816         * modules/string (Makefile.am): Also substitute the value of
54817         REPLACE_STRCASESTR.
54818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
54819         assume strcasestr is declared in <string.h> not <strings.h>. Also
54820         set REPLACE_STRCASESTR.
54821         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
54822         REPLACE_STRCASESTR.
54823         * lib/strcasestr.h: Remove file.
54824         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
54825         * lib/string_.h (strcasestr): New declaration.
54826
54827 2007-01-27  Bruno Haible  <bruno@clisp.org>
54828
54829         * lib/string_.h: Use 'extern'.
54830
54831 2007-01-27  Jim Meyering  <jim@meyering.net>
54832
54833         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
54834         of set-but-not-used local, "q".
54835
54836         * lib/mempcpy.c: Include <config.h> before <string.h>.
54837         This fixes a compilation error on HP-UX, due to the system's
54838         "restrict"-using mempcpy prototype.
54839
54840 2007-01-26  Bruno Haible  <bruno@clisp.org>
54841
54842         Small optimization.
54843         * lib/javacomp.c: Include c-strstr.h.
54844          (is_envjavac_gcj): Use c_strstr instead of strstr.
54845         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
54846
54847 2007-01-26  Bruno Haible  <bruno@clisp.org>
54848
54849         * MODULES.html.sh (Unicode string functions): Add the new modules.
54850
54851         * modules/uniconv/u32-strconv-to-locale: New file.
54852         * lib/uniconv/u32-strconv-to-locale.c: New file.
54853
54854         * modules/uniconv/u16-strconv-to-locale: New file.
54855         * lib/uniconv/u16-strconv-to-locale.c: New file.
54856
54857         * modules/uniconv/u8-strconv-to-locale: New file.
54858         * lib/uniconv/u8-strconv-to-locale.c: New file.
54859
54860         * modules/uniconv/u32-strconv-from-locale: New file.
54861         * lib/uniconv/u32-strconv-from-locale.c: New file.
54862
54863         * modules/uniconv/u16-strconv-from-locale: New file.
54864         * lib/uniconv/u16-strconv-from-locale.c: New file.
54865
54866         * modules/uniconv/u8-strconv-from-locale: New file.
54867         * lib/uniconv/u8-strconv-from-locale.c: New file.
54868
54869         * modules/uniconv/u32-strconv-to-enc: New file.
54870         * lib/uniconv/u32-strconv-to-enc.c: New file.
54871         * modules/uniconv/u32-strconv-to-enc-tests: New file.
54872         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
54873
54874         * modules/uniconv/u16-strconv-to-enc: New file.
54875         * lib/uniconv/u16-strconv-to-enc.c: New file.
54876         * lib/uniconv/u-strconv-to-enc.h: New file.
54877         * modules/uniconv/u16-strconv-to-enc-tests: New file.
54878         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
54879
54880         * modules/uniconv/u8-strconv-to-enc: New file.
54881         * lib/uniconv/u8-strconv-to-enc.c: New file.
54882         * modules/uniconv/u8-strconv-to-enc-tests: New file.
54883         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
54884
54885         * modules/uniconv/u32-strconv-from-enc: New file.
54886         * lib/uniconv/u32-strconv-from-enc.c: New file.
54887         * modules/uniconv/u32-strconv-from-enc-tests: New file.
54888         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
54889
54890         * modules/uniconv/u16-strconv-from-enc: New file.
54891         * lib/uniconv/u16-strconv-from-enc.c: New file.
54892         * modules/uniconv/u16-strconv-from-enc-tests: New file.
54893         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
54894
54895         * modules/uniconv/u8-strconv-from-enc: New file.
54896         * lib/uniconv/u8-strconv-from-enc.c: New file.
54897         * lib/uniconv/u-strconv-from-enc.h: New file.
54898         * modules/uniconv/u8-strconv-from-enc-tests: New file.
54899         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
54900
54901         * modules/uniconv/u32-conv-from-enc: New file.
54902         * lib/uniconv/u32-conv-from-enc.c: New file.
54903         * modules/uniconv/u32-conv-from-enc-tests: New file.
54904         * tests/uniconv/test-u32-conv-from-enc.c: New file.
54905
54906         * modules/uniconv/u16-conv-from-enc: New file.
54907         * lib/uniconv/u16-conv-from-enc.c: New file.
54908         * lib/uniconv/u-conv-from-enc.h: New file.
54909         * modules/uniconv/u16-conv-from-enc-tests: New file.
54910         * tests/uniconv/test-u16-conv-from-enc.c: New file.
54911
54912         * modules/uniconv/u8-conv-from-enc: New file.
54913         * lib/uniconv/u8-conv-from-enc.c: New file.
54914         * modules/uniconv/u8-conv-from-enc-tests: New file.
54915         * tests/uniconv/test-u8-conv-from-enc.c: New file.
54916
54917         * modules/uniconv/base: New file.
54918         * lib/uniconv.h: New file.
54919
54920 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54921
54922         * doc/gnulib-tool.texi (Initial import): Update to match current
54923         behavior with strdup module.
54924         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
54925         * lib/memmem.h: Remove; all uses removed.  This is now done
54926         by <string.h>.
54927         * lib/mempcpy.h: Likewise.
54928         * lib/memrchr.h: Likewise.
54929         * lib/stpcpy.h: Likewise.
54930         * lib/stpncpy.h: Likewise.
54931         * lib/strcase.h: Likewise.
54932         * lib/strchrnul.h: Likewise.
54933         * lib/strdup.h: Likewise.
54934         * lib/strndup.h: Likewise.
54935         * lib/strnlen.h: Likewise.
54936         * lib/strpbrk.h: Likewise.
54937         * lib/strsep.h: Likewise.
54938         * lib/strstr.h: Likewise.
54939         * lib/strtok_r.h: Likewise.
54940         * lib/string_.h: New file.
54941         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
54942         Rely on <string.h> instead.
54943         * lib/canon-host.c: Likewise.
54944         * lib/chdir-long.c: Likewise.
54945         * lib/concatpath.c: Likewise.
54946         * lib/exclude.c: Likewise.
54947         * lib/fchdir.c: Likewise.
54948         * lib/getaddrinfo.c: Likewise.
54949         * lib/getcwd.c: Likewise.
54950         * lib/getsubopt.c: Likewise.
54951         * lib/glob.c: Likewise.
54952         * lib/hard-locale.c: Likewise.
54953         * lib/iconvme.c: Likewise.
54954         * lib/javacomp.c: Likewise.
54955         * lib/mempcpy.c: Likewise.
54956         * lib/memrchr.c: Likewise.
54957         * lib/regex_internal.h: Likewise.
54958         * lib/stpncpy.c: Likewise.
54959         * lib/strcasecmp.c: Likewise.
54960         * lib/strchrnul.c: Likewise.
54961         * lib/strdup.c: Likewise.
54962         * lib/striconv.c: Likewise.
54963         * lib/striconveh.c: Likewise.
54964         * lib/striconveha.c: Likewise.
54965         * lib/strncasecmp.c: Likewise.
54966         * lib/strndup.c: Likewise.
54967         * lib/strnlen.c: Likewise.
54968         * lib/strsep.c: Likewise.
54969         * lib/strstr.c: Likewise.
54970         * lib/strtok_r.c: Likewise.
54971         * lib/userspec.c: Likewise.
54972         * lib/w32spawn.h: Likewise.
54973         * lib/xstrndup.c: Likewise.
54974         * lib/mountlist.c (strstr): Remove decl.
54975         * m4/string_h.m4: New file.
54976         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
54977         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
54978         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
54979         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
54980         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
54981         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
54982         Set REPLACE_STRCASECMP if necessary.
54983         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
54984         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
54985         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
54986         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
54987         HAVE_DECL_STRDUP if necessary.
54988         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
54989         since gl_FUNC_STRNDUP does that now.
54990         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
54991         Check for decl here...
54992         (gl_PREREQ_STRNLEN): ... not here.
54993         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
54994         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
54995         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
54996         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
54997         necessary.
54998         * modules/string: New file.
54999         * modules/memmem (Files): Remove special-purpose include file.
55000         (Depends-on): Add string.
55001         (Include): Include <string.h>, not the removed file.
55002         * modules/mempcpy: Likewise.
55003         * modules/memrchr: Likewise.
55004         * modules/stpcpy: Likewise.
55005         * modules/stpncpy: Likewise.
55006         * modules/strcase: Likewise.
55007         * modules/strchrnul: Likewise.
55008         * modules/strdup: Likewise.
55009         * modules/strndup: Likewise.
55010         * modules/strnlen: Likewise.
55011         * modules/strpbrk: Likewise.
55012         * modules/strsep: Likewise.
55013         * modules/strstr: Likewise.
55014         * modules/strtok_r: Likewise.
55015         * tests/test-dirname.c: Don't include "strdup.h", since
55016         <string.h> now suffices.
55017         * tests/test-memmem.c: Don't include "memmem.h", since
55018         <string.h> now suffices.
55019
55020 2007-01-25  Bruno Haible  <bruno@clisp.org>
55021
55022         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
55023         *resultp is 0.
55024
55025         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
55026         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
55027         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
55028         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
55029
55030         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
55031         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
55032         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
55033         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
55034         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
55035         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
55036
55037 2007-01-24  Bruno Haible  <bruno@clisp.org>
55038
55039         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
55040         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
55041         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
55042         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
55043         gl_FUNC_FTS_CORE.
55044         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
55045         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
55046         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55047         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
55048         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
55049         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
55050         gl_FUNC_FCHOWNAT.
55051         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
55052         gl_FUNC_STRFTIME.
55053         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
55054         Reported by Ralf Wildenhues.
55055
55056 2007-01-24  Bruno Haible  <bruno@clisp.org>
55057
55058         Drop AC_REQUIRE calls that are redundant with the module dependencies.
55059         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
55060         gl_GETADDRINFO.
55061         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
55062         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
55063         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
55064
55065 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
55066
55067         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
55068         Don't use 'exit'; just return from 'main'.
55069         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
55070
55071         * lib/fnmatch_.h: Readjust white space and comments to match
55072         glibc, to avoid spurious diffs.
55073
55074 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55075
55076         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
55077         2004-12-01 change by Jakub Jelinek, since this code won't compile
55078         if !LIBC.  Problem reported by Bob Proulx.
55079
55080 2007-01-23  Bruno Haible  <bruno@clisp.org>
55081
55082         * lib/striconveh.c: Include c-strcaseeq.h.
55083         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
55084         * modules/striconveh (Depends-on): Add c-strcaseeq.
55085
55086 2007-01-23  Bruno Haible  <bruno@clisp.org>
55087
55088         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
55089
55090         * modules/c-strcaseeq: New file.
55091         * lib/c-strcaseeq.h: New file.
55092
55093         * modules/streq: New file.
55094         * lib/streq.h: New file.
55095
55096 2007-01-23  Bruno Haible  <bruno@clisp.org>
55097
55098         * modules/striconveha-tests: New file.
55099         * tests/test-striconveha.c: New file.
55100
55101         * lib/striconveha.h: Include <stdbool.h>.
55102         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
55103         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
55104         (mem_iconveha_notranslit): Renamed from mem_iconveha.
55105         (mem_iconveha): New function.
55106         (str_iconveha_notranslit): Renamed from str_iconveha.
55107         (str_iconveha): New function.
55108         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
55109         c-strcase.
55110
55111 2007-01-23  Bruno Haible  <bruno@clisp.org>
55112
55113         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
55114         encodings without forgiving before trying any encoding with handler.
55115         (str_iconveha): Try all encodings without forgiving before trying any
55116         encoding with handler.
55117
55118 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55119
55120         Import the following changes from libc.
55121
55122         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55123
55124         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
55125
55126         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55127
55128         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
55129         normal_bracket label.
55130
55131         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
55132
55133         [BZ #361]
55134         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
55135         to normal_bracket after fetching the next character.
55136
55137 2007-01-22  Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
55140         argument.
55141         * lib/striconveh.c (iconv_carefully_1): New function.
55142         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
55143         argument.
55144         (str_cd_iconveh): Update.
55145         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
55146         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
55147         * tests/test-striconveh.c (MAGIC): New macro.
55148         (new_offsets): New function.
55149         (main): Test call with and without offsets.
55150
55151 2007-01-22  Bruno Haible  <bruno@clisp.org>
55152
55153         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
55154         * modules/sys_select (Makefile.am): Likewise.
55155         * modules/sys_socket (Makefile.am): Likewise.
55156         * modules/sys_time (Makefile.am): Likewise.
55157
55158 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55159
55160         * modules/gettimeofday (License): Change from GPL to LGPL, since
55161         gettimeofday is a library function.
55162
55163 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55164
55165         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
55166
55167 2007-01-21  Bruno Haible  <bruno@clisp.org>
55168
55169         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
55170
55171 2007-01-21  Bruno Haible  <bruno@clisp.org>
55172
55173         * modules/striconveha: New file.
55174         * lib/striconveha.h: New file.
55175         * lib/striconveha.c: New file.
55176         * MODULES.html.sh (Internationalization functions): Add striconveha.
55177         * lib/striconv.c (str_iconv): Optimize the case of an empty input
55178         string.
55179         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
55180
55181 2007-01-21  Bruno Haible  <bruno@clisp.org>
55182
55183         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
55184         * lib/striconveh.c (str_iconveh): Likewise.
55185
55186 2007-01-21  Bruno Haible  <bruno@clisp.org>
55187
55188         * lib/striconveh.h (mem_iconveh): New declaration.
55189         * lib/striconveh.c (mem_iconveh): New function.
55190         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
55191
55192 2007-01-21  Bruno Haible  <bruno@clisp.org>
55193
55194         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
55195
55196         * lib/striconveh.h (mem_cd_iconveh): Change specification.
55197         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
55198         original result buffer.
55199         (str_cd_iconveh): Update.
55200         * tests/test-striconveh.c (main): Update.
55201
55202         * lib/striconv.h (mem_cd_iconv): Change specification.
55203         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
55204         result buffer.
55205         (str_cd_iconv): Update.
55206         * tests/test-striconv.c (main): Update.
55207
55208 2007-01-21  Bruno Haible  <bruno@clisp.org>
55209
55210         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
55211
55212 2007-01-20  Jim Meyering  <jim@meyering.net>
55213
55214         * lib/userspec.c (parse_with_separator): If a user or group string
55215         starts with "+", skip the corresponding name-to-ID look-up, since
55216         such a look-up must fail: user and group names may not include "+".
55217
55218 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55219
55220         * lib/poll.c: Include sys/time.h and time.h unconditionally,
55221         since we now assume the sys_time module.
55222         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
55223         check for sys/time.h; no longer needed.
55224         * modules/poll (Depends-on): Depend on sys_time.
55225
55226 2007-01-18  Bruno Haible  <bruno@clisp.org>
55227
55228         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
55229         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55230
55231         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
55232         gettimeofday.
55233
55234         * tests/test-gettimeofday.c: Include <time.h>.
55235         (dummy): Remove variable.
55236
55237         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
55238         gl_HEADER_SYS_TIME_H.
55239         (gl_HEADER_SYS_TIME_H): New macro.
55240
55241         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
55242         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55243         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
55244         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
55245         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55246         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
55247         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
55248         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55249         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
55250         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
55251         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55252
55253         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
55254         last change; it caused a compilation error when cross-compiling to
55255         Cygwin.
55256
55257 2007-01-18  Jim Meyering  <jim@meyering.net>
55258
55259         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
55260         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
55261         than the race-prone "test -d sys || mkdir sys".
55262         (configure.ac): Use AC_PROG_MKDIR_P.
55263         * modules/sys_select: Likewise.
55264         * modules/sys_socket: Likewise.
55265         * modules/sys_time: Likewise.
55266
55267 2007-01-18  Eric Blake  <ebb9@byu.net>
55268
55269         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
55270         replace gettimeofday.
55271         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
55272         name, to avoid infinite recursion.
55273
55274 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
55275
55276         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
55277         module sys_time.
55278         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
55279         assume timespec.h defines struct timeval.
55280         * lib/settime.c: Likewise.
55281         * lib/utimens.c: Likewise.
55282         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
55283         since we now assume the gettimeofday module.
55284         * lib/tempname.c (__gen_tempname): Likewise.
55285         * lib/gettimeofday.h: Remove.
55286         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
55287         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
55288         Include <time.h>, for 'time()'.
55289         (localtime_buffer_addr): Also use this workaround if
55290         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
55291         to simplify the uses.  All uses changed.
55292         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
55293         that #undef is inside {}, and 'const' follows type name consistently.
55294         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
55295         (gettimeofday): Do not use the maximum possible value for
55296         tv->tv_usec, since that might break usages other than ls.c.
55297         Instead, we'll leave ls.c alone.  This undoes today's patch
55298         by Bruno.  Add a compile-time warning for 1s-clock resolution;
55299         we've never observed the problem but might as well keep the
55300         canary.
55301         * lib/nanosleep.c: Include timespec.h first, for interface check.
55302         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
55303         now assume the sys_time module.
55304         * lib/tempname.c: Likewise.
55305         * lib/timespec.h: Likewise.
55306         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
55307         needed.
55308         * lib/strftime.c: Likewise.
55309         * lib/timespec.h: Likewise.
55310         * lib/posixtm.c: Include posixtm.h first, for interface check.
55311         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
55312         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
55313         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
55314         * lib/sys_time_.h: New file.
55315         * lib/timespec.h (struct timespec): Use long int, not long.
55316         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55317         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
55318         Remove obsolescent call to AC_HEADER_TIME.
55319         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
55320         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55321         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55322         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
55323         Likewise.
55324         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
55325         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
55326         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
55327         into the sys_time module.  Check for gettimeofday just once.
55328         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
55329         for gettimeofday signature to just check the signature.  Merely
55330         compile it, since linking doesn't test signature.  Improve test for
55331         whether gettimeofday.o is actually needed.
55332         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
55333         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
55334         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
55335         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55336         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
55337         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
55338         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
55339         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
55340         than worrying about sys/time.h.
55341         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55342         Don't bother worrying about TIME_WITH_SYS_TIME.
55343         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
55344         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
55345         * m4/sys_time_h.m4: New file.
55346         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
55347         Don't include sys/time.h.  Return from main rather than exiting.
55348         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
55349         all uses changed.
55350         * modules/gethrxtime (Depends-on): Add sys_time.
55351         * modules/gettime (Depends-on): Likewise.
55352         * modules/gettimeofday (Depends-on): Likewise.
55353         * modules/nanosleep (Depends-on): Likewise.
55354         * modules/settime (Depends-on): Likewise.
55355         * modules/tempname (Depends-on): Likewise.
55356         * modules/utimens (Depends-on): Likewise.
55357         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
55358         (Include): Change back to <sys/time.h>.
55359         (Maintainer): Add self.
55360         * modules/sys_time: New file.
55361         * modules/tempname (Depends-on): Add gettimeofday.
55362         * tests/test-gettimeofday.c: Include <sys/time.h>
55363         rather than gettimeofday.h.
55364
55365 2007-01-17  Bruno Haible  <bruno@clisp.org>
55366
55367         * gnulib-tool (func_get_license): Revert last patch. Instead, let
55368         the license default to GPL.
55369         (func_create_testdir): Don't complain if a module is LGPL and its
55370         tests module depends on GPLed modules.
55371
55372 2007-01-17  Bruno Haible  <bruno@clisp.org>
55373
55374         * lib/gettimeofday.c (gettimeofday): Add code for the case
55375         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
55376         maximum possible value for tv->tv_usec, rather than the minimum one.
55377
55378 2005-10-08  Martin Lambers  <marlam@marlam.de>
55379 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55380 2007-01-16  Bruno Haible  <bruno@clisp.org>
55381
55382         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
55383         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
55384         gl_FUNC_GETTIMEOFDAY.
55385         (Include): Add gettimeofday.h.
55386         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
55387         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
55388         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
55389         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
55390         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
55391         * lib/gettimeofday.h: New file.
55392         * lib/gettimeofday.c: Include <sys/timeb.h>.
55393         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
55394         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55395         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
55396         fall back on time().
55397
55398         * tests/test-gettimeofday.c: New file.
55399         * modules/gettimeofday-tests: New file.
55400
55401 2007-01-16  Eric Blake  <ebb9@byu.net>
55402
55403         * modules/fnmatch (Depends-on): Depend on wchar.
55404         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
55405         * m4/fnmatch.m4: Likewise.
55406         * modules/mbchar (Makefile.am): Assume <wchar.h>.
55407         * m4/mbchar.m4: Likewise.
55408         * modules/mbswidth (Depends-on): Depend on wchar.
55409         * lib/mbswidth.c: Assume <wchar.h>.
55410         * m4/mbswidth.m4: Likewise.
55411         * modules/quotearg (Depends-on): Depend on wchar.
55412         * lib/quotearg.c: Assume <wchar.h>.
55413         * m4/quotearg.m4: Likewise.
55414         * modules/regex (Depends-on): Depend on wchar.
55415         * lib/regex_internal.h: Assume <wchar.h>.
55416         * m4/regex.m4: Likewise.
55417         * modules/stdint (Depends-on): Depend on wchar.
55418         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
55419         * m4/stdint.m4: Likewise.
55420         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
55421         * modules/strftime (Depends-on): Depend on wchar.
55422         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
55423         * modules/strtol (Depends-on): Depend on wchar.
55424         * lib/strtol.c: Assume <wchar.h>.
55425         * modules/wcwidth (Depends-on): Depend on wchar.
55426         * lib/wcwidth.h: Assume <wchar.h>.
55427         * m4/wcwidth.m4: Likewise.
55428
55429 2007-01-16  Bruno Haible  <bruno@clisp.org>
55430
55431         * modules/csharpexec-script: New, created from...
55432         * modules/csharpexec: ... this.
55433
55434 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55435
55436         * modules/javaexec-script: New, created from...
55437         * modules/javaexec: ... this.
55438
55439 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55440
55441         * modules/poll (Dependencies): Add sys_select.
55442
55443 2007-01-15  Jim Meyering  <jim@meyering.net>
55444
55445         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
55446         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
55447         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
55448         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
55449
55450 2007-01-15  Bruno Haible  <bruno@clisp.org>
55451
55452         * modules/striconveh: New file.
55453         * lib/striconveh.h: New file.
55454         * lib/striconveh.c: New file.
55455         * MODULES.html.sh (Internationalization functions): Add striconveh.
55456
55457         * modules/striconveh-tests: New file.
55458         * tests/test-striconveh.c: New file.
55459
55460 2007-01-15  Bruno Haible  <bruno@clisp.org>
55461
55462         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
55463         not from GNU libiconv or GNU libc.
55464
55465 2007-01-15  Bruno Haible  <bruno@clisp.org>
55466
55467         * doc/gnulib-intro.texi (Copyright): Explain the different license
55468         terms for module descriptions, autoconf macros, tests, documentation.
55469
55470 2007-01-14  Bruno Haible  <bruno@clisp.org>
55471
55472         * modules/striconv-tests: New file.
55473         * tests/test-striconv.c: New file.
55474
55475 2007-01-14  Bruno Haible  <bruno@clisp.org>
55476
55477         * modules/iconv-tests: New file.
55478         * tests/test-iconv.c: New file.
55479
55480 2007-01-14  Bruno Haible  <bruno@clisp.org>
55481
55482         * gnulib-tool (func_get_license): For test modules, use the license of
55483         the main module.
55484
55485 2007-01-14  Bruno Haible  <bruno@clisp.org>
55486
55487         * modules/iconv (Include): Clarify that <iconv.h> can only be included
55488         if iconv is found to exist.
55489
55490 2007-01-14  Bruno Haible  <bruno@clisp.org>
55491
55492         * modules/c-ctype-tests: New file.
55493         * tests/test-c-ctype.c: New file.
55494
55495 2007-01-14  Bruno Haible  <bruno@clisp.org>
55496
55497         * modules/binary-io-tests: New file.
55498         * tests/test-binary-io.sh: New file.
55499         * tests/test-binary-io.c: New file.
55500
55501 2007-01-14  Bruno Haible  <bruno@clisp.org>
55502
55503         * modules/array-oset-tests: New file.
55504         * tests/test-array_oset.c: New file.
55505
55506 2007-01-14  Bruno Haible  <bruno@clisp.org>
55507
55508         * modules/array-list-tests: New file.
55509         * tests/test-array_list.c: New file.
55510
55511 2007-01-14  Bruno Haible  <bruno@clisp.org>
55512
55513         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
55514         and make.
55515         Reported by Simon Josefsson in
55516         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
55517
55518 2007-01-14  Bruno Haible  <bruno@clisp.org>
55519
55520         * modules/allocsa-tests: New file.
55521         * tests/test-allocsa.c: New file.
55522
55523 2007-01-14  Bruno Haible  <bruno@clisp.org>
55524
55525         * modules/fchdir (Depends-on): Add absolute-header.
55526         * modules/unistd (Depends-on): Likewise.
55527
55528 2006-12-30  Bruno Haible  <bruno@clisp.org>
55529
55530         * modules/fchdir: New file.
55531         * modules/unistd (Files): Add lib/unistd_.h.
55532         (Makefile.am): Generate unistd.h from unistd_.h.
55533         * lib/fchdir.c: New file.
55534         * lib/dirent_.h: New file.
55535         * lib/unistd_.h: New file.
55536         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
55537         * m4/fchdir.m4: New file.
55538         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
55539         (gl_HEADER_UNISTD): Invoke it.
55540         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
55541         function.
55542         * lib/backupfile.c (opendir, closedir): Undefine.
55543         * lib/chown.c (open, close): Undefine.
55544         * lib/clean-temp.c (open, close): Undefine.
55545         * lib/copy-file.c (open, close): Undefine.
55546         * lib/execute.c (open, close): Undefine.
55547         * lib/fsusage.c (open, close): Undefine.
55548         * lib/gc-gnulib.c (open, close): Undefine.
55549         * lib/getcwd.c (opendir, closedir): Undefine.
55550         * lib/glob.c (opendir, closedir): Undefine.
55551         * lib/javacomp.c (open, close): Undefine.
55552         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
55553         * lib/openat-proc.c (open, close): Undefine.
55554         * lib/pagealign_alloc.c (open, close): Undefine.
55555         * lib/pipe.c (open, close): Undefine.
55556         * lib/progreloc.c (open, close): Undefine.
55557         * lib/savedir.c (opendir, closedir): Undefine.
55558         * lib/utime.c (open, close): Undefine.
55559         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
55560
55561 2007-01-10  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
55564
55565 2007-01-12  Eric Blake  <ebb9@byu.net>
55566
55567         Provide a robust <wchar.h>.  Further simplifications are now
55568         possible in other modules, but not included here.
55569         * modules/wchar: New module.
55570         * m4/wchar.m4: New file.
55571         * lib/wchar_.h: Likewise.
55572         * modules/mbchar (Depends-on): Depend on wchar, as the first use
55573         of the new module.
55574         * MODULES.html.sh (Extended multibyte and wide character utilities):
55575         New section.
55576
55577 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
55578
55579         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
55580         to a reasonable default for memory allocation.
55581         (xreadlink): Don't allocate a huge buffer, to work around a buggy
55582         file system that reports garbage st_size values for symlinks.
55583         Problem reported by Liyang Hu.
55584
55585 2007-01-11  Simon Josefsson  <simon@josefsson.org>
55586
55587         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
55588         Emacs .#* auto-save files).
55589
55590 2007-01-11  Bruno Haible  <bruno@clisp.org>
55591
55592         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
55593         directory.
55594
55595 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
55596
55597         Use @...@ consistently in lib/wctype_.h.
55598         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
55599         on it being set to 1 or 0.
55600         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55601         go back to AC_SUBSTing it.
55602         * modules/wctype (Makefile.am): Undo previous change.
55603
55604 2007-01-10  Eric Blake  <ebb9@byu.net>
55605
55606         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55607         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55608         * modules/wctype (Makefile.am): Likewise.
55609         Reported by Chris McGuire.
55610
55611 2007-01-10  Jim Meyering  <jim@meyering.net>
55612
55613         fts.c: a small readability/maintainability improvement
55614         * lib/fts.c (fts_read): Make this code slightly more readable and
55615         maintainable by hoisting the "sp->fts_cur = p" assignments to
55616         immediately follow the statements that set P.  Derived from
55617         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55618
55619 2007-01-10  Eric Blake  <ebb9@byu.net>
55620
55621         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55622         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55623         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55624         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55625         Reported by Chris McGuire.
55626
55627 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55628
55629         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
55630         in sed script.
55631
55632 2007-01-09  Bruno Haible  <bruno@clisp.org>
55633
55634         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
55635         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
55636         variables.
55637         (func_module): Use them.
55638
55639 2007-01-09  Bruno Haible  <bruno@clisp.org>
55640
55641         * modules/unistr/base: New file.
55642         * lib/unistr.h: New file.
55643
55644         * modules/unistr/u8-to-u16: New file.
55645         * lib/unistr/u8-to-u16.c: New file.
55646
55647         * modules/unistr/u8-to-u32: New file.
55648         * lib/unistr/u8-to-u32.c: New file.
55649
55650         * modules/unistr/u16-to-u8: New file.
55651         * lib/unistr/u16-to-u8.c: New file.
55652
55653         * modules/unistr/u16-to-u32: New file.
55654         * lib/unistr/u16-to-u32.c: New file.
55655
55656         * modules/unistr/u32-to-u8: New file.
55657         * lib/unistr/u32-to-u8.c: New file.
55658
55659         * modules/unistr/u32-to-u16: New file.
55660         * lib/unistr/u32-to-u16.c: New file.
55661
55662         * modules/unistr/u8-check: New file.
55663         * modules/unistr/u16-check: New file.
55664         * modules/unistr/u32-check: New file.
55665         * lib/unistr/u8-check.c: New file.
55666         * lib/unistr/u16-check.c: New file.
55667         * lib/unistr/u32-check.c: New file.
55668
55669         * modules/unistr/u8-chr: New file.
55670         * modules/unistr/u16-chr: New file.
55671         * modules/unistr/u32-chr: New file.
55672         * lib/unistr/u8-chr.c: New file.
55673         * lib/unistr/u16-chr.c: New file.
55674         * lib/unistr/u32-chr.c: New file.
55675
55676         * modules/unistr/u8-cmp: New file.
55677         * modules/unistr/u16-cmp: New file.
55678         * modules/unistr/u32-cmp: New file.
55679         * lib/unistr/u8-cmp.c: New file.
55680         * lib/unistr/u16-cmp.c: New file.
55681         * lib/unistr/u32-cmp.c: New file.
55682
55683         * modules/unistr/u8-cpy: New file.
55684         * modules/unistr/u16-cpy: New file.
55685         * modules/unistr/u32-cpy: New file.
55686         * lib/unistr/u8-cpy.c: New file.
55687         * lib/unistr/u16-cpy.c: New file.
55688         * lib/unistr/u32-cpy.c: New file.
55689         * lib/unistr/u-cpy.h: New file.
55690
55691         * modules/unistr/u8-cpy-alloc: New file.
55692         * modules/unistr/u16-cpy-alloc: New file.
55693         * modules/unistr/u32-cpy-alloc: New file.
55694         * lib/unistr/u8-cpy-alloc.c: New file.
55695         * lib/unistr/u16-cpy-alloc.c: New file.
55696         * lib/unistr/u32-cpy-alloc.c: New file.
55697         * lib/unistr/u-cpy-alloc.h: New file.
55698
55699         * modules/unistr/u8-endswith: New file.
55700         * modules/unistr/u16-endswith: New file.
55701         * modules/unistr/u32-endswith: New file.
55702         * lib/unistr/u8-endswith.c: New file.
55703         * lib/unistr/u16-endswith.c: New file.
55704         * lib/unistr/u32-endswith.c: New file.
55705         * lib/unistr/u-endswith.h: New file.
55706
55707         * modules/unistr/u8-mblen: New file.
55708         * modules/unistr/u16-mblen: New file.
55709         * modules/unistr/u32-mblen: New file.
55710         * lib/unistr/u8-mblen.c: New file.
55711         * lib/unistr/u16-mblen.c: New file.
55712         * lib/unistr/u32-mblen.c: New file.
55713
55714         * modules/unistr/u8-mbtouc: New file.
55715         * modules/unistr/u16-mbtouc: New file.
55716         * modules/unistr/u32-mbtouc: New file.
55717         * lib/unistr/u8-mbtouc.c: New file.
55718         * lib/unistr/u16-mbtouc.c: New file.
55719         * lib/unistr/u32-mbtouc.c: New file.
55720
55721         * modules/unistr/u8-mbtouc-safe: New file.
55722         * modules/unistr/u16-mbtouc-safe: New file.
55723         * modules/unistr/u32-mbtouc-safe: New file.
55724         * lib/unistr/u8-mbtouc-safe.c: New file.
55725         * lib/unistr/u16-mbtouc-safe.c: New file.
55726         * lib/unistr/u32-mbtouc-safe.c: New file.
55727
55728         * modules/unistr/u8-move: New file.
55729         * modules/unistr/u16-move: New file.
55730         * modules/unistr/u32-move: New file.
55731         * lib/unistr/u8-move.c: New file.
55732         * lib/unistr/u16-move.c: New file.
55733         * lib/unistr/u32-move.c: New file.
55734         * lib/unistr/u-move.h: New file.
55735
55736         * modules/unistr/u8-next: New file.
55737         * modules/unistr/u16-next: New file.
55738         * modules/unistr/u32-next: New file.
55739         * lib/unistr/u8-next.c: New file.
55740         * lib/unistr/u16-next.c: New file.
55741         * lib/unistr/u32-next.c: New file.
55742
55743         * modules/unistr/u8-prev: New file.
55744         * modules/unistr/u16-prev: New file.
55745         * modules/unistr/u32-prev: New file.
55746         * lib/unistr/u8-prev.c: New file.
55747         * lib/unistr/u16-prev.c: New file.
55748         * lib/unistr/u32-prev.c: New file.
55749
55750         * modules/unistr/u8-set: New file.
55751         * modules/unistr/u16-set: New file.
55752         * modules/unistr/u32-set: New file.
55753         * lib/unistr/u8-set.c: New file.
55754         * lib/unistr/u16-set.c: New file.
55755         * lib/unistr/u32-set.c: New file.
55756         * lib/unistr/u-set.h: New file.
55757
55758         * modules/unistr/u8-startswith: New file.
55759         * modules/unistr/u16-startswith: New file.
55760         * modules/unistr/u32-startswith: New file.
55761         * lib/unistr/u8-startswith.c: New file.
55762         * lib/unistr/u16-startswith.c: New file.
55763         * lib/unistr/u32-startswith.c: New file.
55764         * lib/unistr/u-startswith.h: New file.
55765
55766         * modules/unistr/u8-stpcpy: New file.
55767         * modules/unistr/u16-stpcpy: New file.
55768         * modules/unistr/u32-stpcpy: New file.
55769         * lib/unistr/u8-stpcpy.c: New file.
55770         * lib/unistr/u16-stpcpy.c: New file.
55771         * lib/unistr/u32-stpcpy.c: New file.
55772         * lib/unistr/u-stpcpy.h: New file.
55773
55774         * modules/unistr/u8-stpncpy: New file.
55775         * modules/unistr/u16-stpncpy: New file.
55776         * modules/unistr/u32-stpncpy: New file.
55777         * lib/unistr/u8-stpncpy.c: New file.
55778         * lib/unistr/u16-stpncpy.c: New file.
55779         * lib/unistr/u32-stpncpy.c: New file.
55780         * lib/unistr/u-stpncpy.h: New file.
55781
55782         * modules/unistr/u8-strcat: New file.
55783         * modules/unistr/u16-strcat: New file.
55784         * modules/unistr/u32-strcat: New file.
55785         * lib/unistr/u8-strcat.c: New file.
55786         * lib/unistr/u16-strcat.c: New file.
55787         * lib/unistr/u32-strcat.c: New file.
55788         * lib/unistr/u-strcat.h: New file.
55789
55790         * modules/unistr/u8-strchr: New file.
55791         * modules/unistr/u16-strchr: New file.
55792         * modules/unistr/u32-strchr: New file.
55793         * lib/unistr/u8-strchr.c: New file.
55794         * lib/unistr/u16-strchr.c: New file.
55795         * lib/unistr/u32-strchr.c: New file.
55796
55797         * modules/unistr/u8-strcmp: New file.
55798         * modules/unistr/u16-strcmp: New file.
55799         * modules/unistr/u32-strcmp: New file.
55800         * lib/unistr/u8-strcmp.c: New file.
55801         * lib/unistr/u16-strcmp.c: New file.
55802         * lib/unistr/u32-strcmp.c: New file.
55803
55804         * modules/unistr/u8-strcpy: New file.
55805         * modules/unistr/u16-strcpy: New file.
55806         * modules/unistr/u32-strcpy: New file.
55807         * lib/unistr/u8-strcpy.c: New file.
55808         * lib/unistr/u16-strcpy.c: New file.
55809         * lib/unistr/u32-strcpy.c: New file.
55810         * lib/unistr/u-strcpy.h: New file.
55811
55812         * modules/unistr/u8-strcspn: New file.
55813         * modules/unistr/u16-strcspn: New file.
55814         * modules/unistr/u32-strcspn: New file.
55815         * lib/unistr/u8-strcspn.c: New file.
55816         * lib/unistr/u16-strcspn.c: New file.
55817         * lib/unistr/u32-strcspn.c: New file.
55818         * lib/unistr/u-strcspn.h: New file.
55819
55820         * modules/unistr/u8-strdup: New file.
55821         * modules/unistr/u16-strdup: New file.
55822         * modules/unistr/u32-strdup: New file.
55823         * lib/unistr/u8-strdup.c: New file.
55824         * lib/unistr/u16-strdup.c: New file.
55825         * lib/unistr/u32-strdup.c: New file.
55826         * lib/unistr/u-strdup.h: New file.
55827
55828         * modules/unistr/u8-strlen: New file.
55829         * modules/unistr/u16-strlen: New file.
55830         * modules/unistr/u32-strlen: New file.
55831         * lib/unistr/u8-strlen.c: New file.
55832         * lib/unistr/u16-strlen.c: New file.
55833         * lib/unistr/u32-strlen.c: New file.
55834         * lib/unistr/u-strlen.h: New file.
55835
55836         * modules/unistr/u8-strmblen: New file.
55837         * modules/unistr/u16-strmblen: New file.
55838         * modules/unistr/u32-strmblen: New file.
55839         * lib/unistr/u8-strmblen.c: New file.
55840         * lib/unistr/u16-strmblen.c: New file.
55841         * lib/unistr/u32-strmblen.c: New file.
55842
55843         * modules/unistr/u8-strmbtouc: New file.
55844         * modules/unistr/u16-strmbtouc: New file.
55845         * modules/unistr/u32-strmbtouc: New file.
55846         * lib/unistr/u8-strmbtouc.c: New file.
55847         * lib/unistr/u16-strmbtouc.c: New file.
55848         * lib/unistr/u32-strmbtouc.c: New file.
55849
55850         * modules/unistr/u8-strncat: New file.
55851         * modules/unistr/u16-strncat: New file.
55852         * modules/unistr/u32-strncat: New file.
55853         * lib/unistr/u8-strncat.c: New file.
55854         * lib/unistr/u16-strncat.c: New file.
55855         * lib/unistr/u32-strncat.c: New file.
55856         * lib/unistr/u-strncat.h: New file.
55857
55858         * modules/unistr/u8-strncmp: New file.
55859         * modules/unistr/u16-strncmp: New file.
55860         * modules/unistr/u32-strncmp: New file.
55861         * lib/unistr/u8-strncmp.c: New file.
55862         * lib/unistr/u16-strncmp.c: New file.
55863         * lib/unistr/u32-strncmp.c: New file.
55864
55865         * modules/unistr/u8-strncpy: New file.
55866         * modules/unistr/u16-strncpy: New file.
55867         * modules/unistr/u32-strncpy: New file.
55868         * lib/unistr/u8-strncpy.c: New file.
55869         * lib/unistr/u16-strncpy.c: New file.
55870         * lib/unistr/u32-strncpy.c: New file.
55871         * lib/unistr/u-strncpy.h: New file.
55872
55873         * modules/unistr/u8-strnlen: New file.
55874         * modules/unistr/u16-strnlen: New file.
55875         * modules/unistr/u32-strnlen: New file.
55876         * lib/unistr/u8-strnlen.c: New file.
55877         * lib/unistr/u16-strnlen.c: New file.
55878         * lib/unistr/u32-strnlen.c: New file.
55879         * lib/unistr/u-strnlen.h: New file.
55880
55881         * modules/unistr/u8-strpbrk: New file.
55882         * modules/unistr/u16-strpbrk: New file.
55883         * modules/unistr/u32-strpbrk: New file.
55884         * lib/unistr/u8-strpbrk.c: New file.
55885         * lib/unistr/u16-strpbrk.c: New file.
55886         * lib/unistr/u32-strpbrk.c: New file.
55887         * lib/unistr/u-strpbrk.h: New file.
55888
55889         * modules/unistr/u8-strrchr: New file.
55890         * modules/unistr/u16-strrchr: New file.
55891         * modules/unistr/u32-strrchr: New file.
55892         * lib/unistr/u8-strrchr.c: New file.
55893         * lib/unistr/u16-strrchr.c: New file.
55894         * lib/unistr/u32-strrchr.c: New file.
55895
55896         * modules/unistr/u8-strspn: New file.
55897         * modules/unistr/u16-strspn: New file.
55898         * modules/unistr/u32-strspn: New file.
55899         * lib/unistr/u8-strspn.c: New file.
55900         * lib/unistr/u16-strspn.c: New file.
55901         * lib/unistr/u32-strspn.c: New file.
55902         * lib/unistr/u-strspn.h: New file.
55903
55904         * modules/unistr/u8-strstr: New file.
55905         * modules/unistr/u16-strstr: New file.
55906         * modules/unistr/u32-strstr: New file.
55907         * lib/unistr/u8-strstr.c: New file.
55908         * lib/unistr/u16-strstr.c: New file.
55909         * lib/unistr/u32-strstr.c: New file.
55910         * lib/unistr/u-strstr.h: New file.
55911
55912         * modules/unistr/u8-strtok: New file.
55913         * modules/unistr/u16-strtok: New file.
55914         * modules/unistr/u32-strtok: New file.
55915         * lib/unistr/u8-strtok.c: New file.
55916         * lib/unistr/u16-strtok.c: New file.
55917         * lib/unistr/u32-strtok.c: New file.
55918         * lib/unistr/u-strtok.h: New file.
55919
55920         * modules/unistr/u8-uctomb: New file.
55921         * modules/unistr/u16-uctomb: New file.
55922         * modules/unistr/u32-uctomb: New file.
55923         * lib/unistr/u8-uctomb.c: New file.
55924         * lib/unistr/u16-uctomb.c: New file.
55925         * lib/unistr/u32-uctomb.c: New file.
55926
55927         * MODULES.html.sh (Unicode string functions): Add the new modules.
55928
55929 2007-01-08  Bruno Haible  <bruno@clisp.org>
55930
55931         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
55932         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
55933         subdirectories.
55934
55935 2007-01-08  Karl Berry  <karl@gnu.org>
55936
55937         * doc/error.texi: mention that main() fns must set program_name
55938         when progname is used.
55939
55940 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
55941
55942         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
55943         WCTYPE_H is empty, for the benefit of builds from non-distclean
55944         directories.  Problem reported by Eric Blake in
55945         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
55946
55947 2007-01-08  Bruno Haible  <bruno@clisp.org>
55948
55949         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
55950         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
55951         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
55952         PROVIDE_CANONICALIZE_FILENAME_MODE.
55953         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
55954
55955 2007-01-08  Bruno Haible  <bruno@clisp.org>
55956
55957         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
55958         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
55959         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
55960         * lib/fts.c: Likewise.
55961         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
55962
55963 2006-12-25  Bruno Haible  <bruno@clisp.org>
55964
55965         * modules/utf8-ucs4-safe: New file.
55966         * lib/utf8-ucs4-safe.h: New file.
55967         * lib/unistr/utf8-ucs4-safe.c: New file.
55968
55969         * modules/utf16-ucs4-safe: New file.
55970         * lib/utf16-ucs4-safe.h: New file.
55971         * lib/unistr/utf16-ucs4-safe.c: New file.
55972
55973         * MODULES.html.sh (Unicode string functions): Add the new modules.
55974
55975 2007-01-08  Bruno Haible  <bruno@clisp.org>
55976
55977         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
55978         (Depends-on): Add unitypes.
55979         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55980         (u8_mbtouc_aux): Move out to separate file.
55981         (u8_mbtouc): Use ucs4_t, uint8_t types.
55982         * lib/unistr/utf8-ucs4.c: New file.
55983
55984         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
55985         (Depends-on): Add unitypes.
55986         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55987         (u16_mbtouc_aux): Move out to separate file.
55988         (u16_mbtouc): Use ucs4_t, uint16_t types.
55989         * lib/unistr/utf16-ucs4.c: New file.
55990
55991         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
55992         (Depends-on): Add unitypes.
55993         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
55994         (u8_uctomb_aux): Move out to separate file.
55995         (u8_uctomb): Use ucs4_t, uint8_t types.
55996         * lib/unistr/ucs4-utf8.c: New file.
55997
55998         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
55999         (Depends-on): Add unitypes.
56000         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
56001         (u16_uctomb_aux): Move out to separate file.
56002         (u16_uctomb): Use ucs4_t, uint16_t types.
56003         * lib/unistr/ucs4-utf16.c: New file.
56004
56005 2006-12-25  Bruno Haible  <bruno@clisp.org>
56006
56007         * modules/unitypes: New file.
56008         * lib/unitypes.h: New file.
56009         * MODULES.html.sh (func_all_modules): New section "Unicode string
56010         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
56011         this section. Add unitypes.
56012
56013 2007-01-08  Bruno Haible  <bruno@clisp.org>
56014
56015         Avoid variable names that conflict with those from libtool.
56016         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
56017         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
56018         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
56019         library_names_spec to acl_library_names_spec, hardcode_* to
56020         acl_hardcode_*.
56021         Reported by Ralf Wildenhues.
56022
56023 2007-01-08  Bruno Haible  <bruno@clisp.org>
56024
56025         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
56026         definition.
56027         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
56028         definition.
56029         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
56030         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
56031         definition.
56032         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
56033         definition.
56034         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
56035         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
56036         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
56037         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
56038         definition.
56039         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
56040         definition.
56041         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
56042         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
56043         GC_USE_<algorithm>.
56044         * lib/gc-libgcrypt.c: Likewise.
56045         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
56046         * modules/gc-arctwo (configure.ac): Likewise.
56047         * modules/gc-des (configure.ac): Likewise.
56048         * modules/gc-hmac-md5 (configure.ac): Likewise.
56049         * modules/gc-hmac-sha1 (configure.ac): Likewise.
56050         * modules/gc-md2 (configure.ac): Likewise.
56051         * modules/gc-md4 (configure.ac): Likewise.
56052         * modules/gc-md5 (configure.ac): Likewise.
56053         * modules/gc-random (configure.ac): Likewise.
56054         * modules/gc-rijndael (configure.ac): Likewise.
56055         * modules/gc-sha1 (configure.ac): Likewise.
56056
56057 2007-01-08  Bruno Haible  <bruno@clisp.org>
56058
56059         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
56060         macro definition.
56061         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
56062         definition.
56063         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
56064         definition.
56065         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
56066         * modules/fcntl-safer (configure.ac): Likewise.
56067         * modules/fopen-safer (configure.ac): Likewise.
56068         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
56069         GNULIB_FWRITEERROR macro definition.
56070
56071 2007-01-08  Bruno Haible  <bruno@clisp.org>
56072
56073         * m4/gnulib-common.m4: New file.
56074         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
56075         (func_get_filelist): Add m4/gnulib-common.m4.
56076
56077 2007-01-08  Bruno Haible  <bruno@clisp.org>
56078
56079         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
56080         command.
56081
56082 2007-01-08  Jim Meyering  <jim@meyering.net>
56083
56084         Use a more robust test for a "can't happen" condition.
56085         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
56086         narrowed the st_size value.  Presuming the "can't happen" condition
56087         is true, that narrowing could conceivably convert an invalid st_size
56088         value into a valid one.  Instead, use a change based on Matthew
56089         Woehlke's original patch.
56090
56091         Slight readability improvement: use an assert-like macro
56092         in place of literal "abort ()" uses.
56093         * lib/fts.c (fts_assert): Define.
56094         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
56095         Use this macro instead of a bare 'abort'.
56096
56097 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
56098
56099         Don't worry about using IRIX 5.3's wctype.h broken definitions;
56100         simply work around them.
56101         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
56102         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
56103         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
56104         declaring.
56105         Don't bother to define as macros, since the standard doesn't require it.
56106         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
56107         longer worry about IRIX 5.3.
56108         (HAVE_WCTYPE_CTMP_BUG): Remove.
56109
56110 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56111
56112         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
56113         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
56114         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
56115         Problems reported by Georg Schwarz for IRIX 5.3.
56116
56117         * gnulib-tool (autoconf_minversion): Take the maximum version number
56118         found, not the minimum.  Problem reported by James Youngman.
56119
56120 2007-01-03  Karl Berry  <karl@gnu.org>
56121
56122         * doc/error.texi: new file, explaining interaction with progname.
56123         * doc/gnulib.texi: include it.  Update copyright.
56124
56125 2007-01-03  Simon Josefsson  <simon@josefsson.org>
56126
56127         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
56128         AC_CANONICAL_HOST, to improve autobuild outputs.
56129
56130 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
56131             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56132
56133         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
56134         sockets, server sockets, and other file descriptors.  Count errors
56135         to compute the return value.  Reorder the code a bit to be easier
56136         to follow.  Don't set event bits that were not requested (except
56137         POLLERR and POLLHUP).
56138
56139 2007-01-01  Bruno Haible  <bruno@clisp.org>
56140
56141         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
56142
56143 2007-01-03  Jim Meyering  <jim@meyering.net>
56144
56145         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
56146
56147 2007-01-02  Bruno Haible  <bruno@clisp.org>
56148
56149         * modules/settime (Include): Require timespec.h.
56150         * modules/nanosleep (Include): Likewise.
56151
56152 2007-01-01  Bruno Haible  <bruno@clisp.org>
56153
56154         * gnulib-tool (func_emit_copyright_notice): Bump year.
56155         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
56156
56157 2007-01-01  Bruno Haible  <bruno@clisp.org>
56158
56159         Improve support for OpenBSD.
56160         * build-aux/config.rpath (libname_spec): Export.
56161         (library_names_spec): New variable. Export.
56162         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
56163         library_names_spec from the config.rpath output. Locate shared library
56164         through the name pattern in library_names_spec.
56165
56166 2007-01-01  Eric Blake  <ebb9@byu.net>
56167
56168         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
56169
56170 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
56171
56172         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
56173         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
56174         assume the C locale, and avoid an "eval" that could cause trouble.
56175         Problem with SORT reported by Bob Proulx.
56176
56177         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
56178         Define.  Trivial patch from Henning Nielsen Lund, originally
56179         sent to bug-grep@gnu.org today.
56180
56181 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56182
56183         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
56184         struct stat.  Problem reported by Henning Nielsen Lund.
56185         * lib/acl.c: Include acl.h first, to check interface.  Don't
56186         bother to include sys/types.h and sys/stat.h again.
56187
56188 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56189
56190         Import the following change from libc; problem reported by
56191         Sven Verdoolaege.
56192
56193         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
56194
56195         [BZ #1373]
56196         * lib/argp.h: Remove __NTH for __argp_usage inline function.
56197
56198 2006-12-28  Jim Meyering  <jim@meyering.net>
56199
56200         * build-aux/announce-gen: Do not assume that the package
56201         builds any of tar.gz, tar.bz2, and .xdelta files.
56202         Suggestion from Simon Josefsson.
56203
56204 2006-12-28  Simon Josefsson  <simon@josefsson.org>
56205
56206         * modules/announce-gen: New file.
56207
56208 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
56209
56210         * lib/mbchar.h: Just include <wctype.h>; the wctype module
56211         handles its gotchas now.
56212         * lib/mbswidth.c: Likewise.
56213         * lib/wcwidth.h: Likewise.
56214         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
56215         and iswcntrl; the wctype module does this stuff now.
56216         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56218         * modules/mbchar (Depends-on): Add wctype.
56219         * modules/mbswidth (Depends-on): Likewise.
56220         * modules/wcwidth (Depends-on): Likewise.
56221
56222 2006-12-27  Eric Blake  <ebb9@byu.net>
56223
56224         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
56225         module uses more than what <wctype.h> is required to provide.
56226
56227 2006-12-26  Eric Blake  <ebb9@byu.net>
56228
56229         * gnulib-tool (sed_extract_prog): Avoid space-tab.
56230
56231 2006-12-26  Eric Blake  <ebb9@byu.net>
56232
56233         * modules/absolute-header: New module.
56234         * modules/fcntl (Depends-on): Depend on it.
56235         * modules/inttypes (Depends-on): Likewise.
56236         * modules/stdint (Depends-on): Likewise.
56237         * modules/sys_stat (Depends-on): Likewise.
56238         * modules/wctype (Depends-on): Likewise.
56239         * MODULES.html.sh (Support for building libraries and
56240         executables): Document it.
56241
56242 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56243
56244         * gnulib-tool (SED): Remove, undoing previous change.
56245         The problem was that it broke coreutils on Solaris, because
56246         "sed --posix" leaked into a makefile.
56247         (sed): New alias, if 'alias' and GNU sed.
56248
56249 2006-12-24  Jim Meyering  <jim@meyering.net>
56250
56251         Work around an fchownat bug in glibc-2.4:
56252         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
56253         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
56254         in spite of the -P option.
56255         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
56256         New macros.
56257         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
56258         * modules/openat (Files): Add lib/fchownat.c.
56259         * lib/openat.c (fchownat): Don't define here.  Move to...
56260         * lib/fchownat.c: ...this new file.
56261
56262 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56263
56264         Fix bug reported by Bruno Haible in
56265         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
56266         where quotearg.c didn't compile on Mac OS X 10.2 because it
56267         lacks <wchar.h> and wint_t.
56268         * lib/wctype_.h (__wctype_wint_t): New type.
56269         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
56270         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
56271         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
56272         Arg is now of type __wctype_wint_t, not wint_t.
56273         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
56274         substitute HAVE_WINT_T.
56275         * modules/wctype (Files): Add m4/wint_t.m4.
56276         (wctype.h): Substitute HAVE_WINT_T.
56277
56278 2006-12-23  Bruno Haible  <bruno@clisp.org>
56279
56280         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
56281
56282 2006-12-23  Bruno Haible  <bruno@clisp.org>
56283
56284         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
56285         S_ISLNK.
56286         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
56287         mingw.
56288
56289 2006-12-22  Bruno Haible  <bruno@clisp.org>
56290
56291         * lib/copy-file.c: Include acl.h.
56292         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
56293         Close the file descriptors only after being done with copy_acl.
56294         * modules/copy-file (Depends-on): Add acl.
56295
56296 2006-12-22  Bruno Haible  <bruno@clisp.org>
56297
56298         * gnulib-tool (SED): New variable.
56299         Use $SED instead of sed everywhere.
56300
56301 2006-12-22  Bruno Haible  <bruno@clisp.org>
56302
56303         * modules/no-c++: New file.
56304         * m4/no-c++.m4: New file.
56305         * MODULES.html.sh (Support for building libraries and executables):
56306         Add no-c++.
56307
56308 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56309
56310         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56311         Include <limits.h>, and use its INT_MAX to rewrite the
56312         j loop so that it does not overflow 'int'.  Problem reported by
56313         Ralf Wildenhues in
56314         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
56315         Play it safe by shifting left by 1 rather than multiplying by 2,
56316         as GCC is less likely to optimize this away when the value
56317         is signed (when it assumes overflow leads to undefined behavior).
56318         Also, don't assume time_t uses two's complement.
56319
56320 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56321
56322         * MODULES.html.sh: New module wctype.
56323         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
56324         * lib/fnmatch.c: Don't bother to include <wchar.h> before
56325         <wctype.h>, since the new wctype module should fix this.
56326         * lib/quotearg.c: Include <wctype.h> unconditionally, since
56327         the wctype module should arrange for it.
56328         * lib/regex_internal.h: Likewise.
56329         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
56330         since the wctype module should handle this now.
56331         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
56332         * modules/fnmatch (Depends-on): Add wctype.
56333         * modules/quotearg (Depends-on): Likewise.
56334         * modules/regex (Depends-on): Likewise.
56335
56336 2006-12-19  Bruno Haible  <bruno@clisp.org>
56337
56338         * lib/strdup.h [C++]: Wrap definitions in extern "C".
56339         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
56340
56341 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56342
56343         * modules/savewd (Depends-on): Fix dependency on fcntl.
56344
56345 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56346
56347         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
56348         conforms to C99, rather than relying on the user's environment
56349         setting of STDINT_H.
56350
56351 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56352         and Eric Blake  <ebb9@byu.net>
56353
56354         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
56355         This is more consistent with the other defines here.
56356         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
56357         Port to z/OS.  Problem reported by Paul Gilmartin.
56358         Change local vars to use gl_ prefix rather than ac_.
56359         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
56360         with other defines.
56361         * modules/double-slash-root: New module.
56362         * modules/dirname (Files): Remove m4/double-slash-root.m4.
56363         (Depends-on): Add double-slash-root.
56364         * MODULES.html.sh (File system functions): Mention new module.
56365
56366 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
56367
56368         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
56369         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
56370         This is for the benefit of gzip, which doesn't do i18n.
56371
56372 2006-12-12  Jim Meyering  <jim@meyering.net>
56373
56374         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
56375         Reported by Andreas Schwab <schwab@suse.de>.
56376
56377 2006-12-12  Bruno Haible  <bruno@clisp.org>
56378
56379         Merge these changes.
56380         2006-09-05  Bruno Haible  <bruno@clisp.org>
56381         * lib/iconvme.c (iconv_string): No need to save and restore errno when
56382         iconv_alloc succeeded.
56383         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
56384         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
56385         test for " && dest " at the end - dest is always != NULL there. Call
56386         iconv with 4xNULL arguments initially, to reset the state. Call iconv
56387         with 2xNULL arguments, also to flush the state storage. Handle the
56388         IRIX iconv behaviour. Realloc the final result, to throw away unused
56389         memory.
56390
56391 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
56392
56393         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
56394         and fchmodat unconditionally, since glibc 2.4 has them.
56395         Problem reported by Arkadiusz Miskiewicz.
56396
56397 2006-12-10  Bruno Haible  <bruno@clisp.org>
56398
56399         * gnulib-tool (func_import): Show the include files only for those
56400         modules that are copied and specified.
56401         Reported by Karl Berry.
56402
56403 2006-12-08  Jim Meyering  <jim@meyering.net>
56404
56405         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
56406         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
56407
56408         * build-aux/announce-gen: Add two new options, both optional:
56409         --bootstrap-tools=TOOL_LIST
56410               a comma-separated list of tools, e.g.,
56411               autoconf,automake,bison,gnulib
56412         --gnulib-snapshot-date=DATE
56413               if gnulib is in the bootstrap tool list,
56414               then report this as the snapshot date.
56415               If not specified, use the current date/time.
56416               If you specify a date here, be sure it's UTC.
56417
56418 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56419
56420         * tests/test-argp-2.sh: Fix test to match actual output.
56421         (func_compare): Fix sed script to be portable.
56422
56423 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
56424
56425         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
56426         workaround for this case.  It is not autoconfigured now; offhand
56427         it's hard to see how to autoconfigure it.
56428
56429 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56430
56431         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
56432         a directory that is about to be chowned.  Such a directory's
56433         initial file permissions should permit the owner only and this
56434         should not be changed until after the chown, since the group and
56435         other bits would be incorrect if they granted permission before
56436         the chown.
56437
56438         Fix porting problem for iswctype reported by Georg Schwarz in:
56439         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
56440         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
56441         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
56442         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
56443         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56444
56445 2006-12-03  Jim Meyering  <jim@meyering.net>
56446
56447         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
56448         p->fts_statp may not yet be defined.
56449         (fts_read): Instead, set it in the caller, once p->fts_statp is
56450         sure to be defined, and corresponds to a top-level directory.
56451         This bug made du -x fail.  Here's the coreutils test case:
56452         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
56453         Reported by Mike Frysinger.
56454
56455 2006-12-01  Jim Meyering  <jim@meyering.net>
56456
56457         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
56458         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
56459         Reported by Simon Josefsson.
56460
56461 2006-11-30  Jim Meyering  <jim@meyering.net>
56462
56463         * m4/warning.m4: Use the all-permissive copyright notice
56464         recommended by RMS (rather than LGPL).
56465         * m4/vararrays.m4: Likewise.
56466         * m4/flexmember.m4: Likewise.
56467
56468 2006-11-29  Bruno Haible  <bruno@clisp.org>
56469
56470         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56471         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
56472         using +=.
56473         Reported by Simon Josefsson <simon@josefsson.org>.
56474
56475 2006-11-28  James Youngman <jay@gnu.org>
56476
56477         * README: Advise users that they might find the bug-gnulib@gnu.org
56478         and autotools-announce@gnu.org mailing lists useful.
56479
56480 2006-11-28  Bruno Haible  <bruno@clisp.org>
56481
56482         * m4/ptrdiff_max.m4: Remove file.
56483
56484 2006-11-21  Bruno Haible  <bruno@clisp.org>
56485
56486         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
56487         _AC_COMPUTE_INT.
56488         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56489         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
56490         _AC_COMPUTE_INT.
56491         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56492         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
56493         _AC_COMPUTE_INT.
56494         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56495
56496 2006-11-28  Jim Meyering  <jim@meyering.net>
56497
56498         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
56499         warning from "gcc -Wshadow" about shadowing the builtin.
56500
56501 2006-11-27  Bruno Haible  <bruno@clisp.org>
56502
56503         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
56504         _AC_COMPUTE_INT.
56505         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56506
56507 2006-11-27  Bruno Haible  <bruno@clisp.org>
56508             Paul Eggert  <eggert@cs.ucla.edu>
56509
56510         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
56511
56512 2006-11-26  Bruno Haible  <bruno@clisp.org>
56513
56514         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56515         noinst_LTLIBRARIES.
56516
56517 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56518             Bruno Haible  <bruno@clisp.org>
56519
56520         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
56521         if compiling with "gcc -ansi".
56522
56523 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56524
56525         Fix some incompatibilities with gcc -ansi -pedantic.
56526         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
56527         if compiling pedantically with GCC, unless it's C99 or later.
56528         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
56529         it mishandles gcc -ansi -pedantic as well.
56530         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
56531         if gcc -pedantic.
56532         * lib/regexec.c (check_node_accept_bytes): Don't use auto
56533         initializers for struct if -pedantic, unless it's C99 or later.
56534
56535 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
56536
56537         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
56538         Don't close an fd more than once. Identical atimes indicate
56539         success, not failure.
56540
56541 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
56542
56543         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
56544
56545 2006-11-23  Jim Meyering  <jim@meyering.net>
56546
56547         * build-aux/announce-gen: New file.  From coreutils.
56548
56549 2006-11-22  Jim Meyering  <jim@meyering.net>
56550
56551         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
56552         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
56553         (fts_read): Use a temporary to narrow the overused st_size member
56554         before using it in a switch statement.  Reported by Matthew Woehlke.
56555
56556         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
56557         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
56558
56559 2006-11-20  Bruno Haible  <bruno@clisp.org>
56560
56561         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
56562         changequote instead of pairs of brackets.
56563         Reported by Andreas Schwab <schwab@suse.de>.
56564
56565 2006-11-21  Jim Meyering  <jim@meyering.net>
56566
56567         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
56568         so as to remain compatible with older compilers.
56569         Patch from Michael Deutschmann.
56570
56571 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56572
56573         * MODULES.html.sh (File system functions): Add openat.
56574
56575         * lib/openat.h (rpl_fstatat): New macro, if
56576         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
56577         (fstatat): Define to rpl_fstatat under the same conditions,
56578         unless COMPILING_FSTATAT.
56579         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
56580         seems to have the bug.
56581         * lib/fstatat.c: New file.
56582         * modules/openat (Files): Add it.
56583
56584 2006-11-20  Bruno Haible  <bruno@clisp.org>
56585
56586         * Makefile: New file.
56587
56588 2006-11-20  Jim Meyering  <jim@meyering.net>
56589
56590         The beginnings of syntax-related checks for gnulib.
56591         * lib/Makefile: New file.
56592         * lib/t-idcache: New script.  Ensure that the two halves of
56593         idcache.c stay in sync.
56594
56595         * lib/idcache.c: Adjust comments in user- and group- portions to
56596         be more accurate, and to be consistent with one another.
56597
56598 2006-11-20  Jim Meyering  <jim@meyering.net>
56599
56600         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56601         continue using the flexible array member (thus, this module performs
56602         half as many malloc calls), with the addition that...
56603         (getgroup, getuser): Consistently record a non-match via an empty
56604         "name" string, and map an empty string match to a NULL return value.
56605         * modules/idcache (Depends-on): Re-add flexmember.
56606
56607         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56608         (getuidbyname, getgroup, getgidbyname): Likewise.
56609
56610         Use cleaner syntax: NULL rather than 0.
56611         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56612
56613 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56614
56615         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56616         It mishandled the case where the group was missing.
56617         Problem reported by Greg Schafer.
56618         * modules/idcache: Likewise.
56619
56620 2006-11-18  Jim Meyering  <jim@meyering.net>
56621
56622         * check-module (%exempt_header): Add exception for some
56623         conditionally-included headers.
56624
56625         * modules/i-ring (Depends-on): Add verify.
56626         (License): Change to LGPL.
56627
56628 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56629
56630         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
56631         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
56632         and inttostr.h.  Use snprintf rather than uinttostr, so that
56633         LGPLed code doesn't depend on GPLed.
56634
56635 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56636
56637         * modules/inline (License): Change from GPL to LGPL.
56638
56639 2006-11-17  Jim Meyering  <jim@meyering.net>
56640
56641         * modules/d-type (License): Switch to LGPL.
56642
56643 2006-11-15  Bruno Haible  <bruno@clisp.org>
56644
56645         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
56646
56647 2006-11-15  Eric Blake  <ebb9@byu.net>
56648
56649         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
56650         the module dependency.
56651
56652 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56653             Bruno Haible  <bruno@clisp.org>
56654
56655         * gnulib-tool (func_create_testdir): Add license consistency check.
56656
56657 2006-11-15  Eric Blake  <ebb9@byu.net>
56658
56659         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
56660         random "(cached)" in configure output.
56661
56662 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56663
56664         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
56665         test for conforming inttypes.h is both announced and cached.
56666
56667         * MODULES.html.sh (seen_modules, seen_files): New variables.
56668         (func_module): Rewrite to use a few less gnulib-tool and sed
56669         invocations.  Avoid a couple of quadratic algorithms for ...
56670         (missed_modules, missed_files): ... these, with ...
56671         (func_append, func_tmpdir): ... these new functions, from
56672         gnulib-tool.  Analogously, install traps for cleanup.
56673
56674         * tests/test-gc.c (main): Remove unused variables.
56675         * tests/test-read-file.c: Include stdlib.h, for 'free'.
56676
56677 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
56678
56679         * modules/inttostr (License): Change to LGPL.
56680
56681 2006-11-14  Eric Blake  <ebb9@byu.net>
56682
56683         * modules/tempname (License): Change to LGPL.
56684
56685 2006-11-14  Eric Blake  <ebb9@byu.net>
56686
56687         * doc/functions.texi (Function Portability): *printf functions on
56688         Cygwin now understand all POSIX size specifiers.
56689
56690 2006-11-14  Bruno Haible  <bruno@clisp.org>
56691
56692         * modules/c-ctype (License): Change to LGPL.
56693
56694 2006-11-12  Bruno Haible  <bruno@clisp.org>
56695
56696         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56697         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
56698         for GNOME libraries, for which the include files are installed in
56699         subdirectories of $prefix/include.
56700
56701 2006-11-12  Bruno Haible  <bruno@clisp.org>
56702
56703         * m4/lib-link.m4: Require at least autoconf-2.54.
56704         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
56705         name to underscores for the --with option.
56706
56707 2006-11-13  Bruno Haible  <bruno@clisp.org>
56708
56709         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
56710         the tests directory.
56711         Reported by Ralf Wildenhues.
56712
56713 2006-11-13  Bruno Haible  <bruno@clisp.org>
56714
56715         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
56716         (func_emit_initmacro_end): Undo the override here.
56717         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
56718         Works around the famous automake error in coreutils.
56719
56720 2006-11-13  Eric Blake  <ebb9@byu.net>
56721
56722         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
56723         element, not its node.
56724
56725 2006-11-12  Bruno Haible  <bruno@clisp.org>
56726
56727         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
56728         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
56729
56730 2006-11-12  Bruno Haible  <bruno@clisp.org>
56731
56732         * gnulib-tool: New option --local-symlink.
56733         (func_usage): Document it.
56734         (lsymbolic): New variable.
56735         (func_import, func_create_testdir): If --symlink was not specified,
56736         test whether --local-symlink was specified and the file comes from
56737         the local_gnulib_dir.
56738
56739 2006-11-12  Bruno Haible  <bruno@clisp.org>
56740
56741         * gnulib-tool (func_ln): New function.
56742         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
56743
56744 2006-11-12  Bruno Haible  <bruno@clisp.org>
56745
56746         Finish support for source files in subdirectories.
56747         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
56748         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
56749         AUTOMAKE_OPTIONS.
56750         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
56751
56752 2006-11-12  Bruno Haible  <bruno@clisp.org>
56753
56754         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56755         EXTRA_lib_SOURCES augmentation.
56756         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
56757
56758 2006-11-12  Jim Meyering  <jim@meyering.net>
56759
56760         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
56761         file descriptors.  This also averts a failure on systems with
56762         native openat support when a traversed directory lacks "x" access.
56763         * lib/fts_.h: Include "i-ring.h"
56764         (struct FTS) [fts_fd_ring]: New member.
56765         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
56766         (FCHDIR): Add parentheses.
56767         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
56768         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
56769         When descending, rather than simply closing the previous
56770         fts_cwd_fd value, push that file descriptor onto the ring.
56771         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
56772         (fts_open): Initialize the new fd_ring member.
56773         (fts_close): Clear the ring.
56774         (fts_safe_changedir): When possible, use our new fd_ring to skip
56775         the diropen and fstat and dev/ino comparison that would normally
56776         accompany a virtual `chdir ("..")'.
56777
56778         * modules/fts (Depends-on): Add i-ring.
56779         * modules/i-ring: New module.
56780         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
56781         * m4/i-ring.m4: New file.
56782
56783 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56784
56785         * gnulib-tool (func_create_testdir): Fix replacement of
56786         `build-aux' in configure.ac.  Run autotools in gltests
56787         subdirectory.
56788         (func_create_testdir, func_create_megatestdir, test): There is
56789         no need for '--force' in most autotool invocations in a new
56790         tree.  Actually fail the whole test if any of the tools, or the
56791         configure or make stages fail.
56792
56793         Sync from Automake.
56794         * build-aux/gnupload: Revert last change.  Add pointer to upload
56795         instructions of the GNU Maintenance Instructions.
56796         Suggestion by Karl Berry.
56797
56798 2006-11-10  Jim Meyering  <jim@meyering.net>
56799
56800         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
56801
56802 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56803
56804         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
56805         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
56806         (bind_textdomain_codeset) [! ENABLE_NLS]:
56807         Evaluate all the arguments.  That way, callers get compatible behavior
56808         if the arguments have side effects.  Also, it avoids some GCC
56809         diagnostics in some cases; Joel E. Denny reported problems when Bison
56810         was configured with --enable-gcc-warnigs.
56811
56812 2006-11-10  Jim Meyering  <jim@meyering.net>
56813
56814         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
56815         relevant options in CFLAGS (like -O, -fno-inline) are taken into
56816         account.
56817
56818 2006-11-10  Jim Meyering  <jim@meyering.net>
56819
56820         * modules/inline: New file/module.
56821         * modules/xalloc (Files): Remove m4/inline.m4.
56822         (Depends-on): Add inline, instead.
56823         * modules/oset: Likewise.
56824         * modules/list: Likewise.
56825
56826 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56827
56828         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
56829         Problem reported by Matthew Woehlke.
56830
56831 2006-11-09  Bruno Haible  <bruno@clisp.org>
56832
56833         * lib/tempname.c (gen_tempname): Remove variant that invokes
56834         __gen_tempname.
56835         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
56836         __gen_tempname.
56837
56838 2006-11-08  Bruno Haible  <bruno@clisp.org>
56839
56840         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
56841         to 'yes' instead of 'cross-compiling'.
56842
56843 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
56844
56845         * lib/quotearg.h (quotearg_free): New decl.
56846         * lib/quotearg.c (quotearg_free): New function.
56847         (slot0, nslots, slotvec0, slotvec):
56848         Now file-scope so that quotearg_free can get at them.
56849
56850 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56851
56852         Sync from Automake.
56853         * build-aux/gnupload: Add missing 'gnu' to example URL.
56854         Report by Karl Berry.
56855
56856 2006-11-08  Bruno Haible  <bruno@clisp.org>
56857
56858         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
56859         Suggested by Paul Eggert.
56860
56861 2006-11-08  Jim Meyering  <jim@meyering.net>
56862
56863         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
56864         It's already included if !_LIBC.
56865         (fts_safe_changedir): Add a comment.
56866
56867 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56868
56869         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
56870         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
56871         Matthew Woehlke.
56872
56873         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
56874         definitions up, to avoid colliding with change below.
56875         (static_inline) [HAVE_INLINE]: New macro.
56876         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
56877         Provide extern decls when !HAVE_INLINE.  Do not define unless
56878         static_inline is defined, either by us or by xmalloc.c.  Use
56879         static_inline rather than static inline.
56880         (XCALLOC): Optimize sizeof(T) = 1 case.
56881         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
56882
56883 2006-11-07  Bruno Haible  <bruno@clisp.org>
56884
56885         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
56886         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
56887         AC_C_INLINE.
56888         * modules/xalloc (Files): Add m4/inline.m4.
56889
56890 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56891
56892         * README: Fix typo.
56893         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
56894         (Miscellanous Notes): ...from this.
56895
56896 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56897
56898         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
56899         Mention that offsetof should be used instead of sizeof.
56900         From Bruno Haible.
56901
56902 2006-11-07  Bruno Haible  <bruno@clisp.org>
56903
56904         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
56905
56906 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56907
56908         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56909         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
56910         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56911         (gl_tree_add_before, gl_tree_add_after):
56912         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
56913         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
56914         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56915         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
56916         (gl_linked_add_after, gl_linked_add_at): Likewise.
56917         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
56918         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56919         (gl_tree_add_before, gl_tree_add_after): Likewise.
56920         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
56921         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
56922         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
56923
56924 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56925
56926         * lib/gl_oset.h: Use C comment style, not C++ comment style.
56927
56928 2006-11-06  Bruno Haible  <bruno@clisp.org>
56929
56930         * m4/inline.m4: New file.
56931         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
56932         * modules/list (Files): Add m4/inline.m4.
56933         * modules/oset (Files): Likewise.
56934
56935 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56936
56937         * lib/idcache.c: Include <stddef.h>, for offsetof.
56938         (struct userid.name): Change from char * to a flexible array member.
56939         All uses changed.
56940         * modules/idcache (Depends-on): Add flexmember.
56941
56942         * MODULES.html.sh (Core language properties): New module flexmember.
56943         * modules/flexmember, m4/flexmember.m4: New files.
56944
56945         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
56946         inline functions that are identical with the old xnmalloc_inline,
56947         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
56948         that we can avoid some unnecessary integer multiplications and
56949         divisions in the common case where the element size is known at
56950         compile time.
56951         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
56952         needed.
56953         (xnboundedmalloc): Remove.
56954         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
56955         arguments, for consistency with rest of this header.
56956         (xcharalloc): Rewrite using XNMALLOC.
56957         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
56958         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
56959         versions have been moved to lib/xalloc.h and renamed to be the
56960         non-*_inline versions.
56961         (xmalloc, xrealloc): Implement without reference to the xnmalloc
56962         and xnrealloc functions, since those functions are now inline and
56963         now call us.
56964         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
56965         renaming described above.
56966         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
56967         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
56968         captures the dependency in AC_C_INLINE.
56969
56970         New module canonicalize-lgpl, proposed by Charles Wilson in
56971         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
56972         with a few small changes afterwards.
56973         * MODULES.html.sh (File system functions): New module
56974         canonicalize-lgpl.
56975         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
56976         and canonicalize_file_name.
56977         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
56978         * modules/canonicalize-lgpl: New files.
56979
56980 2006-11-05  Bruno Haible  <bruno@clisp.org>
56981
56982         * gnulib-tool (func_import, func_create_testdir): Create directories
56983         also for files in subdirectories of lib/.
56984
56985 2006-11-05  Bruno Haible  <bruno@clisp.org>
56986
56987         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
56988         ANSI C compliant.
56989
56990 2006-11-03  Bruno Haible  <bruno@clisp.org>
56991
56992         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56993         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
56994         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
56995         (xnboundedmalloc): New inline function.
56996         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
56997         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
56998         xmalloc.
56999         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
57000         xmalloc.
57001         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
57002         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
57003         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
57004         xmalloc.
57005         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57006         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
57007         xmalloc.
57008         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
57009         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57010         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
57011         xmalloc.
57012         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57013         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
57014         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57015         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
57016         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
57017         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
57018         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
57019
57020 2006-11-03  Bruno Haible  <bruno@clisp.org>
57021
57022         * lib/c-ctype.h [C++]: Define functions without name mangling.
57023         * lib/fwriteerror.h [C++]: Likewise.
57024         * lib/gcd.h [C++]: Likewise.
57025         * lib/linebreak.h [C++]: Likewise.
57026
57027 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57028
57029         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
57030         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
57031         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
57032         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57033         Check for functions and headers just once.
57034         Check for declaration of canonicalize_file_name.
57035         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
57036
57037 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57038
57039         * gnulib-tool (func_import): Fix typo in actioncmd.
57040
57041 2006-11-02  Bruno Haible  <bruno@clisp.org>
57042
57043         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
57044         newline sequence in the Makefile.am snippet as a space, like "make"
57045         does.
57046         Reported by Roger Persson <perrog@gmail.com>.
57047
57048 2006-11-01  Bruno Haible  <bruno@clisp.org>
57049
57050         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
57051         already declared in <string.h>.
57052         * lib/strcase.h (strncasecmp): Don't declare it if yes.
57053
57054 2006-11-01  Bruno Haible  <bruno@clisp.org>
57055
57056         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
57057         * lib/strcase.h: Include <string.h>.
57058         (strcasecmp): Define to rpl_strcasecmp here.
57059
57060 2006-11-01  Bruno Haible  <bruno@clisp.org>
57061
57062         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
57063
57064 2006-11-01  Eric Blake  <ebb9@byu.net>
57065
57066         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
57067
57068         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
57069
57070 2006-10-29  Bruno Haible  <bruno@clisp.org>
57071
57072         Make it compile in C++ mode.
57073         * lib/full-write.c (full_rw): Add a cast.
57074
57075 2006-11-01  Bruno Haible  <bruno@clisp.org>
57076
57077         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
57078         be POSIX compliant.
57079         Reported by Roger Persson <perrog@gmail.com>.
57080
57081 2006-11-01  Eric Blake  <ebb9@byu.net>
57082
57083         * lib/getopt_.h: Fix comments.
57084
57085 2006-10-31  Eric Blake  <ebb9@byu.net>
57086
57087         * modules/tmpdir (Depends-on): Add sys_stat.
57088         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
57089         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
57090         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
57091         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
57092         tempname.
57093
57094 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
57095
57096         Avoid some C++ diagnostics reported by Bruno Haible.
57097         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
57098         xmalloc.
57099         (quotearg_alloc): Use xcharalloc rather than xmalloc.
57100         (struct slotvec): Move to top level.
57101         (quotearg_n_options): Rewrite to avoid xmalloc.
57102         * lib/xalloc.h (xcharalloc): New function.
57103         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
57104         [defined __cplusplus]: Add function template that provides result
57105         type propagation.  This part of the change is from Bruno Haible.
57106
57107 2006-10-29  Bruno Haible  <bruno@clisp.org>
57108
57109         Make it compile in C++ mode.
57110         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
57111         * lib/strnlen1.c (strnlen1): Cast memchr result.
57112         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
57113         * lib/clean-temp.c (string_equals, string_hash): Add casts.
57114         (create_temp_dir): Rename local variable 'template'.
57115         (compile_csharp_using_sscli): Add cast.
57116         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
57117         * lib/findprog.c (find_in_path): Likewise.
57118         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
57119         * lib/wait-process.c (register_slave_subprocess): Likewise.
57120
57121 2006-10-22  Bruno Haible  <bruno@clisp.org>
57122
57123         * modules/tsearch: New file.
57124         * lib/tsearch.h: New file.
57125         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
57126         * m4/tsearch.m4: New file.
57127         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
57128
57129 2006-10-29  Eric Blake  <ebb9@byu.net>
57130
57131         * lib/arcfour.c: Assume config.h.
57132         * lib/arctwo.c: Likewise.
57133         * lib/base64.c: Likewise.
57134         * lib/check-version.c: Likewise.
57135         * lib/crc.c: Likewise.
57136         * lib/des.c: Likewise.
57137         * lib/gc-gnulib.c: Likewise.
57138         * lib/gc-libgcrypt.c: Likewise.
57139         * lib/gc-pbkdf2-sha1.c: Likewise.
57140         * lib/getaddrinfo.c: Likewise.
57141         * lib/getdelim.c: Likewise.
57142         * lib/getline.c: Likewise.
57143         * lib/hmac-md5.c: Likewise.
57144         * lib/hmac-sha1.c: Likewise.
57145         * lib/iconvme.c: Likewise.
57146         * lib/md2.c: Likewise.
57147         * lib/md4.c: Likewise.
57148         * lib/memxor.c: Likewise.
57149         * lib/read-file.c: Likewise.
57150         * lib/readline.c: Likewise.
57151         * lib/rijndael-alg-fst.c: Likewise.
57152         * lib/rijndael-api-fst.c: Likewise.
57153         * lib/xgetdomainname.c: Likewise.
57154
57155 2006-10-28  Eric Blake  <ebb9@byu.net>
57156
57157         * lib/xstrndup.c: Assume config.h.
57158
57159 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57160
57161         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
57162         stat-macros.h is now for our own macros, whereas stat_h is for
57163         macros in the <sys/stat.h> name space.
57164         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
57165         (STAT_MACROS_H): Remove.
57166         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
57167         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
57168         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
57169         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
57170         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
57171         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
57172         Move these macros to ...
57173         * lib/stat_.h: here.  Don't include stat-macros.h.
57174         * lib/canonicalize.c: Don't include stat-macros.h.
57175         * lib/chown.c: Likewise.
57176         * lib/euidaccess.c: Likewise.
57177         * lib/file-type.c: Likewise.
57178         * lib/filemode.c: Likewise.
57179         * lib/glob.c: Likewise.
57180         * lib/isapipe.c: Likewise.
57181         * lib/lchown.c: Likewise.
57182         * lib/lstat.c: Likewise.
57183         * lib/mkdir-p.c: Likewise.
57184         * lib/rmdir.c: Likewise.
57185         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
57186         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
57187         unless mkdir isn't declared, to speed up 'configure'.
57188         Always create sys/stat.h, since it's unlikely any real sys/stat.h
57189         would define all the S_* symbols.
57190         * modules/canonicalize (Depends-on):
57191         Depend on sys_stat, not stat-macros.
57192         * modules/chown: Likewise.
57193         * modules/euidaccess: Likewise.
57194         * modules/filemode: Likewise.
57195         * modules/file-type: Likewise.
57196         * modules/glob: Likewise.
57197         * modules/isapipe: Likewise.
57198         * modules/lchown: Likewise.
57199         * modules/lstat: Likewise.
57200         * modules/mkancesdirs: Likewise.
57201         * modules/rmdir: Likewise.
57202         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
57203         * modules/modechange: Likewise.
57204         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
57205         (configure.ac): Remove gl_STAT_MACROS.
57206         * modules/sys_stat (Depends-on): Remove stat-macros.
57207
57208 2006-10-27  Bruno Haible  <bruno@clisp.org>
57209
57210         * m4/signed.m4: Remove file.
57211         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
57212         invocation.
57213         * modules/vasnprintf (Files): Remove m4/signed.m4.
57214
57215 2006-10-27  Bruno Haible  <bruno@clisp.org>
57216
57217         Update to GNU gettext 0.16.
57218         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
57219         m4/inttypes-h.m4, m4/signed.m4.
57220         * m4/gettext.m4: Update to GNU gettext 0.16.
57221         * m4/intl.m4: New file, from GNU gettext.
57222         * m4/intldir.m4: New file, from GNU gettext.
57223         * config/srclist.txt: Update
57224
57225 2006-10-27  Eric Blake  <ebb9@byu.net>
57226
57227         * MODULES.html.sh: Document tempname.
57228         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
57229         dependencies.
57230         (Files): Move lib/tempname.c...
57231         * modules/tempname: ...to this new module.
57232         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
57233         (gl_PREREQ_TEMPNAME): Move...
57234         * m4/tempname.m4: ...to this new file.
57235         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
57236         * modules/sys_stat (Depends-on): Add stat-macros.
57237         * lib/stat_.h (includes): Pick up stat macros.
57238         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
57239         if stat macros are broken.
57240         * lib/tempname.c (includes): No need to include "stat-macros.h".
57241         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
57242         (direxists, __path_search) [!_LIBC]: Don't compile these in
57243         gnulib; the tmpdir module covers that.
57244         * lib/tempname.h: New file.
57245
57246 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57247
57248         * COPYING: Explain how gnulib-tool converts licence headers.
57249         Almost all wording by Eric Blake.
57250
57251 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
57252
57253         * lib/mbchar.h (is_basic_table): Make read-only.
57254         * lib/mbchar.c (is_basic_table): Likewise.
57255         Reported by John Darrington.
57256
57257 2006-10-25  Bruno Haible  <bruno@clisp.org>
57258
57259         * lib/progname.h (set_program_name): Undefine before defining.
57260
57261 2006-10-25  Bruno Haible  <bruno@clisp.org>
57262
57263         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
57264         false for non-gcc C++ compilers.
57265         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57266
57267 2006-10-24  Bruno Haible  <bruno@clisp.org>
57268
57269         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
57270         iconv implementations like Irix iconv.
57271
57272 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57273
57274         * modules/vararrays: New file.
57275         * m4/vararrays.m4: New file, taken from diffutils.
57276         * MODULES.html.sh: New module vararrays.
57277
57278 2006-10-24  Karl Berry  <karl@gnu.org>
57279
57280         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
57281         Don't call GNU Unix.
57282
57283 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57284
57285         * users.txt: Add Libtool.
57286
57287         Sync from Libtool:
57288
57289         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57290
57291         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
57292         to gnulib's policy of including config.h unconditionally.
57293
57294 2006-10-24  Bruno Haible  <bruno@clisp.org>
57295
57296         * modules/wcwidth (Files): Add m4/wint_t.m4.
57297         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
57298         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
57299
57300 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57301
57302         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
57303         to pacify GCC with some -W flags enabled.  Problem reported by
57304         Bruno Haible.
57305
57306 2006-10-24  Jim Meyering  <jim@meyering.net>
57307
57308         * MODULES.html.sh: Remove uinttostr.  It's not a module.
57309         Reported by Karl Berry.
57310
57311 2006-10-23  Bruno Haible  <bruno@clisp.org>
57312
57313         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
57314
57315 2006-10-24  Bruno Haible  <bruno@clisp.org>
57316
57317         * lib/gl_list.h: Use C comment style, not C++ comment style.
57318
57319 2006-10-23  Eric Blake  <ebb9@byu.net>
57320
57321         * lib/getaddrinfo.c (includes): Add missing include.
57322
57323 2006-10-23  Bruno Haible  <bruno@clisp.org>
57324             Paul Eggert  <eggert@cs.ucla.edu>
57325
57326         Ability to rename obstack_free.
57327         * lib/obstack.h (__obstack_free): New macro. Declare instead of
57328         obstack_free.
57329         (obstack_free): Invoke the __obstack_free macro.
57330         * lib/obstack.c (obstack_free): Use __obstack_free macro.
57331
57332 2006-10-23  Bruno Haible  <bruno@clisp.org>
57333             Paul Eggert  <eggert@cs.ucla.edu>
57334
57335         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
57336         __argc, __argv from the declaration. (They are defined as macros on
57337         mingw.)
57338
57339 2006-10-22  Bruno Haible  <bruno@clisp.org>
57340
57341         * doc/gnulib-intro.texi: New file.
57342         * doc/gnulib.texi: Include it.
57343
57344 2006-10-21  Bruno Haible  <bruno@clisp.org>
57345
57346         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
57347         "Introduction", "Miscellanous Notes", "Particular Modules".
57348
57349 2006-10-21  Bruno Haible  <bruno@clisp.org>
57350
57351         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57352         Change mostlyclean-local rule to avoid sh syntax error from bash
57353         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
57354
57355 2006-10-23  Jim Meyering  <jim@meyering.net>
57356
57357         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
57358         in place of snprintf.
57359
57360         * modules/inttostr (Files): Add lib/uinttostr.c.
57361         * lib/uinttostr.c (inttostr): New file/function.
57362         * lib/inttostr.h (uinttostr): Declare.
57363         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
57364         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57365         Add uinttostr.
57366         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
57367
57368 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57369
57370         * lib/canonicalize.c (ELOOP): Define if not already defined.
57371         Problem reported by Bruno Haible in
57372         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
57373
57374 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57375
57376         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
57377         Problem reported by Perry Smith and Ville Laurikari.
57378
57379         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
57380         uses.
57381
57382 2006-10-19  Bruno Haible  <bruno@clisp.org>
57383
57384         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
57385         for mingw.
57386
57387 2006-10-19  Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
57390         Needed for mingw.
57391
57392 2006-10-19  Bruno Haible  <bruno@clisp.org>
57393
57394         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
57395
57396 2006-10-19  Bruno Haible  <bruno@clisp.org>
57397
57398         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
57399         it.
57400
57401 2006-10-19  Bruno Haible  <bruno@clisp.org>
57402
57403         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
57404         invocation.
57405
57406 2006-10-19  Bruno Haible  <bruno@clisp.org>
57407
57408         * gnulib-tool (func_create_testdir): Don't include ftruncate and
57409         mountlist by default.
57410
57411 2006-10-16  Bruno Haible  <bruno@clisp.org>
57412
57413         * lib/c-strstr.c: Include c-strstr.h.
57414
57415 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57416
57417         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
57418         in a slash.
57419
57420 2006-10-18  Bruno Haible  <bruno@clisp.org>
57421
57422         * lib/lock.h [C++]: Wrap definitions in extern "C".
57423
57424 2006-10-18  Bruno Haible  <bruno@clisp.org>
57425
57426         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
57427         gl_LIBOBJS list.
57428
57429 2006-10-18  Bruno Haible  <bruno@clisp.org>
57430
57431         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
57432
57433 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
57434
57435         * lib/xstrtol.h: Include gettext.h.
57436         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
57437         Problem reported by Eric Blake.
57438         * modules/xstrtol (Depends-on): Add gettext-h.
57439
57440 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
57441
57442         * lib/strftime.c (advance): New macro.
57443         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
57444         incomplete type, so you can't add 0 to it.  Problem and patch
57445         reported by Eelco Dolstra for dietlibc.
57446
57447 2006-10-18  Jim Meyering  <jim@meyering.net>
57448
57449         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
57450         type for a local, and rename it: s/up/user_proc/.
57451
57452 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57453
57454         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
57455         READ_UTMP_USER_PROCESS.
57456         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
57457
57458 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57459
57460         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
57461         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
57462
57463 2006-10-17  Eric Blake  <ebb9@byu.net>
57464
57465         * lib/sigprocmask.c (sigprocmask): Fix typo.
57466
57467         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
57468
57469         * modules/clean-temp (Makefile.am): Don't add to make output...
57470         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
57471         config.h.
57472
57473 2006-10-17  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
57476         differently if DEFAULT_TEXT_DOMAIN is set.
57477
57478 2006-10-16  Bruno Haible  <bruno@clisp.org>
57479
57480         * lib/clean-temp.c: Include fwriteerror.h.
57481
57482 2006-10-16  Bruno Haible  <bruno@clisp.org>
57483
57484         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
57485
57486 2006-10-16  Bruno Haible  <bruno@clisp.org>
57487
57488         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
57489         * lib/sigprocmask.h: Include <sys/types.h>.
57490         (sigset_t): Use the system's definition if present.
57491
57492 2006-10-17  Eric Blake  <ebb9@byu.net>
57493
57494         * lib/xvasprintf.c (includes): Assume config.h.
57495         * lib/xasprintf.c (includes): Likewise.
57496
57497 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57498
57499         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
57500         at least as wide as intmax_t.
57501
57502 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
57503
57504         (Imported from Automake.)
57505         * build-aux/gnupload: Update to version 1.1 of directive file.
57506
57507 2006-10-16  Eric Blake  <ebb9@byu.net>
57508
57509         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
57510         match Automake 1.10a.
57511
57512 2006-10-14  Bruno Haible  <bruno@clisp.org>
57513
57514         * modules/sigprocmask: New file.
57515         * lib/sigprocmask.h: New file.
57516         * lib/sigprocmask.c: New file.
57517         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
57518         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
57519         request sigprocmask.o.
57520         (gl_PREREQ_SIGPROCMASK): New macro.
57521         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
57522         (Depends-on): Add sigprocmask.
57523         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
57524         gt_SIGNALBLOCKING. Test for 'raise' only once.
57525         * lib/fatal-signal.c: Include sigprocmask.h.
57526         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
57527         unblock_fatal_signals): Define always.
57528         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57529         sigprocmask.
57530
57531 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57532
57533         Sync from Automake.
57534         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
57535         which incorrectly sets the mode of an existing destination
57536         directory.  In some cases the unpatched install-sh could do the
57537         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
57538         system.  We hope this is rare in practice, but it's clearly worth
57539         fixing.  Problem reported by Alex Unleashed in
57540         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
57541         Also, don't bother to check for -m bugs unless we're using -m;
57542         suggested by Stepan Kasal.
57543
57544 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57545
57546         Sync from Automake.
57547         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
57548         `-c' flag, so they appear at the same position as in %FASTDEP%
57549         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
57550         which ignores unknown options only after the first non-option.
57551         Bug report against M4 by Nelson H. F. Beebe.
57552
57553 2006-10-13  Jim Meyering  <jim@meyering.net>
57554
57555         Fix a bug in yesterday's change.
57556         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
57557         p->fts_statp->st_dev would be used uninitialized.
57558         Ensures that we always call fts_stat on the very first entry.
57559         Miklos Szeredi reported that find -xdev stopped working.
57560
57561 2006-10-12  Bruno Haible  <bruno@clisp.org>
57562
57563         * gnulib-tool (func_get_automake_snippet): Append an automatically
57564         computed EXTRA_DIST augmentation.
57565         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
57566         * modules/alloca-opt (Makefile.am): Likewise.
57567         * modules/allocsa (Makefile.am): Likewise.
57568         * modules/arcfour (Makefile.am): Likewise.
57569         * modules/arctwo (Makefile.am): Likewise.
57570         * modules/argmatch (Makefile.am): Likewise.
57571         * modules/argz (Makefile.am): Likewise.
57572         * modules/atexit (Makefile.am): Likewise.
57573         * modules/backupfile (Makefile.am): Likewise.
57574         * modules/byteswap (Makefile.am): Likewise.
57575         * modules/c-strtod (Makefile.am): Likewise.
57576         * modules/c-strtold (Makefile.am): Likewise.
57577         * modules/calloc (Makefile.am): Likewise.
57578         * modules/canon-host (Makefile.am): Likewise.
57579         * modules/canonicalize (Makefile.am): Likewise.
57580         * modules/chdir-long (Makefile.am): Likewise.
57581         * modules/chdir-safer (Makefile.am): Likewise.
57582         * modules/check-version (Makefile.am): Likewise.
57583         * modules/chown (Makefile.am): Likewise.
57584         * modules/cloexec (Makefile.am): Likewise.
57585         * modules/close-stream (Makefile.am): Likewise.
57586         * modules/closeout (Makefile.am): Likewise.
57587         * modules/crc (Makefile.am): Likewise.
57588         * modules/csharpexec (Makefile.am): Likewise.
57589         * modules/cycle-check (Makefile.am): Likewise.
57590         * modules/des (Makefile.am): Likewise.
57591         * modules/dev-ino (Makefile.am): Likewise.
57592         * modules/dirfd (Makefile.am): Likewise.
57593         * modules/dirname (Makefile.am): Likewise.
57594         * modules/dup2 (Makefile.am): Likewise.
57595         * modules/eealloc (Makefile.am): Likewise.
57596         * modules/error (Makefile.am): Likewise.
57597         * modules/euidaccess (Makefile.am): Likewise.
57598         * modules/exclude (Makefile.am): Likewise.
57599         * modules/exitfail (Makefile.am): Likewise.
57600         * modules/fcntl-safer (Makefile.am): Likewise.
57601         * modules/fcntl (Makefile.am): Likewise.
57602         * modules/file-type (Makefile.am): Likewise.
57603         * modules/fileblocks (Makefile.am): Likewise.
57604         * modules/filemode (Makefile.am): Likewise.
57605         * modules/filenamecat (Makefile.am): Likewise.
57606         * modules/fnmatch (Makefile.am): Likewise.
57607         * modules/fopen-safer (Makefile.am): Likewise.
57608         * modules/fpending (Makefile.am): Likewise.
57609         * modules/fprintftime (Makefile.am): Likewise.
57610         * modules/free (Makefile.am): Likewise.
57611         * modules/fsusage (Makefile.am): Likewise.
57612         * modules/ftruncate (Makefile.am): Likewise.
57613         * modules/fts (Makefile.am): Likewise.
57614         * modules/gc-arcfour (Makefile.am): Likewise.
57615         * modules/gc-des (Makefile.am): Likewise.
57616         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57617         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57618         * modules/gc-md4 (Makefile.am): Likewise.
57619         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57620         * modules/gc-sha1 (Makefile.am): Likewise.
57621         * modules/gc (Makefile.am): Likewise.
57622         * modules/getaddrinfo (Makefile.am): Likewise.
57623         * modules/getcwd (Makefile.am): Likewise.
57624         * modules/getdelim (Makefile.am): Likewise.
57625         * modules/getdomainname (Makefile.am): Likewise.
57626         * modules/getgroups (Makefile.am): Likewise.
57627         * modules/gethostname (Makefile.am): Likewise.
57628         * modules/gethrxtime (Makefile.am): Likewise.
57629         * modules/getline (Makefile.am): Likewise.
57630         * modules/getloadavg (Makefile.am): Likewise.
57631         * modules/getlogin_r (Makefile.am): Likewise.
57632         * modules/getndelim2 (Makefile.am): Likewise.
57633         * modules/getopt (Makefile.am): Likewise.
57634         * modules/getpagesize (Makefile.am): Likewise.
57635         * modules/getpass-gnu (Makefile.am): Likewise.
57636         * modules/getpass (Makefile.am): Likewise.
57637         * modules/getsubopt (Makefile.am): Likewise.
57638         * modules/gettime (Makefile.am): Likewise.
57639         * modules/gettimeofday (Makefile.am): Likewise.
57640         * modules/getugroups (Makefile.am): Likewise.
57641         * modules/getusershell (Makefile.am): Likewise.
57642         * modules/glob (Makefile.am): Likewise.
57643         * modules/group-member (Makefile.am): Likewise.
57644         * modules/hard-locale (Makefile.am): Likewise.
57645         * modules/hash (Makefile.am): Likewise.
57646         * modules/hmac-md5 (Makefile.am): Likewise.
57647         * modules/hmac-sha1 (Makefile.am): Likewise.
57648         * modules/human (Makefile.am): Likewise.
57649         * modules/idcache (Makefile.am): Likewise.
57650         * modules/imaxabs (Makefile.am): Likewise.
57651         * modules/imaxdiv (Makefile.am): Likewise.
57652         * modules/inet_ntop (Makefile.am): Likewise.
57653         * modules/inet_pton (Makefile.am): Likewise.
57654         * modules/intprops (Makefile.am): Likewise.
57655         * modules/inttostr (Makefile.am): Likewise.
57656         * modules/inttypes (Makefile.am): Likewise.
57657         * modules/isapipe (Makefile.am): Likewise.
57658         * modules/javaversion (Makefile.am): Likewise.
57659         * modules/lchmod (Makefile.am): Likewise.
57660         * modules/lchown (Makefile.am): Likewise.
57661         * modules/localcharset (Makefile.am): Likewise.
57662         * modules/long-options (Makefile.am): Likewise.
57663         * modules/lstat (Makefile.am): Likewise.
57664         * modules/malloc (Makefile.am): Likewise.
57665         * modules/mathl (Makefile.am): Likewise.
57666         * modules/mbchar (Makefile.am): Likewise.
57667         * modules/md2 (Makefile.am): Likewise.
57668         * modules/md4 (Makefile.am): Likewise.
57669         * modules/md5 (Makefile.am): Likewise.
57670         * modules/memcasecmp (Makefile.am): Likewise.
57671         * modules/memchr (Makefile.am): Likewise.
57672         * modules/memcmp (Makefile.am): Likewise.
57673         * modules/memcoll (Makefile.am): Likewise.
57674         * modules/memcpy (Makefile.am): Likewise.
57675         * modules/memmem (Makefile.am): Likewise.
57676         * modules/memmove (Makefile.am): Likewise.
57677         * modules/mempcpy (Makefile.am): Likewise.
57678         * modules/memrchr (Makefile.am): Likewise.
57679         * modules/memset (Makefile.am): Likewise.
57680         * modules/memxor (Makefile.am): Likewise.
57681         * modules/mkancesdirs (Makefile.am): Likewise.
57682         * modules/mkdir-p (Makefile.am): Likewise.
57683         * modules/mkdir (Makefile.am): Likewise.
57684         * modules/mkdtemp (Makefile.am): Likewise.
57685         * modules/mkstemp (Makefile.am): Likewise.
57686         * modules/mktime (Makefile.am): Likewise.
57687         * modules/modechange (Makefile.am): Likewise.
57688         * modules/mountlist (Makefile.am): Likewise.
57689         * modules/nanosleep (Makefile.am): Likewise.
57690         * modules/obstack (Makefile.am): Likewise.
57691         * modules/openat (Makefile.am): Likewise.
57692         * modules/pagealign_alloc (Makefile.am): Likewise.
57693         * modules/pathmax (Makefile.am): Likewise.
57694         * modules/physmem (Makefile.am): Likewise.
57695         * modules/poll (Makefile.am): Likewise.
57696         * modules/posixtm (Makefile.am): Likewise.
57697         * modules/posixver (Makefile.am): Likewise.
57698         * modules/putenv (Makefile.am): Likewise.
57699         * modules/quote (Makefile.am): Likewise.
57700         * modules/quotearg (Makefile.am): Likewise.
57701         * modules/raise (Makefile.am): Likewise.
57702         * modules/read-file (Makefile.am): Likewise.
57703         * modules/readline (Makefile.am): Likewise.
57704         * modules/readlink (Makefile.am): Likewise.
57705         * modules/readtokens (Makefile.am): Likewise.
57706         * modules/readutmp (Makefile.am): Likewise.
57707         * modules/realloc (Makefile.am): Likewise.
57708         * modules/regex (Makefile.am): Likewise.
57709         * modules/rename-dest-slash (Makefile.am): Likewise.
57710         * modules/rename (Makefile.am): Likewise.
57711         * modules/rijndael (Makefile.am): Likewise.
57712         * modules/rmdir (Makefile.am): Likewise.
57713         * modules/rpmatch (Makefile.am): Likewise.
57714         * modules/safe-read (Makefile.am): Likewise.
57715         * modules/safe-write (Makefile.am): Likewise.
57716         * modules/same-inode (Makefile.am): Likewise.
57717         * modules/same (Makefile.am): Likewise.
57718         * modules/save-cwd (Makefile.am): Likewise.
57719         * modules/savedir (Makefile.am): Likewise.
57720         * modules/setenv (Makefile.am): Likewise.
57721         * modules/settime (Makefile.am): Likewise.
57722         * modules/sha1 (Makefile.am): Likewise.
57723         * modules/sig2str (Makefile.am): Likewise.
57724         * modules/snprintf (Makefile.am): Likewise.
57725         * modules/stat-macros (Makefile.am): Likewise.
57726         * modules/stat-time (Makefile.am): Likewise.
57727         * modules/stdbool (Makefile.am): Likewise.
57728         * modules/stdint (Makefile.am): Likewise.
57729         * modules/stdlib-safer (Makefile.am): Likewise.
57730         * modules/stpcpy (Makefile.am): Likewise.
57731         * modules/stpncpy (Makefile.am): Likewise.
57732         * modules/strcase (Makefile.am): Likewise.
57733         * modules/strcasestr (Makefile.am): Likewise.
57734         * modules/strchrnul (Makefile.am): Likewise.
57735         * modules/strcspn (Makefile.am): Likewise.
57736         * modules/strdup (Makefile.am): Likewise.
57737         * modules/strerror (Makefile.am): Likewise.
57738         * modules/strftime (Makefile.am): Likewise.
57739         * modules/strndup (Makefile.am): Likewise.
57740         * modules/strnlen (Makefile.am): Likewise.
57741         * modules/strpbrk (Makefile.am): Likewise.
57742         * modules/strsep (Makefile.am): Likewise.
57743         * modules/strstr (Makefile.am): Likewise.
57744         * modules/strtod (Makefile.am): Likewise.
57745         * modules/strtoimax (Makefile.am): Likewise.
57746         * modules/strtok_r (Makefile.am): Likewise.
57747         * modules/strtol (Makefile.am): Likewise.
57748         * modules/strtoll (Makefile.am): Likewise.
57749         * modules/strtoul (Makefile.am): Likewise.
57750         * modules/strtoull (Makefile.am): Likewise.
57751         * modules/strtoumax (Makefile.am): Likewise.
57752         * modules/strverscmp (Makefile.am): Likewise.
57753         * modules/sys_socket (Makefile.am): Likewise.
57754         * modules/sys_stat (Makefile.am): Likewise.
57755         * modules/sysexits (Makefile.am): Likewise.
57756         * modules/time_r (Makefile.am): Likewise.
57757         * modules/timegm (Makefile.am): Likewise.
57758         * modules/timespec (Makefile.am): Likewise.
57759         * modules/tmpfile-safer (Makefile.am): Likewise.
57760         * modules/trim (Makefile.am): Likewise.
57761         * modules/unistd-safer (Makefile.am): Likewise.
57762         * modules/unlinkdir (Makefile.am): Likewise.
57763         * modules/unlocked-io (Makefile.am): Likewise.
57764         * modules/userspec (Makefile.am): Likewise.
57765         * modules/utime (Makefile.am): Likewise.
57766         * modules/utimecmp (Makefile.am): Likewise.
57767         * modules/utimens (Makefile.am): Likewise.
57768         * modules/vasnprintf (Makefile.am): Likewise.
57769         * modules/vasprintf (Makefile.am): Likewise.
57770         * modules/vsnprintf (Makefile.am): Likewise.
57771         * modules/xalloc (Makefile.am): Likewise.
57772         * modules/xgetcwd (Makefile.am): Likewise.
57773         * modules/xnanosleep (Makefile.am): Likewise.
57774         * modules/xreadlink (Makefile.am): Likewise.
57775         * modules/xstrtod (Makefile.am): Likewise.
57776         * modules/xstrtol (Makefile.am): Likewise.
57777         * modules/xstrtold (Makefile.am): Likewise.
57778         * modules/yesno (Makefile.am): Likewise.
57779         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
57780
57781 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57782
57783         * modules/error (Makefile.am): Distribute files through
57784         EXTRA_DIST, not lib_SOURCES.
57785
57786 2006-10-12  Eric Blake  <ebb9@byu.net>
57787
57788         * modules/error (Makefile.am): Distribute files in /lib.
57789         * modules/obstack (Makefile.am): Likewise.
57790
57791 2006-10-12  Bruno Haible  <bruno@clisp.org>
57792
57793         * modules/acl (Makefile.am): Distribute all files in lib/ through
57794         EXTRA_DIST.
57795         * modules/arcfour (Makefile.am): Likewise.
57796         * modules/arctwo (Makefile.am): Likewise.
57797         * modules/argmatch (Makefile.am): Likewise.
57798         * modules/argz (Makefile.am): Likewise.
57799         * modules/atexit (Makefile.am): Likewise.
57800         * modules/backupfile (Makefile.am): Likewise.
57801         * modules/c-strtod (Makefile.am): Likewise.
57802         * modules/c-strtold (Makefile.am): Likewise.
57803         * modules/calloc (Makefile.am): Likewise.
57804         * modules/canon-host (Makefile.am): Likewise.
57805         * modules/canonicalize (Makefile.am): Likewise.
57806         * modules/chdir-long (Makefile.am): Likewise.
57807         * modules/chdir-safer (Makefile.am): Likewise.
57808         * modules/check-version (Makefile.am): Likewise.
57809         * modules/chown (Makefile.am): Likewise.
57810         * modules/cloexec (Makefile.am): Likewise.
57811         * modules/close-stream (Makefile.am): Likewise.
57812         * modules/closeout (Makefile.am): Likewise.
57813         * modules/crc (Makefile.am): Likewise.
57814         * modules/cycle-check (Makefile.am): Likewise.
57815         * modules/des (Makefile.am): Likewise.
57816         * modules/dirfd (Makefile.am): Likewise.
57817         * modules/dirname (Makefile.am): Likewise.
57818         * modules/dup2 (Makefile.am): Likewise.
57819         * modules/euidaccess (Makefile.am): Likewise.
57820         * modules/exclude (Makefile.am): Likewise.
57821         * modules/exitfail (Makefile.am): Likewise.
57822         * modules/fcntl-safer (Makefile.am): Likewise.
57823         * modules/file-type (Makefile.am): Likewise.
57824         * modules/fileblocks (Makefile.am): Likewise.
57825         * modules/filemode (Makefile.am): Likewise.
57826         * modules/filenamecat (Makefile.am): Likewise.
57827         * modules/fnmatch (Makefile.am): Likewise.
57828         * modules/fopen-safer (Makefile.am): Likewise.
57829         * modules/fpending (Makefile.am): Likewise.
57830         * modules/fprintftime (Makefile.am): Likewise.
57831         * modules/free (Makefile.am): Likewise.
57832         * modules/fsusage (Makefile.am): Likewise.
57833         * modules/ftruncate (Makefile.am): Likewise.
57834         * modules/fts (Makefile.am): Likewise.
57835         * modules/gc (Makefile.am): Likewise.
57836         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57837         * modules/getaddrinfo (Makefile.am): Likewise.
57838         * modules/getcwd (Makefile.am): Likewise.
57839         * modules/getdelim (Makefile.am): Likewise.
57840         * modules/getdomainname (Makefile.am): Likewise.
57841         * modules/getgroups (Makefile.am): Likewise.
57842         * modules/gethostname (Makefile.am): Likewise.
57843         * modules/gethrxtime (Makefile.am): Likewise.
57844         * modules/getline (Makefile.am): Likewise.
57845         * modules/getloadavg (Makefile.am): Likewise.
57846         * modules/getlogin_r (Makefile.am): Likewise.
57847         * modules/getopt (Makefile.am): Likewise.
57848         * modules/getpass (Makefile.am): Likewise.
57849         * modules/getpass-gnu (Makefile.am): Likewise.
57850         * modules/getsubopt (Makefile.am): Likewise.
57851         * modules/gettime (Makefile.am): Likewise.
57852         * modules/gettimeofday (Makefile.am): Likewise.
57853         * modules/getugroups (Makefile.am): Likewise.
57854         * modules/getusershell (Makefile.am): Likewise.
57855         * modules/glob (Makefile.am): Likewise.
57856         * modules/group-member (Makefile.am): Likewise.
57857         * modules/hard-locale (Makefile.am): Likewise.
57858         * modules/hash (Makefile.am): Likewise.
57859         * modules/hmac-md5 (Makefile.am): Likewise.
57860         * modules/hmac-sha1 (Makefile.am): Likewise.
57861         * modules/human (Makefile.am): Likewise.
57862         * modules/idcache (Makefile.am): Likewise.
57863         * modules/imaxabs (Makefile.am): Likewise.
57864         * modules/imaxdiv (Makefile.am): Likewise.
57865         * modules/inet_ntop (Makefile.am): Likewise.
57866         * modules/inet_pton (Makefile.am): Likewise.
57867         * modules/inttostr (Makefile.am): Likewise.
57868         * modules/isapipe (Makefile.am): Likewise.
57869         * modules/lchown (Makefile.am): Likewise.
57870         * modules/long-options (Makefile.am): Likewise.
57871         * modules/lstat (Makefile.am): Likewise.
57872         * modules/malloc (Makefile.am): Likewise.
57873         * modules/mathl (Makefile.am): Likewise.
57874         * modules/mbchar (Makefile.am): Likewise.
57875         * modules/md2 (Makefile.am): Likewise.
57876         * modules/md4 (Makefile.am): Likewise.
57877         * modules/md5 (Makefile.am): Likewise.
57878         * modules/memcasecmp (Makefile.am): Likewise.
57879         * modules/memchr (Makefile.am): Likewise.
57880         * modules/memcmp (Makefile.am): Likewise.
57881         * modules/memcoll (Makefile.am): Likewise.
57882         * modules/memcpy (Makefile.am): Likewise.
57883         * modules/memmem (Makefile.am): Likewise.
57884         * modules/memmove (Makefile.am): Likewise.
57885         * modules/mempcpy (Makefile.am): Likewise.
57886         * modules/memrchr (Makefile.am): Likewise.
57887         * modules/memset (Makefile.am): Likewise.
57888         * modules/memxor (Makefile.am): Likewise.
57889         * modules/mkancesdirs (Makefile.am): Likewise.
57890         * modules/mkdir (Makefile.am): Likewise.
57891         * modules/mkdir-p (Makefile.am): Likewise.
57892         * modules/mkdtemp (Makefile.am): Likewise.
57893         * modules/mkstemp (Makefile.am): Likewise.
57894         * modules/mktime (Makefile.am): Likewise.
57895         * modules/modechange (Makefile.am): Likewise.
57896         * modules/mountlist (Makefile.am): Likewise.
57897         * modules/nanosleep (Makefile.am): Likewise.
57898         * modules/openat (Makefile.am): Likewise.
57899         * modules/pagealign_alloc (Makefile.am): Likewise.
57900         * modules/physmem (Makefile.am): Likewise.
57901         * modules/poll (Makefile.am): Likewise.
57902         * modules/posixtm (Makefile.am): Likewise.
57903         * modules/posixver (Makefile.am): Likewise.
57904         * modules/putenv (Makefile.am): Likewise.
57905         * modules/quote (Makefile.am): Likewise.
57906         * modules/quotearg (Makefile.am): Likewise.
57907         * modules/raise (Makefile.am): Likewise.
57908         * modules/read-file (Makefile.am): Likewise.
57909         * modules/readline (Makefile.am): Likewise.
57910         * modules/readlink (Makefile.am): Likewise.
57911         * modules/readtokens (Makefile.am): Likewise.
57912         * modules/readutmp (Makefile.am): Likewise.
57913         * modules/realloc (Makefile.am): Likewise.
57914         * modules/regex (Makefile.am): Likewise.
57915         * modules/rename (Makefile.am): Likewise.
57916         * modules/rename-dest-slash (Makefile.am): Likewise.
57917         * modules/rijndael (Makefile.am): Likewise.
57918         * modules/rmdir (Makefile.am): Likewise.
57919         * modules/rpmatch (Makefile.am): Likewise.
57920         * modules/safe-read (Makefile.am): Likewise.
57921         * modules/safe-write (Makefile.am): Likewise.
57922         * modules/same (Makefile.am): Likewise.
57923         * modules/save-cwd (Makefile.am): Likewise.
57924         * modules/savedir (Makefile.am): Likewise.
57925         * modules/setenv (Makefile.am): Likewise.
57926         * modules/settime (Makefile.am): Likewise.
57927         * modules/sha1 (Makefile.am): Likewise.
57928         * modules/sig2str (Makefile.am): Likewise.
57929         * modules/snprintf (Makefile.am): Likewise.
57930         * modules/stdlib-safer (Makefile.am): Likewise.
57931         * modules/stpcpy (Makefile.am): Likewise.
57932         * modules/stpncpy (Makefile.am): Likewise.
57933         * modules/strcase (Makefile.am): Likewise.
57934         * modules/strcasestr (Makefile.am): Likewise.
57935         * modules/strchrnul (Makefile.am): Likewise.
57936         * modules/strcspn (Makefile.am): Likewise.
57937         * modules/strdup (Makefile.am): Likewise.
57938         * modules/strerror (Makefile.am): Likewise.
57939         * modules/strftime (Makefile.am): Likewise.
57940         * modules/strndup (Makefile.am): Likewise.
57941         * modules/strnlen (Makefile.am): Likewise.
57942         * modules/strpbrk (Makefile.am): Likewise.
57943         * modules/strsep (Makefile.am): Likewise.
57944         * modules/strstr (Makefile.am): Likewise.
57945         * modules/strtod (Makefile.am): Likewise.
57946         * modules/strtoimax (Makefile.am): Likewise.
57947         * modules/strtok_r (Makefile.am): Likewise.
57948         * modules/strtol (Makefile.am): Likewise.
57949         * modules/strtoll (Makefile.am): Likewise.
57950         * modules/strtoul (Makefile.am): Likewise.
57951         * modules/strtoull (Makefile.am): Likewise.
57952         * modules/strtoumax (Makefile.am): Likewise.
57953         * modules/strverscmp (Makefile.am): Likewise.
57954         * modules/time_r (Makefile.am): Likewise.
57955         * modules/timegm (Makefile.am): Likewise.
57956         * modules/tmpfile-safer (Makefile.am): Likewise.
57957         * modules/unistd-safer (Makefile.am): Likewise.
57958         * modules/unlinkdir (Makefile.am): Likewise.
57959         * modules/userspec (Makefile.am): Likewise.
57960         * modules/utime (Makefile.am): Likewise.
57961         * modules/utimecmp (Makefile.am): Likewise.
57962         * modules/utimens (Makefile.am): Likewise.
57963         * modules/vasnprintf (Makefile.am): Likewise.
57964         * modules/vasprintf (Makefile.am): Likewise.
57965         * modules/vsnprintf (Makefile.am): Likewise.
57966         * modules/xalloc (Makefile.am): Likewise.
57967         * modules/xgetcwd (Makefile.am): Likewise.
57968         * modules/xnanosleep (Makefile.am): Likewise.
57969         * modules/xreadlink (Makefile.am): Likewise.
57970         * modules/xstrtod (Makefile.am): Likewise.
57971         * modules/xstrtol (Makefile.am): Likewise.
57972         * modules/xstrtold (Makefile.am): Likewise.
57973         * modules/yesno (Makefile.am): Likewise.
57974
57975 2006-10-12  Jim Meyering  <jim@meyering.net>
57976
57977         * m4/getloadavg.m4: Revert the change below.
57978
57979         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
57980         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
57981         fail with a symlink, which is what coreutils' ./bootstrap now
57982         creates by default.
57983
57984 2006-10-12  Bruno Haible  <bruno@clisp.org>
57985
57986         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
57987         mingw.
57988         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
57989         MSVC and mingw explicitly.
57990
57991 2006-10-11  Simon Josefsson  <jas@extundo.com>
57992             Bruno Haible  <bruno@clisp.org>
57993
57994         Add support for multiple gnulib-tool invocations in the scope of a
57995         single configure.ac file.
57996         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
57997         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
57998         with the same contents as the _LIBADD variable.
57999         (func_emit_initmacro_start, func_emit_initmacro_end,
58000         func_emit_initmacro_done): New functions.
58001         (func_import, func_create_testdir): Invoke them. Allow the identifiers
58002         gl_LIBOBJS and gl_LTLIBOBJS.
58003
58004 2006-10-11  Bruno Haible  <bruno@clisp.org>
58005
58006         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
58007         (func_create_testdir): Don't create po/Makefile.am, don't invoke
58008         autoreconf. Instead, invoke autopoint explicitly but move back the
58009         *.m4 files from gnulib.
58010
58011 2006-10-11  Bruno Haible  <bruno@clisp.org>
58012
58013         * gnulib-tool (func_usage): Make module names after --create-testdir
58014         optional.
58015         (func_create_testdir): If no module was specified, use nearly all
58016         modules.
58017
58018 2006-10-12  Jim Meyering  <jim@meyering.net>
58019
58020         Big performance improvement for fts-based tools that use FTS_NOSTAT.
58021         Avoid spurious inode-mismatch problems on non-POSIX file systems.
58022         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
58023         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
58024         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
58025         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
58026         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
58027         (fts_set_stat_required): New function.
58028         (fts_open): Defer the calls to fts_stat, if possible or requested.
58029         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
58030         into fts_stat itself.
58031         (fts_read): Perform any required (deferred) fts_stat call.
58032         (fts_build): Likewise, for the directory we're about to open and read.
58033         In the readdir loop, carefully decide whether each entry will require
58034         an eventual call to fts_stat, using dirent.d_type info if available.
58035         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
58036         a command line argument into this function.  Update all callers.
58037         Map a return value of FTS_DOT to FTS_D for a command line argument.
58038         * modules/fts (Depends-on): Add d-type.  Alphabetize.
58039         Thanks to Miklos Szeredi for his tenacity and for the initial
58040         bug report about "find" failing on a FUSE-based file system.
58041
58042         * lib/fts.c (fts_open): Use consistent indentation.
58043
58044 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58045
58046         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
58047         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
58048         reported by Jim Meyering.  All uses of cache variables renamed
58049         to match Autoconf's.
58050         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
58051         the other one.
58052
58053         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
58054         Fix misspelling in diagnostic.
58055
58056 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58057
58058         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
58059         defined.  Problem reported by Matthew Woehlke.
58060
58061         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
58062         Add support for Tandem NonStop R series.
58063         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
58064         Use new macro.
58065
58066         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
58067         (has_trailing_slash): Omit size arg; all callers changed.
58068         Omit 'inline', since it doesn't help performance and we'd
58069         need to configure it.
58070         Don't count //, ///, etc. as having a trailing slash.
58071         As a side effect, this removes a C99ism reported by Matthew Woehlke.
58072         (rpl_rename_dest_slash): On failure, use rename's errno rather
58073         than (in some cases) an incorrect or junk errno.
58074         Simplify code by removing need to compute length; this does
58075         cause it to make two passes instead of one over the file name,
58076         but it's worth it.
58077
58078         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
58079         change, since Autoconf's version may no longer be appropriate now
58080         that we are using CVS Autoconf's version.  Add support for Tandem.
58081
58082 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58083             Bruno Haible  <bruno@clisp.org>
58084
58085         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
58086         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
58087         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
58088         gl_AC_TYPE_LONG_LONG.
58089
58090         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
58091         instead of HAVE_LONG_LONG.
58092         * lib/printf-args.c (printf_fetchargs): Likewise.
58093         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
58094         * lib/vasnprintf.c (VASNPRINTF): Likewise.
58095         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
58096         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
58097         gl_AC_TYPE_LONG_LONG.
58098
58099 2006-10-11  Bruno Haible  <bruno@clisp.org>
58100
58101         * m4/longlong.m4: Add comments.
58102         * m4/ulonglong.m4: Likewise.
58103
58104 2006-10-10  Bruno Haible  <bruno@clisp.org>
58105
58106         Make it possible to #define stpcpy, strdup to aliases.
58107         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
58108         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
58109
58110 2006-10-10  Bruno Haible  <bruno@clisp.org>
58111
58112         Make it possible to #define gcd to an alias.
58113         * lib/gcd.c: Include config.h.
58114
58115 2006-10-10  Bruno Haible  <bruno@clisp.org>
58116
58117         Make it possible to #define c_isascii to an alias.
58118         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
58119         defined. Undefine the macros before defining them, to avoid gcc
58120         warnings.
58121         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
58122         define NO_C_CTYPE_MACROS early.
58123
58124 2006-10-10  Bruno Haible  <bruno@clisp.org>
58125
58126         Make it possible to #define set_program_name to an alias.
58127         * lib/progname.c: Don't undefine set_program_name; instead, undefine
58128         ENABLE_RELOCATABLE early.
58129
58130 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58131
58132         Port to Tandem NSK OSS, which has 64-bit signed int but at most
58133         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
58134         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
58135         More generally, don't assume that 64-bit signed int is available
58136         if unsigned int is, and vice versa.
58137         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
58138         unsigned symbols, not on their signed counterparts.
58139         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
58140         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
58141         (UINT64_C, UINTMAX_C):
58142         Likewise.
58143         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
58144         unsigned counterparts.
58145         (Have_long_long, Unsigned): New macros.
58146         (Int): Renamed from INT.
58147         (strtoimax): Use the new macros.
58148         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
58149         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
58150         * modules/inttypes (inttypes.h): Substitute
58151         HAVE_UNSIGNED_LONG_LONG_INT.
58152         * modules/stdint (stdint.h): Likewise.
58153         (Files): Add m4/ulonglong.m4.
58154
58155 2006-10-10  Bruno Haible  <bruno@clisp.org>
58156
58157         Fix a gcc -Wshadow warning.
58158         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
58159         to 'bucket'.
58160         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58161         gl_linked_indexof_from_to): Likewise.
58162         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
58163         Likewise.
58164         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
58165         Likewise.
58166         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
58167         Reported by Eric Blake.
58168
58169 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
58170
58171         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
58172         for NetBSD.  Problem reported by Bruno Haible.
58173
58174 2006-10-09  Jim Meyering  <jim@meyering.net>
58175
58176         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
58177         Patch from Bruno Haible.
58178
58179 2006-10-09  Jim Meyering  <jim@meyering.net>
58180
58181         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
58182         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
58183         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
58184
58185 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58186
58187         Don't include <config.h> twice; this doesn't work in some cases,
58188         e.g., when config.h has "#define intmax_t long long int" and
58189         we include <config.h>, <inttypes.h>, <config.h> in that order.
58190         Problem reported by Matthew Woehlke in:
58191         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
58192         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
58193         * lib/fts-cycle.c: Don't include config.h.
58194         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
58195         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
58196         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
58197         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
58198         inttypes.h.
58199         * lib/xstrtoumax.c: Likewise.
58200         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
58201         __strtol and the like, so that this module is more like its siblings.
58202         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
58203         Remove; no longer needed now that we assume gnulib inttypes.h.
58204
58205 2006-10-08  Bruno Haible  <bruno@clisp.org>
58206
58207         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
58208         option.
58209
58210 2006-10-07  Jim Meyering  <jim@meyering.net>
58211
58212         * modules/inttypes (inttypes.h): Revert what seems to have been
58213         an inadvertent part of today's change: use "|", not "/" in the
58214         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
58215
58216 2006-10-07  Bruno Haible  <bruno@clisp.org>
58217
58218         * modules/sublist: New file.
58219
58220 2006-10-07  Bruno Haible  <bruno@clisp.org>
58221
58222         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
58223         * modules/argz (argz.h): Likewise.
58224         * modules/arpa_inet (arpa/inet.h): Likewise.
58225         * modules/byteswap (byteswap.h): Likewise.
58226         * modules/configmake (configmake.h): Likewise.
58227         * modules/fcntl (fcntl.h): Likewise.
58228         * modules/fnmatch (fnmatch.h): Likewise.
58229         * modules/getopt (getopt.h): Likewise.
58230         * modules/glob (glob.h): Likewise.
58231         * modules/inttypes (inttypes.h): Likewise.
58232         * modules/netinet_in (netinet/in.h): Likewise.
58233         * modules/poll (poll.h): Likewise.
58234         * modules/stdbool (stdbool.h): Likewise.
58235         * modules/stdint (stdint.h): Likewise.
58236         * modules/sys_select (sys/select.h): Likewise.
58237         * modules/sys_socket (sys/socket.h): Likewise.
58238         * modules/sys_stat (sys/stat.h): Likewise.
58239         * modules/sysexits (sysexits.h): Likewise.
58240         * modules/unistd (unistd.h): Likewise.
58241         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58242         Add a "DO NOT EDIT" comment to the generated file.
58243         (func_import): Likewise for gnulib-comp.m4.
58244
58245 2006-10-07  Bruno Haible  <bruno@clisp.org>
58246
58247         * lib/gl_sublist.h: New file.
58248         * lib/gl_sublist.c: New file.
58249
58250 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58251
58252         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
58253         name (relative to the original working directory) and the file
58254         name component (relative to the temporary working directory).  All
58255         callers changed.
58256         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
58257         * lib/mkdir-p.c (make_dir_parents): Likewise.
58258         * lib/mkdir-p.h (make_dir_parents): Likewise.
58259
58260 2006-10-06  Eric Blake  <ebb9@byu.net>
58261
58262         Define several macros for use by the clean-temp module.
58263         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
58264         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
58265         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
58266
58267         * lib/clean-temp.h (close_stream_temp): New declaration.
58268         * lib/clean-temp.c (includes): Pull in headers according to what
58269         other modules are in use.
58270         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
58271
58272 2006-10-06  Bruno Haible  <bruno@clisp.org>
58273
58274         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
58275         instead of fopen, fwriteerror.
58276
58277 2006-10-06  Bruno Haible  <bruno@clisp.org>
58278
58279         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
58280         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
58281         int.
58282         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
58283         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
58284         Return an error indicator.
58285         Suggested by Eric Blake.
58286
58287 2006-10-06  Bruno Haible  <bruno@clisp.org>
58288
58289         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
58290         Reported by Eric Blake.
58291
58292 2006-10-06  Bruno Haible  <bruno@clisp.org>
58293
58294         * modules/closeout (Description): Mention stderr too.
58295
58296 2006-10-06  Bruno Haible  <bruno@clisp.org>
58297         and Paul Eggert  <eggert@cs.ucla.edu>
58298
58299         * lib/closeout.c (close_stdout): Also close stderr.
58300         * lib/closeout.h: Update comment.
58301
58302 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58303
58304         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
58305         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
58306         * lib/dirchownmod.c: Include lchown.h.
58307         * lib/lchown.c: Don't include files that lchown.h now includes.
58308         Don't declare chown, since lchown.h now does that.
58309         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
58310         (lchown): Define to rpl_chown if lchown is declared but
58311         does not exist.  Declare using a prototype if lchown is not
58312         declared.  Add a copyright notice.
58313         * lib/mkstemp.h: Include <unistd.h>.
58314         * lib/openat.c: Include lchown.h.
58315
58316         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
58317         we now test for that separately.
58318         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
58319         rather than O_NOFOLLOW, when testing whether it's possible to
58320         avoid a race condition reliably.
58321         * lib/savewd.c (savewd_chdir): Likewise.
58322
58323         Remove macros that are no longer needed now that stdint.h is
58324         reliable.
58325         * lib/fsusage.c (UINTMAX_MAX): Remove.
58326         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
58327         * lib/utimecmp.c (SIZE_MAX): Remove.
58328
58329         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
58330
58331         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
58332         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
58333         O_NOATIME works.
58334
58335 2006-10-05  Bruno Haible  <bruno@clisp.org>
58336
58337         * lib/gl_list.h (gl_sortedlist_search_from_to,
58338         gl_sortedlist_indexof_from_to): New declarations.
58339         (gl_list_implementation): New fields sortedlist_search_from_to,
58340         sortedlist_indexof_from_to.
58341         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
58342         inline functions.
58343         * lib/gl_list.c (gl_sortedlist_search_from_to,
58344         gl_sortedlist_indexof_from_to): New functions.
58345         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
58346         function.
58347         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
58348         (gl_array_sortedlist_search_from_to): New function.
58349         (gl_array_list_implementation): Update.
58350         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
58351         function.
58352         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
58353         (gl_carray_sortedlist_search_from_to): New function.
58354         (gl_carray_list_implementation): Update.
58355         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
58356         gl_linked_sortedlist_indexof_from_to): New functions.
58357         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58358         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58359         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
58360         gl_tree_sortedlist_indexof_from_to): New functions.
58361         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58362         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58363         Update.
58364         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58365         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
58366         Update.
58367
58368 2006-10-05  Bruno Haible  <bruno@clisp.org>
58369
58370         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
58371         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
58372         (struct gl_list_implementation): Add fields search_from_to,
58373         indexof_from_to. Remove fields search, indexof.
58374         (gl_list_search): Use the search_from_to method.
58375         (gl_list_search_from, gl_list_search_from_to): New functions.
58376         (gl_list_indexof): Use the indexof_from_to method.
58377         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58378         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
58379         (gl_list_search_from, gl_list_search_from_to): New functions.
58380         (gl_list_indexof): Use the indexof_from_to method.
58381         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58382         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
58383         gl_array_indexof. Add start_index, end_index arguments.
58384         (gl_array_search_from_to): Renamed from gl_array_search. Add
58385         start_index, end_index arguments.
58386         (gl_array_remove, gl_array_list_implementation): Update.
58387         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
58388         gl_carray_indexof. Add start_index, end_index arguments.
58389         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
58390         start_index, end_index arguments.
58391         (gl_carray_remove, gl_carray_list_implementation): Update.
58392         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
58393         gl_linked_search. Add start_index, end_index arguments.
58394         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
58395         start_index, end_index arguments.
58396         (gl_linked_remove): Update.
58397         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58398         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58399         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
58400         field to 'size_t'.
58401         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
58402         gl_tree_search. Add start_index, end_index arguments.
58403         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58404         start_index, end_index arguments.
58405         (gl_tree_remove): Update.
58406         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58407         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58408         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
58409         function.
58410         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
58411         gl_tree_search. Add start_index, end_index arguments.
58412         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58413         start_index, end_index arguments.
58414         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58415         Update.
58416         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58417
58418 2006-10-05  Bruno Haible  <bruno@clisp.org>
58419
58420         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
58421
58422         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
58423         fwriteerror_temp): New declarations.
58424         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
58425         (descriptors): New variable.
58426         (cleanup): First, close the descriptors.
58427         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
58428         fclose_temp, fwriteerror_temp): New functions.
58429
58430 2006-10-04  Jim Meyering  <jim@meyering.net>
58431
58432         * lib/fts.c (fts_open): Tiny comment change.
58433
58434 2006-10-04  Bruno Haible  <bruno@clisp.org>
58435
58436         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
58437         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
58438         gl_LOCK_BODY.
58439         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
58440         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
58441         gl_LOCK_EARLY_BODY.
58442         (gl_LOCK): Require gl_LOCK_BODY.
58443
58444 2006-10-04  Bruno Haible  <bruno@clisp.org>
58445
58446         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
58447         (gl_oset_search_atleast): New declaration.
58448         (struct gl_oset_implementation): Add field 'search_atleast'.
58449         (gl_oset_search_atleast): New inline function.
58450         * lib/gl_oset.c (gl_oset_search_atleast): New function.
58451         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
58452         (gl_array_oset_implementation): Update.
58453         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
58454         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
58455         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
58456
58457 2006-10-04  Bruno Haible  <bruno@clisp.org>
58458
58459         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
58460
58461 2006-10-03  Bruno Haible  <bruno@clisp.org>
58462
58463         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
58464         from gl_avltreehash_list_implementation.
58465
58466 2006-10-03  Bruno Haible  <bruno@clisp.org>
58467
58468         * lib/gl_oset.c (gl_oset_add): Fix return type.
58469
58470 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
58471
58472         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
58473
58474 2006-10-02  Eric Blake  <ebb9@byu.net>
58475
58476         * modules/strnlen (Depends-on): Add extensions.
58477
58478 2006-10-02  Eric Blake  <ebb9@byu.net>
58479
58480         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
58481         definition in 2.60+.
58482
58483 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
58484
58485         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
58486         checks.
58487
58488 2006-10-02  Bruno Haible  <bruno@clisp.org>
58489
58490         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
58491         to the AUTOMAKE_OPTIONS.
58492         Reported by Jim Meyering.
58493
58494 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
58495
58496         Work around bug in Solaris 10 /proc file system:
58497         /proc/self/fd/NNN/.. isn't the parent directory of
58498         the directory whose file descriptor is NNN.  This needs to
58499         be worked around at run time, not compile time, since a
58500         program might be built on Solaris 8, where things work, and
58501         run on Solaris 10.
58502         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
58503         to use the following interface instead:
58504         (OPENAT_BUFFER_SIZE): New macro.
58505         (openat_proc_name): New function.
58506         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
58507         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
58508         Likewise.
58509         * lib/openat-proc.c: New file.
58510         * modules/openat (Files): Add lib/openat-proc.c.
58511         (Depends-on): Add same-inode, stdbool.
58512         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
58513
58514 2006-09-29  Bruno Haible  <bruno@clisp.org>
58515
58516         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
58517         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
58518         argument. Set stdout_closed before testing for ferror, not after.
58519         (fwriteerror, fwriteerror_no_ebadf): New functions.
58520
58521 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58522
58523         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
58524
58525 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
58526
58527         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
58528         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
58529
58530 2006-09-28  Jim Meyering  <jim@meyering.net>
58531
58532         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
58533         Include <unistd.h>.
58534
58535 2006-09-28  Bruno Haible  <bruno@clisp.org>
58536
58537         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
58538         * modules/linkedhash-list (Depends-on): Likewise.
58539         * modules/rbtreehash-list (Depends-on): Likewise.
58540
58541 2006-09-28  Bruno Haible  <bruno@clisp.org>
58542
58543         * lib/strndup.h: Simplify the redefinition of strndup.
58544         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
58545         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
58546
58547 2006-09-28  Bruno Haible  <bruno@clisp.org>
58548
58549         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
58550         * lib/gl_linkedhash_list.c: Likewise.
58551         * lib/gl_rbtreehash_list.c: Likewise.
58552
58553 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
58556         getaddrinfo.
58557
58558         * lib/__fpending.h: Don't include <stdio_ext.h> unless
58559         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
58560         it causes <stdio_ext.h> to cause a compile-time error.
58561         Problem reported by Nelson H. F. Beebe.
58562         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
58563         of HAVE_DECL___PENDING.
58564
58565         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
58566         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
58567         declaration.
58568
58569 2006-09-27  Jim Meyering  <jim@meyering.net>
58570
58571         This file could end up with a definition for a function
58572         named __strndup, rather than rpl_strndup on a system with
58573         incomplete weak_alias support.
58574         * lib/strndup.c (strndup): Rename from __strndup.
58575         Remove #defines that used to map __strndup to strndup.
58576         Don't use K&R prototypes.
58577         Remove LIBC-related code, since this file is not sync'd with glibc.
58578         * lib/strndup.h: Revamp, accordingly.
58579         * m4/strndup.m4: Modernize.
58580
58581 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
58582
58583         * modules/savewd (Depends-on): Add 'raise'.
58584         * lib/savewd.c: Include <signal.h>, for 'raise'.
58585
58586 2006-09-26  Jim Meyering  <jim@meyering.net>
58587
58588         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
58589         when we detect Darwin 8.7.0's acl_get_file bug.
58590         Rearrange to perform the new (below) run-test while $LIBS
58591         contains any acl-related library.  Set USE_ACL at the end.
58592         (gl_ACL_GET_FILE): New function.
58593
58594 2006-09-26  Eric Blake  <ebb9@byu.net>
58595
58596         * lib/verror.c: Include <config.h> unconditionally.
58597
58598 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
58599
58600         * modules/clock-time (Maintainer): Add self.
58601         * modules/getlogin_r (Depends-on): Add extensions.
58602
58603 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58604
58605         * modules/clock-time: New module.
58606         * modules/nanosleep (Depends-on): Add clock-time.
58607         * modules/gethrxtime (Depends-on): Likewise.
58608         * modules/gettime (Depends-on): Likewise.
58609         * modules/settime (Depends-on): Likewise.
58610
58611         * modules/fts-lgpl: Depend on openat.
58612         * modules/mkancesdirs: Depend on savewd.
58613         * modules/mkdir-p: Likewise.
58614
58615 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58616
58617         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58618
58619         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58620         `gl_have_arbitrary_file_name_length_limit' to
58621         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58622         actually works between configure runs.
58623
58624 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58625             Bruno Haible  <bruno@clisp.org>
58626
58627         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58628
58629 2006-09-25  Jim Meyering  <jim@meyering.net>
58630
58631         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
58632         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
58633
58634 2006-09-25  Eric Blake  <ebb9@byu.net>
58635
58636         * gnulib-tool (func_import, func_create_testdir): Fix typos in
58637         exec's in 2006-09-18 patch when shuffling fds.
58638
58639 2006-09-25  Bruno Haible  <bruno@clisp.org>
58640
58641         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
58642         Reported by Jim Meyering.
58643
58644 2006-09-24  Jim Meyering  <jim@meyering.net>
58645
58646         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
58647         compare a pointer against a literal "0".  That caused failures with
58648         at least HP-UX's hpcc.
58649
58650 2006-09-22  Simon Josefsson  <jas@extundo.com>
58651
58652         * modules/gc-sha1:
58653         * modules/gc-md4:
58654         * modules/gc-hmac-sha1:
58655         * modules/gc-hmac-md5:
58656         * modules/gc-des:
58657         * modules/gc-arcfour: Distribute more files.
58658
58659 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58660
58661         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
58662         (gl_linked_iterator_from_to): Initialize struct completely.
58663         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
58664         (gl_tree_iterator_from_to): Likewise
58665         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
58666         * lib/gl_array_list.c [lint] (gl_array_iterator)
58667         (gl_array_iterator_from_to): Likewise.
58668         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
58669         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
58670         (gl_carray_iterator_from_to): Likewise.
58671
58672         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
58673         * lib/md4.c (md4_process_block): Remove unused variable.
58674         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
58675         parentheses for clarity.
58676
58677 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58678
58679         * modules/bison-i18n (Depends-on): Add gettext.
58680
58681 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58682
58683         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
58684         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
58685         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
58686         also add missing comma that caused broken test.
58687         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
58688         stdlib.h, for `abort'.
58689         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
58690         variables.
58691         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
58692         include unistd.h if present, for `rmdir'.
58693         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
58694         variables.
58695         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
58696         in the process include standard headers for prototypes.
58697         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
58698         gets declared on GNU/Linux.
58699         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
58700         unistd.h, for `rmdir'.
58701         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
58702
58703         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
58704         always true.
58705         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
58706
58707         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
58708
58709 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58710
58711         * gnulib-tool (func_version): Create output all at once.  This
58712         may help avoid triggering unnecessary SIGPIPEs, and at any
58713         rate it doesn't hurt.
58714
58715 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58716             Bruno Haible  <bruno@clisp.org>
58717
58718         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
58719         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58720         * m4/signed.m4 (bh_C_SIGNED): Likewise.
58721
58722         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
58723         (gl_FUNC_VASPRINTF): Invoke it.
58724
58725 2006-09-22  Bruno Haible  <bruno@clisp.org>
58726
58727         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
58728         getloadavg.c as first argument.
58729
58730 2006-09-22  Bruno Haible  <bruno@clisp.org>
58731
58732         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
58733         at the beginning of the gl_INIT macro.
58734         * modules/getloadavg (configure.ac): Pass $gl_source_base to
58735         gl_GETLOADAVG.
58736
58737 2006-09-22  Bruno Haible  <bruno@clisp.org>
58738
58739         * gnulib-tool (func_create_megatestdir): Don't include the config-h
58740         module.
58741         Suggested by Ralf Wildenhues.
58742
58743 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58744
58745         Import this patch from libc:
58746
58747         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
58748
58749         * lib/regex_internal.c (re_string_reconstruct): Handle
58750         offset < pstr->valid_raw_len && pstr->offsets_needed case.
58751         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
58752         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
58753         re_string_context_at.
58754
58755         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
58756         now requires it.
58757         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
58758         gl_REGEX now does it for us.
58759         (gl_REGEX): Add test taken from
58760         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
58761
58762         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
58763         Check that large offsets work.  Modernize Autoconf usages.
58764         Prefer "yes" to mean a good thing rather than a bad.
58765         Don't put "#define mkstemp" in config.h, as this might interfere
58766         with standard system headers that "#define mkstemp mkstemp64".
58767
58768         * modules/mkstemp (Depends-on): Add extensions, so that
58769         mkstemp is visible on some platforms.
58770         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
58771         (Include): Change to "mkstemp.h" from <stdlib.h>.
58772         (Files): Add mkstemp.h.
58773
58774         * lib/mkstemp.h: New file, since some standard headers
58775         #define mkstemp.
58776         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
58777         Include "mkstemp.h".
58778         Make the _LIBC code resemble glibc original more,
58779         e.g., use K&R style.
58780         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
58781         (mkstemp): Remove, since mkstemp.h does this for us.
58782         * lib/stdlib--.h: Include mkstemp.h.
58783
58784         Import this patch from libc:
58785
58786         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58787
58788         * lib/tempname.c (__gen_tempname): Change attempts_min
58789         into a macro.  Use preprocessor to decide how to initialize
58790         attempts [Coverity CID 67].
58791
58792 2006-09-20  Bruno Haible  <bruno@clisp.org>
58793
58794         * lib/mkdtemp.c: Import from libc.
58795         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58796                 * sysdeps/posix/tempname.c (__gen_tempname): Change
58797                 attempts_min into a macro.  Use preprocessor to decide how to
58798                 initialize attempts [Coverity CID 67].
58799         2001-11-27  Paul Eggert  <eggert@twinsun.com>
58800                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
58801                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
58802
58803 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58804
58805         * gnulib-tool (func_exit): New function, to allow to pass the
58806         exit status portably through the trap.  Use everywhere.
58807         (--help, --version): Signal a write error.
58808         (trap): catch SIGPIPE, for write errors.
58809         Exit at the end of the trap, with the correct exit status.
58810
58811 2006-09-19  Karl Berry  <karl@gnu.org>
58812
58813         * doc/gnulib.texi: note about the license texinfo files.
58814
58815 2006-09-19  Eric Blake  <ebb9@byu.net>
58816
58817         * gnulib-tool: Avoid space-tab.
58818
58819 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58820
58821         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
58822         that prevented coreutils 6.1 from building.  Problem reported
58823         by Petter Reinholdtsen.
58824
58825 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58826
58827         * gnulib-tool (avoidlist): Fix typo that broke options like
58828         --avoid=lock that are used by coreutils bootstrap.
58829
58830 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
58831
58832         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
58833         more systematically.
58834
58835 2006-09-18  Jim Meyering  <jim@meyering.net>
58836
58837         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
58838
58839 2006-09-18  Bruno Haible  <bruno@clisp.org>
58840
58841         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
58842
58843 2006-09-18  Bruno Haible  <bruno@clisp.org>
58844
58845         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
58846         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
58847         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
58848         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
58849         * m4/gettext.m4: Require autoconf >= 2.52.
58850         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
58851         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
58852         of gl_cv_header_inttypes_h.
58853
58854 2006-09-18  Bruno Haible  <bruno@clisp.org>
58855
58856         * lib/javaversion.c: Include configmake.h.
58857
58858 2006-09-18  Bruno Haible  <bruno@clisp.org>
58859
58860         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
58861         avoid that the while loops be executed in a subshell.
58862
58863 2006-09-18  Bruno Haible  <bruno@clisp.org>
58864
58865         * MODULES.html.sh (func_module): Break long lines.
58866         Suggested by Bruce Korb <bkorb@gnu.org>.
58867
58868 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58869
58870         Speed up by a factor of 1.12.
58871         * gnulib-tool (nl): New variable.
58872         (func_import): Rewrite include directive extraction to only read each
58873         directive once.
58874
58875 2006-09-17  Bruno Haible  <bruno@clisp.org>
58876
58877         * modules/javaversion (Makefile.am): Remove DEFS setting.
58878         (Depends-on): Add configmake, for PKGDATADIR definition.
58879
58880 2006-09-17  Bruno Haible  <bruno@clisp.org>
58881
58882         * gnulib-tool (func_create_testdir): Rewrite all files at once.
58883
58884 2006-09-17  Bruno Haible  <bruno@clisp.org>
58885
58886         * gnulib-tool (func_append): New function, stolen from libtool.m4.
58887         (func_modules_transitive_closure, func_modules_add_dummy,
58888         func_modules_to_filelist, func_import, func_create_testdir,
58889         func_create_megatestdir, ...): Use it wherever possible.
58890         Suggested by Ralf Wildenhues.
58891
58892 2006-09-16  Karl Berry  <karl@gnu.org>
58893
58894         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
58895         to avoid sectioning errors.
58896         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
58897         [ifinfo]: blank line after @center-ed titles.
58898         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
58899         Spell FSF address consistently with others.
58900         (These changes approved by rms.)
58901
58902 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58903
58904         Speed up by a factor of 1.61.
58905         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
58906         already checked module names again.
58907
58908 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58909
58910         Speed up by a factor of 1.13.
58911         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
58912         for new_files, and the input to func_add_or_update.
58913
58914 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58915
58916         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
58917         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
58918
58919 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58920
58921         * modules/mkancesdirs (Depends-on): Add fcntl.
58922         * modules/savewd: New file.
58923         * MODULES.html.sh (File system functions): Add savewd.
58924
58925         * modules/configmake (Makefile.am): Add support for the
58926         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
58927
58928 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58929
58930         * m4/savewd.m4: New file.
58931
58932 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58933
58934         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
58935         (dirchownmod): New arg FD.  All callers changed.
58936         Use FD rather than opening the directory ourself, as opening is
58937         now the caller's responsibility.
58938         * lib/dirchownmod.h: Likewise.
58939         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
58940         hosts that require <sys/types.h> before <sys/stat.h>.  Include
58941         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
58942         (test_dir): Remove.
58943         (mkancesdirs): Return length of prefix of FILE that has already
58944         been made, or -2 if there is a child doing the work.  Redo
58945         algorithm so that it is O(N) rather than O(N**2).  Optimize away
58946         ".", and treat ".." specially since it might stray back into
58947         already-created areas.  Use a subprocess if necessary.  New arg
58948         WD; all users changed.  MAKE_DIR function should now return 1
58949         if it creates a directory that is not readable.  Return -2 if
58950         a child process is spun off.
58951         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
58952         Adjust signature to match code.
58953         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
58954         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
58955         all users changed.
58956         * lib/savewd.c, lib/savewd.h: New files.
58957
58958 2006-09-15  Jim Meyering  <jim@meyering.net>
58959
58960         * modules/rename-dest-slash: New module.
58961         * MODULES.html.sh (posix_compat): Add it here.
58962
58963         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
58964
58965 2006-09-15  Jim Meyering  <jim@meyering.net>
58966
58967         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
58968         file.
58969
58970         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
58971
58972 2006-09-15  Jim Meyering  <jim@meyering.net>
58973
58974         * lib/rename-dest-slash.c (has_trailing_slash): Use
58975         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
58976         (rpl_rename_dest_slash): Perform the cheaper trailing slash
58977         test before testing whether SRC is a directory.
58978         Suggestions from Bruno Haible.
58979
58980         Avoid a warning about an unused variable.
58981         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
58982         into the #ifdef block where it's used.
58983
58984         * lib/rename-dest-slash.c: New file.
58985
58986 2006-09-14  Bruno Haible  <bruno@clisp.org>
58987
58988         * lib/allocsa.c: Include <config.h> unconditionally.
58989         * lib/asnprintf.c: Likewise.
58990         * lib/asprintf.c: Likewise.
58991         * lib/c-strcasecmp.c: Likewise.
58992         * lib/c-strcasestr.c: Likewise.
58993         * lib/c-strncasecmp.c: Likewise.
58994         * lib/c-strstr.c: Likewise.
58995         * lib/classpath.c: Likewise.
58996         * lib/clean-temp.c: Likewise.
58997         * lib/concatpath.c: Likewise.
58998         * lib/copy-file.c: Likewise.
58999         * lib/csharpcomp.c: Likewise.
59000         * lib/csharpexec.c: Likewise.
59001         * lib/execute.c: Likewise.
59002         * lib/fatal-signal.c: Likewise.
59003         * lib/findprog.c: Likewise.
59004         * lib/fwriteerror.c: Likewise.
59005         * lib/gl_array_list.c: Likewise.
59006         * lib/gl_array_oset.c: Likewise.
59007         * lib/gl_avltree_list.c: Likewise.
59008         * lib/gl_avltree_oset.c: Likewise.
59009         * lib/gl_avltreehash_list.c: Likewise.
59010         * lib/gl_carray_list.c: Likewise.
59011         * lib/gl_linked_list.c: Likewise.
59012         * lib/gl_linkedhash_list.c: Likewise.
59013         * lib/gl_list.c: Likewise.
59014         * lib/gl_oset.c: Likewise.
59015         * lib/gl_rbtree_list.c: Likewise.
59016         * lib/gl_rbtree_oset.c: Likewise.
59017         * lib/gl_rbtreehash_list.c: Likewise.
59018         * lib/imaxabs.c: Likewise.
59019         * lib/imaxdiv.c: Likewise.
59020         * lib/javacomp.c: Likewise.
59021         * lib/javaexec.c: Likewise.
59022         * lib/javaversion.c: Likewise.
59023         * lib/linebreak.c: Likewise.
59024         * lib/localcharset.c: Likewise.
59025         * lib/lock.c: Likewise.
59026         * lib/mbchar.c: Likewise.
59027         * lib/mbswidth.c: Likewise.
59028         * lib/mkdtemp.c: Likewise.
59029         * lib/pipe.c: Likewise.
59030         * lib/printf-args.c: Likewise.
59031         * lib/printf-parse.c: Likewise.
59032         * lib/progname.c: Likewise.
59033         * lib/progreloc.c: Likewise.
59034         * lib/readlink.c: Likewise.
59035         * lib/sh-quote.c: Likewise.
59036         * lib/stpcpy.c: Likewise.
59037         * lib/stpncpy.c: Likewise.
59038         * lib/strcasecmp.c: Likewise.
59039         * lib/strcasestr.c: Likewise.
59040         * lib/strcspn.c: Likewise.
59041         * lib/striconv.c: Likewise.
59042         * lib/strncasecmp.c: Likewise.
59043         * lib/strnlen1.c: Likewise.
59044         * lib/strstr.c: Likewise.
59045         * lib/strtok_r.c: Likewise.
59046         * lib/tls.c: Likewise.
59047         * lib/tmpdir.c: Likewise.
59048         * lib/unicodeio.c: Likewise.
59049         * lib/unsetenv.c: Likewise.
59050         * lib/vasnprintf.c: Likewise.
59051         * lib/vasprintf.c: Likewise.
59052         * lib/wait-process.c: Likewise.
59053         * lib/xallocsa.c: Likewise.
59054         * lib/xsetenv.c: Likewise.
59055         * lib/xstriconv.c: Likewise.
59056
59057 2006-09-13  Simon Josefsson  <jas@extundo.com>
59058
59059         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
59060         that internally, suggested by Ralf Wildenhues
59061         <Ralf.Wildenhues@gmx.de>.
59062
59063 2006-09-13  Simon Josefsson  <jas@extundo.com>
59064
59065         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
59066         @LIBOBJS@.
59067         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59068
59069 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59070
59071         * lib/_fpending.c: Include <config.h> unconditionally, since we no
59072         longer worry about uses that don't define HAVE_CONFIG_H.
59073         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
59074         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
59075         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
59076         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
59077         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
59078         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
59079         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
59080         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
59081         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
59082         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
59083         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
59084         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
59085         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
59086         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
59087         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
59088         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
59089         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
59090         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
59091         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
59092         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
59093         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
59094         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
59095         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
59096         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
59097         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
59098         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
59099         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
59100         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
59101         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
59102         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
59103         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
59104         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
59105         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
59106         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
59107         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
59108         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
59109         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
59110         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
59111         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
59112         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
59113         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
59114         Likewise.
59115
59116 2006-09-13  Eric Blake  <ebb9@byu.net>
59117
59118         * lib/getopt.c: Fix typo in last commit.
59119
59120 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59121
59122         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
59123         dgettext.
59124
59125 2006-09-12  Jim Meyering  <jim@meyering.net>
59126
59127         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
59128         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
59129         Reported by Nelson H. F. Beebe.
59130
59131 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59132
59133         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
59134         program_invocation_name and program_invocation_short_name are
59135         initialized.
59136         * lib/argp-namefrob.h: Move declarations of program_invocation_name
59137         and program_invocation_short_name to argp.h, so they are visible
59138         to user programs.
59139         * lib/argp.h: Likewise
59140
59141 2006-09-10  Bruno Haible  <bruno@clisp.org>
59142
59143         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59144         m4/inttypes_h.m4, m4/uintmax_t.m4.
59145
59146 2006-09-10  Bruno Haible  <bruno@clisp.org>
59147
59148         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
59149         gl_AC_TYPE_UINTMAX_T.
59150
59151 2006-09-10  Bruno Haible  <bruno@clisp.org>
59152
59153         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
59154
59155 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59156
59157         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
59158         convention.  Text proposed by Bruno Haible.
59159         (struct argp_option): Document the use of N_() wrappers.
59160
59161         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
59162         '\v', and translate the two parts separately, instead of feeding
59163         the whole string to gettext.  This allows to exclude
59164         '\v' from the strings visible to the translator by writing doc
59165         strings as N_("..") "\v" N_("..").
59166
59167 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
59168
59169         * config/srclist.txt: Undo latest change; the bug was fixed.
59170
59171 2006-09-09  Bruno Haible  <bruno@clisp.org>
59172
59173         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
59174         assignments if building a library without libtool.
59175         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
59176         in func_emit_lib_Makefile_am.
59177         (func_import): When building a static library libfoo.a, arrange to
59178         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
59179         (func_create_testdir): Likewise.
59180         * modules/gc (configure.ac, Makefile.am): If building statically,
59181         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
59182         * modules/iconvme (configure.ac, Makefile.am): Likewise.
59183         * modules/striconv (configure.ac, Makefile.am): Likewise.
59184         Based on a suggestion by Ralf Wildenhues.
59185
59186 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59187
59188         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59189         Check for unistd.h too, since Autoconf doesn't assume POSIX.
59190         Also:
59191
59192         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59193         Add year_2050_test to catch glibc bug 2821
59194         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59195
59196         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59197         Prefer #ifdef to #if.
59198
59199         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
59200         Return from 'main' instead of calling 'exit'.
59201
59202 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59203
59204         * lib/mktime.c (guess_time_tm): Fix bug where mktime
59205         returned the maximum time_t value rather than (time_t) -1.
59206         Problem originally reported by William Bardwell
59207         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59208
59209         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59210         Moved to here ...
59211         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59212         ... from here.
59213
59214 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59215
59216         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
59217         2821 is fixed.
59218
59219 2006-09-08  Jim Meyering  <jim@meyering.net>
59220
59221         Don't make generated files read-only.  That would bother too many
59222         people.  However, do retain the ability to work when targets are
59223         read-only: remove the destination and temporary files before writing
59224         them (when generated via sed or echo), or by using the -f option for
59225         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
59226         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59227         * modules/byteswap, modules/configmake, modules/fcntl:
59228         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59229         * modules/localcharset, modules/netinet_in, modules/poll:
59230         * modules/stdbool, modules/stdint, modules/sys_select:
59231         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59232
59233 2006-09-08  Jim Meyering  <jim@meyering.net>
59234
59235         Avoid new build failure on FreeBSD 6.0.
59236         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
59237         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
59238         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
59239
59240 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59241
59242         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
59243
59244 2006-09-07  Jim Meyering  <jim@meyering.net>
59245
59246         Fix global typo in last change: use chmod u-w, not chmod u-x.
59247         Spotted by Paul Eggert and Bruce Korb.
59248         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59249         * modules/byteswap, modules/configmake, modules/fcntl:
59250         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59251         * modules/localcharset, modules/netinet_in, modules/poll:
59252         * modules/stdbool, modules/stdint, modules/sys_select:
59253         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59254
59255 2006-09-06  Jim Meyering  <jim@meyering.net>
59256
59257         Make generated files be read-only.
59258         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
59259         Ensure that each generated file is now read-only.
59260         * modules/argz: Likewise.
59261         * modules/arpa_inet: Likewise.
59262         * modules/byteswap: Likewise.
59263         * modules/configmake: Likewise.
59264         * modules/fcntl: Likewise.
59265         * modules/fnmatch: Likewise.
59266         * modules/getopt: Likewise.
59267         * modules/glob: Likewise.
59268         * modules/inttypes: Likewise.
59269         * modules/netinet_in: Likewise.
59270         * modules/poll: Likewise.
59271         * modules/stdbool: Likewise.
59272         * modules/stdint: Likewise.
59273         * modules/sys_select: Likewise.
59274         * modules/sys_socket: Likewise.
59275         * modules/sys_stat: Likewise.
59276         * modules/sysexits: Likewise.
59277         * modules/localcharset: Same as above, but continue using temporary
59278         file named "t-$@" (why different?) rather than the "$@-t" used
59279         everywhere else.
59280
59281         * modules/sysexits (Makefile.am): Replace literal occurrences
59282         of "sysexit.h" more readable, and more consistent, "$@".
59283
59284 2006-09-06  Bruno Haible  <bruno@clisp.org>
59285
59286         * modules/striconv: New file.
59287         * modules/xstriconv: New file.
59288         * MODULES.html.sh (Internationalization functions): Add striconv,
59289         xstriconv.
59290
59291 2006-09-06  Bruno Haible  <bruno@clisp.org>
59292
59293         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
59294         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
59295         not using libtool correctly.
59296
59297 2006-09-06  Bruno Haible  <bruno@clisp.org>
59298
59299         * lib/striconv.h: New file.
59300         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
59301         iconvstring.c.
59302         * lib/xstriconv.h: New file.
59303         * lib/xstriconv.c: New file.
59304
59305 2006-09-06  Bruno Haible  <bruno@clisp.org>
59306
59307         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59308         lib_..._LDFLAGS.
59309
59310 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59311
59312         * lib/argz_.h: Sync from Libtool.
59313
59314         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
59315                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59316
59317         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
59318
59319 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59320
59321         * modules/trim: New file.
59322
59323 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59324
59325         * lib/trim.h: New file.
59326         * lib/trim.c: New file.
59327
59328 2006-09-05  Bruno Haible  <bruno@clisp.org>
59329
59330         * MODULES.html.sh (String handling): Add trim.
59331
59332 2006-09-04  Karl Berry  <karl@gnu.org>
59333
59334         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
59335         until next release.
59336
59337 2006-09-03  Bruno Haible  <bruno@clisp.org>
59338
59339         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
59340         correctly.
59341
59342 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59343
59344         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
59345         not gl_GETLOADAVG.  Omit unneeded semicolons.
59346         Problems reported by Ralf Wildenhues in
59347         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59348         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
59349         at the end, which is the usual gnulib style.
59350
59351         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
59352         of doing all the work ourselves.
59353         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
59354         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
59355
59356 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59357
59358         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
59359         Problem reported by Ralf Wildenhues in
59360         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59361
59362         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
59363         HAVE_STRUCT_STATFS_F_FSTYPENAME.
59364
59365 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59366
59367         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
59368         yesterday's patch by changing test -n to test -z.
59369
59370 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59371
59372         * modules/getloadavg (Files): Add m4/getloadavg.m4.
59373         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
59374         the former is now obsolescent.
59375
59376         * modules/chdir-long (Depends-on): Add fcntl.
59377
59378 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59379
59380         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
59381         obsolescent, and programs should use gnulib instead.
59382         * m4/getloadavg.m4: New file, with contents taken from Autoconf
59383         but with prefixes changed.
59384
59385 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59386
59387         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
59388         or stdbool.h, because they might not exist while configuring.
59389
59390         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
59391         Don't include unistd.h or limits.h; not needed, since chdir-long.h
59392         does that for us.
59393         (O_DIRECTORY): Remove.
59394
59395 2006-08-31  Eric Blake  <ebb9@byu.net>
59396
59397         * gnulib-tool: Don't let emacs change spaces to TAB.
59398
59399 2006-08-31  Bruno Haible  <bruno@clisp.org>
59400
59401         * gnulib-tool: When calling func_import more than once, do it in a
59402         subshell.
59403         Reported by Eric Blake <ebb9@byu.net>.
59404
59405 2006-08-31  Bruno Haible  <bruno@clisp.org>
59406
59407         * gnulib-tool (nl): Remove variable.
59408         (sed_transform_lib_file): Use more robust test for config-h module.
59409         (func_import): Fix typo in 2006-08-25 patch.
59410
59411 2006-08-31  Bruno Haible  <bruno@clisp.org>
59412
59413         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
59414         specified, augment Makefile.am variables instead of assigning them.
59415
59416 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59417
59418         Work around a bug in both the Linux and SunOS 64-bit kernels:
59419         nanosleep mishandles sleeps for longer than 2**31 seconds.
59420         Problem reported by Frank v Waveren in
59421         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
59423         Check for nanosleep bug.
59424         (LIB_NANOSLEEP): Append clock_gettime library if needed.
59425
59426 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59427
59428         Work around a bug in both the Linux and SunOS 64-bit kernels:
59429         nanosleep mishandles sleeps for longer than 2**31 seconds.
59430         Problem reported by Frank v Waveren in
59431         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59432         * lib/nanosleep.c (BILLION): New constant.
59433         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
59434         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
59435         implementation.
59436
59437 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59438
59439         * modules/nanosleep (Depends-on): Add gettime.
59440
59441 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59442         and Simon Josefsson  <jas@extundo.com>
59443         and Oskar Liljeblad  <oskar@osk.mine.nu>
59444
59445         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
59446         * gnulib-tool (func_import): New license type 'unmodifiable license
59447         text'.
59448         * modules/fdl: Use it.  Longer description.
59449         * module/gpl, module/lgpl: New files.
59450
59451 2006-08-30  Jim Meyering  <jim@meyering.net>
59452
59453         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
59454         shadowing the parameter.
59455
59456 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59457
59458         Sync from Libtool:
59459
59460         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59461
59462         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
59463         sharing with gnulib.  Report by Eric Blake.
59464
59465 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59466
59467         * modules/isapipe: New file.
59468         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
59469
59470 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59471
59472         * modules/configmake (Makefile.am): Add a comment, and omit
59473         the CONFIGMAKE_ prefix from generated macro names.  Suggested
59474         by Bruno Haible.
59475
59476 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59477
59478         * m4/isapipe.m4: New file.
59479
59480 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59481
59482         * lib/isapipe.c, lib/isapipe.h: New files.
59483
59484 2006-08-29  Jim Meyering  <jim@meyering.net>
59485
59486         * modules/configmake (Makefile.am): Make configmake.h depend on
59487         Makefile.  Otherwise, a stale configmake.h could hang around.
59488
59489 2006-08-29  Eric Blake  <ebb9@byu.net>
59490
59491         * lib/error.c (error_at_line, print_errno_message): Match libc, after
59492         resolution of upstream bug 3044.
59493
59494 2006-08-29  Bruno Haible  <bruno@clisp.org>
59495
59496         * modules/localcharset (Depends-on): Add configmake.
59497         (Makefile.am): Remove setting of LIBDIR through DEFS.
59498
59499 2006-08-29  Bruno Haible  <bruno@clisp.org>
59500
59501         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
59502         defined.
59503
59504 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59505
59506         * modules/fcntl: New file.
59507         * modules/chdir-safer (Depends-on): Add fcntl.
59508         * modules/fts: Likewise.
59509         * modules/mkdir-p: Likewise.
59510
59511         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
59512         This undoes the most recent change, since we're now addressing the
59513         problem in a different way.
59514
59515         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
59516         into output, since the output might be called Makefile.am even
59517         if $makefile_name is something different.
59518         (func_import): Use $makefile_am rather than
59519         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
59520         empty.
59521
59522         * modules/inttypes (Files): Add m4/inttypes-h.m4.
59523
59524 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59525
59526         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
59527         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
59528         recent change to stdint.m4, since we're now addressing the problem in a
59529         different way.
59530
59531 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59532
59533         * m4/fcntl_h.m4: New file.
59534
59535 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59536
59537         * lib/fcntl_.h: New file.
59538         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
59539         the fcntl module.
59540         * lib/dirchownmod.c: Likewise.
59541         * lib/fts.c: Likewise.
59542
59543         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
59544         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
59545         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
59546         just before including <inttypes.h>, to avoid circular inclusion.
59547
59548 2006-08-28  Jim Meyering  <jim@meyering.net>
59549
59550         * doc/visibility.texi: Actually read and correct the grammar of the
59551         sentence affected by yesterday's change.
59552
59553 2006-08-28  Eric Blake  <ebb9@byu.net>
59554
59555         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
59556         needs wrapper.
59557
59558 2006-08-28  Eric Blake  <ebb9@byu.net>
59559
59560         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
59561
59562 2006-08-28  Eric Blake  <ebb9@byu.net>
59563
59564         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
59565
59566 2006-08-28  Bruno Haible  <bruno@clisp.org>
59567
59568         * modules/c-strstr: New file, from GNU gettext.
59569         * MODULES.html.sh (String handling): Add c-strstr.
59570
59571 2006-08-28  Bruno Haible  <bruno@clisp.org>
59572
59573         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
59574         macros.
59575         Reported by Eric Blake.
59576
59577 2006-08-28  Bruno Haible  <bruno@clisp.org>
59578
59579         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
59580         (VASNPRINTF): Return a string of length > INT_MAX without failing.
59581         * lib/vasprintf.c: Include errno.h, limits.h.
59582         (EOVERFLOW): New fallback definition.
59583         (vasprintf): Test here whether the string length is > INT_MAX.
59584         * lib/vsnprintf.c: Include errno.h, limits.h.
59585         (EOVERFLOW): New fallback definition.
59586         (vsnprintf): Fix bug when generated string was too long for the buffer.
59587         Test here whether the string length is > INT_MAX.
59588
59589 2006-08-28  Bruno Haible  <bruno@clisp.org>
59590
59591         * lib/inttypes_.h (SCNX*): Remove definitions.
59592         Reported by Eric Blake.
59593
59594 2006-08-28  Bruno Haible  <bruno@clisp.org>
59595
59596         * lib/c-strstr.h: New file, from GNU gettext.
59597         * lib/c-strstr.c: New file, from GNU gettext.
59598
59599 2006-08-28  Bruno Haible  <bruno@clisp.org>
59600
59601         * gnulib-tool: Reorder some statements.
59602
59603 2006-08-28  Bruno Haible  <bruno@clisp.org>
59604
59605         * gnulib-tool: New option --makefile-name.
59606         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59607         $makefile_name.
59608         (func_import): Write $makefile_name to the cache file, and read it from
59609         there unless explicitly specified. Use $makefile_name as file name
59610         instead of Makefile.am. Adjust the recommendations accordingly.
59611
59612 2006-08-28  Bruno Haible  <bruno@clisp.org>
59613
59614         * gnulib-tool (func_verify_module): Check against misapplying patch.
59615
59616 2006-08-28  Bruno Haible  <bruno@clisp.org>
59617
59618         * gnulib-tool (func_relativize, func_relconcat): New functions.
59619         Give an error if --local-dir is given with --update.
59620         Remove trailing slashes from $local_gnulib_dir.
59621         (func_import): Store the relativized $local_gnulib_dir in
59622         gnulib-cache.m4, and read it from there if not specified explicitly.
59623
59624 2006-08-28  Bruno Haible  <bruno@clisp.org>
59625
59626         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59627         is the current directory. Respect also $local_gnulib_dir.
59628
59629 2006-08-28  Bruno Haible  <bruno@clisp.org>
59630             Simon Josefsson  <jas@extundo.com>
59631
59632         BeOS portability.
59633         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
59634
59635 2006-08-27  Jim Meyering  <jim@meyering.net>
59636
59637         * doc/visibility.texi: Remove duplicate word: "pointer".
59638
59639 2006-08-26  Bruno Haible  <bruno@clisp.org>
59640
59641         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
59642         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
59643         (Makefile.am): Create inttypes.h from inttypes_.h.
59644         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
59645
59646         * modules/imaxabs: New file.
59647
59648         * modules/imaxdiv: New file.
59649
59650 2006-08-26  Bruno Haible  <bruno@clisp.org>
59651
59652         * m4/inttypes.m4: New file.
59653         * m4/_inttypes_h.m4: Remove file.
59654         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
59655         PRI_MACROS_BROKEN.
59656         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
59657
59658         * m4/imaxabs.m4: New file.
59659
59660         * m4/imaxdiv.m4: New file.
59661
59662 2006-08-26  Bruno Haible  <bruno@clisp.org>
59663
59664         * lib/inttypes_.h: New file.
59665         * lib/inttypes.h: Remove file.
59666         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
59667
59668         * lib/imaxabs.c: New file.
59669
59670         * lib/imaxdiv.c: New file.
59671
59672 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59673
59674         New config-h module, so that "make" output needn't be cluttered
59675         by -DHAVE_CONFIG_H.
59676         * MODULES.html.sh (Support for building libraries and executables):
59677         Add config-h.
59678         * modules/config-h: New file.
59679         * gnulib-tool (nl, sed_transform_lib_file): New vars.
59680         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
59681         the config-h module is used.
59682
59683         New configmake module, so that "make" output needn't be cluttered
59684         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
59685         * MODULES.html.sh (Support for building libraries and executables):
59686         Add configmake.
59687         * modules/configmake: New file.
59688
59689 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59690
59691         * m4/config-h.m4: New file.
59692
59693 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59694
59695         * config/srclist.txt: Add elisp-comp.
59696
59697 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * MODULES.html.sh (Support for building libraries and executables):
59700         Add elisp-comp.
59701         * build-aux/elisp-comp: New file.
59702         * modules/elisp-comp: New file.
59703
59704 2006-08-24  Bruno Haible  <bruno@clisp.org>
59705
59706         * gnulib-tool (func_create_testdir): Use non-default values of
59707         sourcebase and m4base.
59708
59709 2006-08-24  Bruno Haible  <bruno@clisp.org>
59710
59711         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
59712         HTML structure.
59713
59714 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59715
59716         * modules/openat (Depends-on): Add lchown.
59717
59718 2006-08-23  Bruno Haible  <bruno@clisp.org>
59719
59720         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
59721         of gl_LOCK_EARLY instead of gl_LOCK.
59722
59723 2006-08-23  Bruno Haible  <bruno@clisp.org>
59724
59725         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
59726         on OSF/1 to no.
59727         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
59728
59729 2006-08-23  Bruno Haible  <bruno@clisp.org>
59730
59731         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
59732         as unusable.
59733
59734         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
59735         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
59736         (gl_LOCK): New macro.
59737
59738 2006-08-22  Simon Josefsson  <jas@extundo.com>
59739
59740         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
59741         to md5 module.
59742
59743 2006-08-22  Simon Josefsson  <jas@extundo.com>
59744
59745         * MODULES.html.sh: Add "Support for maintaining and release
59746         projects".
59747
59748         * build-aux/gnupload: New file, from coreutils.
59749
59750 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59751
59752         Avoid the need for AC_LIBSOURCES in m4 macros.
59753         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
59754         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
59755         * modules/check-version (EXTRA_DIST): Add check-version.h.
59756         * modules/crc (EXTRA_DIST): Add crc.h.
59757         * modules/des (EXTRA_DIST): Add des.h.
59758         * modules/gc (EXTRA_DIST): Add gc.h.
59759         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
59760         * modules/getline (EXTRA_DIST): Add getline.h.
59761         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
59762         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
59763         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
59764         * modules/md2 (EXTRA_DIST): Add md2.h.
59765         * modules/md4 (EXTRA_DIST): Add md4.h.
59766         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
59767         * modules/read-file (EXTRA_DIST): Add read-file.h.
59768         * modules/readline (EXTRA_DIST): Add readline.h.
59769         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
59770         rijndael-api-fst.h.
59771
59772 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * m4/rijndael.m4 (gl_ARCFOUR):
59775         * m4/arctwo.m4 (gl_ARCTWO):
59776         * m4/check-version.m4 (gl_CHECK_VERSION):
59777         * m4/crc.m4 (gl_CRC):
59778         * m4/des.m4 (gl_DES):
59779         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
59780         * m4/gc.m4 (gl_GC):
59781         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
59782         * m4/getline.m4 (gl_FUNC_GETLINE):
59783         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
59784         * m4/hmac-md5.m4 (gl_HMAC_MD5):
59785         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
59786         * m4/md2.m4 (gl_MD2):
59787         * m4/md4.m4 (gl_MD4):
59788         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
59789         * m4/read-file.m4 (gl_FUNC_READ_FILE):
59790         * m4/readline.m4 (gl_FUNC_READLINE):
59791         * m4/rijndael.m4 (gl_RIJNDAEL):
59792         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59793         to get the necessary .h files and whatnot.
59794
59795 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59796
59797         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
59798         gnulib rather than the other way around.
59799         * config/srclistvars.sh (COREUTILS): Remove.
59800
59801 2006-08-22  Jim Meyering  <jim@meyering.net>
59802
59803         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
59804
59805         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
59806
59807 2006-08-22  Eric Blake  <ebb9@byu.net>
59808
59809         * modules/regexprops-generic: New file.
59810         * MODULES.html.sh (Support for building documentation): List it.
59811
59812 2006-08-22  Eric Blake  <ebb9@byu.net>
59813
59814         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
59815         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59816         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
59817         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59818
59819 2006-08-22  Bruno Haible  <bruno@clisp.org>
59820
59821         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
59822         and lib_LTLIBRARIES like the other lib_* variables.
59823
59824 2006-08-22  Bruno Haible  <bruno@clisp.org>
59825
59826         * build-aux/x-to-1.in: New file, from GNU gettext.
59827
59828 2006-08-22  Bruno Haible  <bruno@clisp.org>
59829
59830         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
59831         <utmpx.h> exists.
59832
59833 2006-08-22  Bruno Haible  <bruno@clisp.org>
59834
59835         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
59836         <utmpx.h> exists.
59837
59838 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59839
59840         BeOS portability.
59841         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
59842         exist.
59843         Problem reported by Bruno Haible.
59844
59845 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59846
59847         Avoid the need for AC_LIBSOURCES in m4 macros.
59848         * modules/acl (EXTRA_DIST): Add acl.h.
59849         * modules/argmatch (Files): Add m4/argmatch.m4.
59850         (configure.ac): Add gl_ARGMATCH.
59851         (EXTRA_DIST): Renamed from lib_SOURCES, for
59852         consistency with the other modules.  Remove argmatch.c.
59853         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
59854         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
59855         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
59856         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
59857         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
59858         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
59859         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
59860         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
59861         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
59862         * modules/closeout (EXTRA_DIST): Add closeout.h.
59863         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
59864         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
59865         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
59866         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
59867         dirname.h; remove basename.c and stripslash.c.
59868         * modules/exclude (EXTRA_DIST): Add exclude.h.
59869         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
59870         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
59871         * modules/file-type (EXTRA_DIST): Add file-type.h.
59872         * modules/filemode (EXTRA_DIST): Add filemode.h.
59873         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
59874         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59875         * modules/fpending (EXTRA_DIST): Add __fpending.h.
59876         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
59877         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
59878         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
59879         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
59880         * modules/getdate (EXTRA_DIST): Add getdate.c.
59881         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
59882         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
59883         * modules/getpass (EXTRA_DIST): Add getpass.h.
59884         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
59885         * modules/group-member (EXTRA_DIST): Add group-member.h.
59886         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
59887         * modules/hash (EXTRA_DIST): Add hash.h.
59888         * modules/human (EXTRA_DIST): Add human.h.
59889         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
59890         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
59891         * modules/lchown (EXTRA_DIST): Add lchown.h.
59892         * modules/long-options (EXTRA_DIST): Add long-options.h.
59893         * modules/lstat (EXTRA_DIST): Add lstat.h.
59894         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
59895         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
59896         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
59897         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
59898         * modules/memxor (EXTRA_DIST): Add memxor.h.
59899         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
59900         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
59901         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
59902         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
59903         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
59904         * modules/physmem (EXTRA_DIST): Add physmem.h.
59905         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
59906         * modules/posixver (EXTRA_DIST): Add posixver.h.
59907         * modules/quote (EXTRA_DIST): Add quote.h.
59908         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
59909         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
59910         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
59911         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
59912         regex_internal.h regexec.c.
59913         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
59914         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
59915         * modules/same (EXTRA_DIST): Add same.h.
59916         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
59917         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
59918         * modules/savedir (EXTRA_DIST): Add savedir.h.
59919         * modules/sha1 (EXTRA_DIST): Add sha1.h.
59920         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
59921         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
59922         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
59923         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
59924         * modules/strdup (EXTRA_DIST): Add strdup.h.
59925         * modules/strftime (EXTRA_DIST): Add strftime.h.
59926         * modules/strndup (EXTRA_DIST): Add strndup.h.
59927         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
59928         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
59929         * modules/time_r (EXTRA_DIST): Add time_r.h.
59930         * modules/timespec (EXTRA_DIST): Add timespec.h.
59931         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59932         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
59933         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
59934         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
59935         * modules/userspec (EXTRA_DIST): Add userspec.h.
59936         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
59937         * modules/utimens (EXTRA_DIST): Add utimens.h.
59938         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
59939         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
59940         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
59941         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
59942         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
59943         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
59944         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
59945         * modules/yesno (EXTRA_DIST): Add yesno.h.
59946
59947 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59948
59949         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
59950
59951         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
59952         * m4/dev-ino.m4, same-inode.m4: Remove.
59953
59954         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
59955         * m4/acl.m4 (AC_FUNC_ACL):
59956         * m4/backupfile.m4 (gl_BACKUPFILE):
59957         * m4/c-strtod.m4 (gl_C99_STRTOLD):
59958         * m4/canon-host.m4 (gl_CANON_HOST):
59959         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59960         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
59961         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
59962         * m4/cloexec.m4 (gl_CLOEXEC):
59963         * m4/close-stream.m4 (gl_CLOSE_STREAM):
59964         * m4/closeout.m4 (gl_CLOSEOUT):
59965         * m4/dirfd.m4 (gl_FUNC_DIRFD):
59966         * m4/dirname.m4 (gl_DIRNAME):
59967         * m4/exclude.m4 (gl_EXCLUDE):
59968         * m4/exitfail.m4 (gl_EXITFAIL):
59969         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
59970         * m4/file-type.m4 (gl_FILE_TYPE):
59971         * m4/filemode.m4 (gl_FILEMODE):
59972         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
59973         * m4/fpending.m4 (gl_FUNC_FPENDING):
59974         * m4/fprintftime.m4 (gl_FPRINTFTIME):
59975         * m4/fts.m4 (gl_FUNC_FTS):
59976         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
59977         * m4/getdate.m4 (gl_GETDATE):
59978         * m4/gethrxtime.m4 (gl_GETHRXTIME):
59979         * m4/getpagesize.m4 (gl_GETPAGESIZE):
59980         * m4/getpass.m4 (gl_FUNC_GETPASS):
59981         * m4/gettime.m4 (gl_GETTIME):
59982         * m4/getugroups.m4 (gl_GETUGROUPS):
59983         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
59984         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
59985         * m4/hard-locale.m4 (gl_HARD_LOCALE):
59986         * m4/hash.m4 (gl_HASH):
59987         * m4/idcache.m4 (gl_IDCACHE):
59988         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
59989         * m4/lchown.m4 (gl_FUNC_LCHOWN):
59990         * m4/long-options.m4 (gl_LONG_OPTIONS):
59991         * m4/lstat.m4 (gl_FUNC_LSTAT):
59992         * m4/md5.m4 (gl_MD5):
59993         * m4/memcasecmp.m4 (gl_MEMCASECMP):
59994         * m4/memcoll.m4 (gl_MEMCOLL):
59995         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
59996         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
59997         * m4/memxor.m4 (gl_MEMXOR):
59998         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
59999         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
60000         * m4/modechange.m4 (gl_MODECHANGE):
60001         * m4/mountlist.m4 (gl_MOUNTLIST):
60002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60003         * m4/openat.m4 (gl_FUNC_OPENAT):
60004         * m4/pathmax.m4 (gl_PATHMAX):
60005         * m4/physmem.m4 (gl_PHYSMEM):
60006         * m4/posixtm.m4 (gl_POSIXTM):
60007         * m4/posixver.m4 (gl_POSIXVER):
60008         * m4/quote.m4 (gl_QUOTE):
60009         * m4/quotearg.m4 (gl_QUOTEARG):
60010         * m4/readtokens.m4 (gl_READTOKENS):
60011         * m4/readutmp.m4 (gl_READUTMP):
60012         * m4/regex.m4 (gl_REGEX):
60013         * m4/safe-read.m4 (gl_SAFE_READ):
60014         * m4/safe-write.m4 (gl_SAFE_WRITE):
60015         * m4/same.m4 (gl_SAME):
60016         * m4/save-cwd.m4 (gl_SAVE_CWD):
60017         * m4/savedir.m4 (gl_SAVEDIR):
60018         * m4/settime.m4 (gl_SETTIME):
60019         * m4/sha1.m4 (gl_SHA1):
60020         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
60021         * m4/stat-macros.m4 (gl_STAT_MACROS):
60022         * m4/stat-time.m4 (gl_STAT_TIME):
60023         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
60024         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
60025         * m4/strdup.m4 (gl_FUNC_STRDUP):
60026         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
60027         * m4/strndup.m4 (gl_FUNC_STRNDUP):
60028         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
60029         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
60030         * m4/time_r.m4 (gl_TIME_R):
60031         * m4/timespec.m4 (gl_TIMESPEC):
60032         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
60033         * m4/unlinkdir.m4 (gl_UNLINKDIR):
60034         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
60035         * m4/userspec.m4 (gl_USERSPEC):
60036         * m4/utimecmp.m4 (gl_UTIMECMP):
60037         * m4/utimens.m4 (gl_UTIMENS):
60038         * m4/xalloc.m4 (gl_XALLOC):
60039         * m4/xgetcwd.m4 (gl_XGETCWD):
60040         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
60041         * m4/xreadlink.m4 (gl_XREADLINK):
60042         * m4/xstrtod.m4 (gl_XSTRTOD):
60043         * m4/yesno.m4 (gl_YESNO):
60044         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60045         to get the necessary .h files and whatnot.
60046
60047 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
60048             Bruno Haible  <bruno@clisp.org>
60049
60050         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
60051         /bin/sh understanding of '!' conditional negation.
60052
60053 2006-08-21  Jim Meyering  <jim@meyering.net>
60054
60055         * modules/openat (Depends-on): Really alphabetize.
60056
60057         * modules/acl (Depends-on): Add error and quote.
60058
60059         * check-module (find_included_lib_files): Add at-func.c to the
60060         ok-to-include-more-than-once white list.
60061
60062         * modules/openat (Depends-on): Add lstat.  Alphabetize.
60063
60064 2006-08-21  Bruno Haible  <bruno@clisp.org>
60065
60066         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60067         Emit a pkgdata_DATA variable only if some snippets add contents to it.
60068         Reported by Martin Lambers <marlam@marlam.de>.
60069
60070 2006-08-21  Bruno Haible  <bruno@clisp.org>
60071
60072         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
60073         specify an installation location, don't emit a noinst_LIBRARIES or
60074         noinst_LTLIBRARIES assignment.
60075
60076 2006-08-21  Bruno Haible  <bruno@clisp.org>
60077
60078         BeOS portability.
60079         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
60080         BeOS has mbrtowc() but no <wctype.h>.
60081
60082 2006-08-21  Bruno Haible  <bruno@clisp.org>
60083
60084         BeOS portability.
60085         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
60086         exist.
60087
60088 2006-08-21  Bruno Haible  <bruno@clisp.org>
60089
60090         BeOS portability.
60091         * lib/mbchar.h: Include <wctype.h> only if it exists.
60092
60093 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60094
60095         Remove files that are no longer needed by their respective modules.
60096         * m4/obstack.m4: Remove.
60097         * m4/strerror_r.m4: Remove.
60098         * m4/uint32_t.m4: Remove.
60099         * m4/uintptr_t.m4: Remove.
60100         * m4/ullong_max.m4: Remove.
60101         * m4/xstrtoimax.m4: Remove.
60102         * m4/xstrtoumax.m4: Remove.
60103
60104         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
60105         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
60106         dependencies now capture this.
60107
60108         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
60109         Do not use AC_LIBSOURCES, since gnulib modules now do this.
60110         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
60111         * m4/human.m4 (gl_HUMAN): Likewise.
60112         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
60113         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
60114
60115         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
60116
60117         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
60118         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
60119         stdint.
60120         * m4/human.m4 (gl_HUMAN): Likewise.
60121         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
60122         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
60123         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60124         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60125         * m4/xstrtol (gl_XSTRTOL): Likewise.
60126
60127         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
60128         AC_TYPE_LONG_LONG_INT.
60129         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60130         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
60131         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
60132         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60133
60134         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
60135         on stdbool.
60136
60137         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
60138         (gl_PREREQ_XSTRTOUL): Remove.
60139
60140         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
60141
60142         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
60143         mode.
60144
60145 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60146
60147         Add and change modules to make it easier for coreutils to use
60148         gnulib-tool.
60149         * modules/backupfile (Files): Remove m4/d-ino.m4.
60150         (Depends-on): Add d-ino.
60151         * modules/cycle-check (Depends-on): Add stdint.
60152         (lib_SOURCES): Add cycle-check.h.
60153         * modules/d-ino: New module.
60154         * modules/d-type: New module.
60155         * modules/error (Files): Remove m4/strerror_r.m4.
60156         * modules/filemode (Files): Add m4/st_dm_mode.m4.
60157         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60158         m4/inttypes_h.m4, m4/uintmax_t.m4.
60159         (Depends-on): Add stdint.
60160         (lib_SOURCES): Add fsusage.h.
60161         * modules/getcwd (Files): Remove d-ino.m4.
60162         (Depends-on): Add d-ino.
60163         * modules/getndelim2 (Depends-on): Add stdint.
60164         * modules/glob (Files): Remove m4/d-type.m4.
60165         (Depends-on): Add d-type.
60166         * modules/host-os: New module.
60167         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
60168         m4/inttypes_h.m4, m4/uintmax_t.m4.
60169         * Depends-on: Add stdint.
60170         (lib_SOURCES): Add human.h.
60171         * modules/inttostr (Files): Remove m4/intmax_t.m4,
60172         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
60173         m4/uintmax_t.m4, m4/ulonglong.m4.
60174         (Depends-on): Add stdint.
60175         (EXTRA_DIST): Add inttostr.h.
60176         * modules/lchmod: New module.
60177         * modules/link-follow: New module.
60178         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
60179         (Depends-on): Add lchmod.
60180         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
60181         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
60182         (Depends-on): Add stdint.
60183         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
60184         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
60185         (Depends-on): Add stdint.
60186         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
60187         * modules/perl: New module.
60188         * modules/regex (Depends-on): Add stdint.
60189         * modules/rmdir-errno: New module.
60190         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60191         m4/intmax_t.m4.
60192         (Depends-on): Add stdint.
60193         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60194         m4/uintmax_t.m4.
60195         (Depends-on): Add stdint.
60196         * modules/unlink-busy: New module.
60197         * modules/utimecmp (Depends-on): Add stdint.
60198         * modules/uptime: New module.
60199         * modules/winsz-ioctl: New module.
60200         * modules/winsz-termios: New module.
60201         * modules/xnanosleep (Depends-on): Add nanosleep.
60202         * modules/ullong_max: Remove.
60203         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
60204         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
60205         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
60206         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
60207         (Depends-on): Add inttypes.
60208         (lib_SOURCES): Add xstrtol.h.
60209         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
60210         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
60211         * MODULES.html.sh: Move 'assert' into the assert section.
60212         Move 'dummy' into the linking section.
60213         Remove ullong_max.
60214         Add section for compatibility checks for POSIX:2001 functions,
60215         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
60216         winsz-ioctl, and winsz-termios into it.
60217         Add lchmod.
60218         Add top-level Misc section and put host-os, perl, and uptime
60219         into it.
60220
60221 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60222
60223         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
60224         now assume the stdint module.  Do not include inttypes.h.
60225         * lib/fsusage.h: Likewise.
60226         * lib/getndelim2.c: Likewise.
60227         * lib/human.h: Likewise.
60228         * lib/inttostr.h: Likewise.
60229         * lib/obstack.c: Likewise.
60230         * lib/regex_internal.h: Likewise.
60231         * lib/tempname.c: Likewise.
60232         * lib/utimecmp.c: Likewise.
60233         * lib/xstrtol.h: Likewise.
60234
60235         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
60236
60237         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
60238         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
60239         * lib/xtime.h: Likewise.
60240
60241 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60242
60243         * modules/openat (Files): Add lib/fchmodat.c.
60244         Fixes problem reported by Jay Youngman.
60245
60246 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60247
60248         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
60249         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
60250
60251 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
60252             Bruno Haible  <bruno@clisp.org>
60253
60254         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
60255         and is a script that invokes bison. Tighten the code. Add comments.
60256
60257 2006-08-18  Jim Meyering  <jim@meyering.net>
60258
60259         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
60260         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
60261         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
60262         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
60263
60264 2006-08-18  Bruno Haible  <bruno@clisp.org>
60265
60266         * modules/bison-i18n: New file.
60267         * MODULES.html.sh (Internationalization functions): Add it.
60268
60269 2006-08-18  Bruno Haible  <bruno@clisp.org>
60270
60271         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
60272         sys/statvfs.h. When getmntinfo was found, check its declaration and
60273         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
60274
60275 2006-08-18  Bruno Haible  <bruno@clisp.org>
60276
60277         * m4/bison-i18n.m4: New file, from bison.
60278
60279 2006-08-18  Bruno Haible  <bruno@clisp.org>
60280
60281         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
60282         (ME_DUMMY): Treat "kernfs" as a dummy.
60283         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
60284
60285 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60286
60287         Update from coreutils.
60288
60289         2006-08-15  Jim Meyering  <jim@meyering.net>
60290
60291         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
60292
60293         2006-01-17  Jim Meyering  <jim@meyering.net>
60294
60295         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
60296
60297         2006-01-11  Jim Meyering  <jim@meyering.net>
60298
60299         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
60300         Check for the lchmod function.
60301
60302 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60303
60304         Update from coreutils.
60305
60306         * lib/__fpending.h: Add copyright notice.
60307         * lib/fprintftime.h: Likewise.
60308         * lib/savedir.c: Use (C) in copyright notice.
60309         * lib/savedir.h: Likewise.
60310
60311         2006-08-15  Jim Meyering  <jim@meyering.net>
60312
60313         * lib/at-func.c: New file, with the logic of all emulated at-functions.
60314         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
60315         in support of the EXPECTED_ERRNO macro.
60316         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
60317         definitions.  Instead, define the appropriate symbols and include
60318         "at-func.c".
60319         * lib/mkdirat.c (mkdirat): Likewise.
60320         * lib/fchmodat.c (fchmodat): Likewise.
60321         (ENOSYS): Remove definition.
60322         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
60323         it.  Don't include "unistd--.h" -- it wasn't ever used.
60324
60325         2006-01-17  Jim Meyering  <jim@meyering.net>
60326
60327         Rewrite fts.c not to change the current working directory,
60328         by using openat, fstatat, fdopendir, etc..
60329
60330         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
60331         (HAVE_OPENAT_SUPPORT): Define.
60332         [_LIBC] (fchdir): Don't undef or define; no longer used.
60333         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
60334         Now, this `function' always succeeds, and consumes its file descriptor
60335         parameter -- so callers must not close such FDs.  Update callers.
60336         (diropen_fd, opendirat, cwd_advance_fd): New functions.
60337         (diropen): Add parameter, SP.  Adjust all callers.
60338         Implement using diropen_fd, rather than open.
60339         (fts_open): Initialize new member, fts_cwd_fd.
60340         Remove fts_rft-setting code.
60341         (fts_close): Close fts_cwd_fd, if necessary.
60342         (__opendir2): Define in terms of opendir or opendirat,
60343         depending on whether the FST_NOCHDIR flag is set.
60344         (fts_build): Since fts_safe_changedir consumes its FD, and since
60345         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
60346         and close the dup'd file descriptor upon failure.
60347         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
60348         (fts_safe_changedir): Tweak semantics to reflect that this function
60349         now calls cwd_advance_fd and hence consumes its FD argument.
60350         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
60351         [struct FTS] (fts_rft): Remove now-unused member.
60352         [struct FTS] (fts_cycle.state): Improve comment.
60353
60354         * lib/openat.c (openat_needs_fchdir): New function.
60355         * lib/openat.h (openat_needs_fchdir): Declare it.
60356
60357 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60358
60359         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
60360         Problem and fix reported by Pádraig Brady in
60361         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
60362
60363 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60364
60365         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
60366
60367 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60368
60369         * lib/memcoll.c (memcoll): Optimize for the common case where the
60370         arguments are bytewise equal.
60371
60372 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60373
60374         * doc/regexprops-generic.texi: Add a copyright notice.
60375
60376 2006-08-15  Bruno Haible  <bruno@clisp.org>
60377
60378         * modules/tmpdir (License): Change to LGPL.
60379
60380 2006-08-15  Bruno Haible  <bruno@clisp.org>
60381
60382         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
60383         module.
60384
60385 2006-08-14  Simon Josefsson  <jas@extundo.com>
60386
60387         * config/srclist.txt: Add gnupload.
60388
60389 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60390
60391         Change copyright notice from LGPL 2 to GPL 2, since that's the
60392         standard form used in the gnulib repository.
60393         * tests/test-lock.c: Likewise.
60394         * tests/test-stdint.c: Likewise.
60395         * tests/test-tls.c: Likewise.
60396
60397         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
60398         prelude-manager.  User shorter URLs for GNU projects, without '?'.
60399         Add copyright notice.
60400
60401         * check-module: Add copyright notice.  Output a copyright
60402         notice if "--version" is specified.
60403         * modules/COPYING: New file.
60404         * tests/test-getaddrinfo.c: Add copyright notice.
60405         * tests/test-verify.c: Likewise.
60406
60407 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60408
60409         Change copyright notice from LGPL 2 to GPL 2, since that's the
60410         standard form used in the gnulib repository.
60411         * lib/lock.c: LGPL -> GPL.
60412         * lib/lock.h: Likewise.
60413         * lib/strnlen1.c: Likewise.
60414         * lib/strnlen1.h: Likewise.
60415         * lib/tls.c: Likewise.
60416         * lib/tls.h: Likewise.
60417         * lib/tmpdir.c: Likewise.
60418
60419         * lib/TODO: Remove; this belongs only in coreutils.
60420
60421 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60422
60423         Add copyright notices to long-enough files that lack them, since
60424         otherwise the files aren't clearly free.  Use the same notice that
60425         getdate.texi already uses.
60426         * doc/alloca-opt.texi: Add copyright notice.
60427         * doc/alloca.texi: Likewise.
60428         * doc/ctime.texi: Likewise.
60429         * doc/functions.texi: Likewise.
60430         * doc/gcd.texi: Likewise.
60431         * doc/gnulib-tool.texi: Likewise.
60432         * doc/inet_ntoa.texi: Likewise.
60433         * doc/visibility.texi: Likewise.
60434
60435         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
60436         * doc/quote.texi: Add copyright notice.
60437
60438         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
60439         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
60440         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
60441         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
60442         is now obsolete, and give a pointer to the Sun list.
60443         Add copyright notice.
60444
60445 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60446
60447         * config/srclistvars.sh: Add copyright notice.
60448
60449 2006-08-14  Eric Blake  <ebb9@byu.net>
60450
60451         Import the following change from libc:
60452
60453         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
60454
60455         Upstream bug 2997.
60456         * lib/misc/error.c: Add space between program name and message if file
60457         name is missing.
60458
60459 2006-08-12  Karl Berry  <karl@gnu.org>
60460
60461         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
60462         remove, these originate in gnulib now.
60463
60464 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60465
60466         * doc/Makefile (standards.info standards.html standards.dvi):
60467         Also depend on make-stds.texi.
60468
60469 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60470
60471         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
60472         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
60473
60474         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
60475         in wchar_t.  Problem reported by Eric Blake.
60476
60477         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
60478         LEN is smaller than SIZE.  Suggested by Bruno Haible.
60479         Also, help the compiler to keep LEN in a register.
60480
60481 2006-08-11  Eric Blake  <ebb9@byu.net>
60482
60483         * users.txt: Sort.  Add tar.
60484
60485 2006-08-11  Bruno Haible  <bruno@clisp.org>
60486
60487         * users.txt: New file.
60488
60489 2006-08-11  Bruno Haible  <bruno@clisp.org>
60490
60491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
60492         before <wchar.h>. Needed for OSF/1 and BSD/OS.
60493
60494 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60495
60496         * modules/snprintf (Depends-on): Remove minmax.
60497         (Maintainer): Add self and Bruno.
60498
60499 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60500
60501         * lib/.cppi-disable: Add snprintf.h, socket_.h.
60502         * lib/snprintf.c: Include <errno.h> and <limits.h>.
60503         (EOVERFLOW): Define if the system does not.
60504         Do not include "minmax.h"; it wasn't used.
60505         (snprintf): Don't assume size_t promotes to an unsigned type.
60506         Fix bug when generated string was too long for the buffer: the
60507         buffer's contents are supposed to be the initial prefix of the
60508         output.  Don't assume vasnprintf returns EOVERFLOW if the size
60509         exceeds INT_MAX; do the check ourselves.
60510
60511         Import the following changes from libc:
60512
60513         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
60514
60515         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
60516         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
60517         set wc to the byte which couldn't be converted.
60518         (re_string_reconstruct): Don't clear valid_raw_len before calling
60519         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
60520         tip_context using re_string_context_at.
60521
60522         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
60523
60524         * lib/posix/regex.h: g++ still cannot handled [restrict].
60525
60526         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
60527
60528         * lib/posix/regex.h: Remove special handling for VMS.
60529
60530 2006-08-10  Jim Meyering  <jim@meyering.net>
60531
60532         * modules/same-inode: New module.
60533         * modules/dev-ino: New module.
60534         * modules/cycle-check: Depend on these modules, rather than simply
60535         including their .h files.
60536         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
60537         required via m4/cycle-check.m4.
60538         * modules/same: Depend on new same-inode module, rather than
60539         including same-inode.h.
60540         * modules/chdir-safer: New file.
60541
60542         * modules/chown (Depends-on): Add stat-macros.
60543
60544 2006-08-10  Jim Meyering  <jim@meyering.net>
60545
60546         * m4/cycle-check.m4: New file.
60547         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
60548         * m4/dev-ino.m4, m4/same-inode.m4: New files.
60549
60550 2006-08-10  Eric Blake  <ebb9@byu.net>
60551
60552         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
60553         in from original proposal.
60554
60555 2006-08-10  Eric Blake  <ebb9@byu.net>
60556         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60557
60558         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
60559         namespace.
60560
60561 2006-08-10  Bruno Haible  <bruno@clisp.org>
60562
60563         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
60564         as well.
60565
60566 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60567
60568         Sync from coreutils.
60569
60570         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
60571
60572         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
60573         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
60574
60575 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60576
60577         * modules/restrict: Remove; no longer needed now that we assume
60578         Autoconf 2.59 or later.
60579         * MODULES.html.sh: Remove 'restrict'.
60580         * modules/argp (Depends-on): Remove 'restrict'.
60581         * modules/base64 (Depends-on): Likewise.
60582         * modules/gc (Depends-on): Likewise.
60583         * modules/getaddrinfo (Depends-on): Likewise.
60584         * modules/glob (Depends-on): Likewise.
60585         * modules/inet_ntop (Depends-on): Likewise.
60586         * modules/inet_pton (Depends-on): Likewise.
60587         * modules/memxor (Depends-on): Likewise.
60588         * modules/regex (Depends-on): Likewise.
60589         * modules/strtok_r (Depends-on): Likewise.
60590         * modules/time_r (Depends-on): Likewise.
60591
60592 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60593
60594         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
60595         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
60596         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60597         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
60598         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60599         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60600         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60601         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60602
60603         Merge from coreutils.
60604         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60605         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60606         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60607         * m4/time_r.m4 (gl_TIME_R): Likewise.
60608
60609 2006-08-09  Karl Berry  <karl@gnu.org>
60610
60611         * config/srclist.txt: no more gettext-tools, per Bruno.
60612
60613 2006-08-08  Eric Blake  <ebb9@byu.net>
60614
60615         * modules/verror: New module.
60616         * MODULES.html.sh: Document it.
60617
60618 2006-08-08  Eric Blake  <ebb9@byu.net>
60619
60620         * lib/verror.h, lib/verror.c: New files.
60621
60622 2006-08-08  Eric Blake  <ebb9@byu.net>
60623
60624         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60625         verror_at_line output complies with GNU Coding Standards even when
60626         file is NULL.
60627
60628 2006-08-07  Bruno Haible  <bruno@clisp.org>
60629
60630         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
60631         versions of AIX.
60632         Reported by Ralf Wildenhues.
60633
60634 2006-08-07  Bruno Haible  <bruno@clisp.org>
60635
60636         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
60637         in an AC_DEFUN. Needed so that the autoconf snippets can use
60638         AC_REQUIRE.
60639
60640 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60641
60642         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60643         Initialize pkgdata_DATA.
60644         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
60645         overriding it.
60646
60647 2006-08-06  Eric Blake  <ebb9@byu.net>
60648
60649         * lib/error.h: Fold in some upstream changes from glibc.
60650         * lib/error.c: Likewise.
60651
60652 2006-08-04  Bruno Haible  <bruno@clisp.org>
60653
60654         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60655         Make the mostlyclean-local rule depend on mostlyclean-generic.
60656         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
60657
60658 2006-07-31  Bruno Haible  <bruno@clisp.org>
60659
60660         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
60661         <stdlib.h>, <string.h>.
60662
60663 2006-07-30  Bruno Haible  <bruno@clisp.org>
60664
60665         * modules/readlink (License): Change to LGPL.
60666
60667 2006-07-30  Bruno Haible  <bruno@clisp.org>
60668
60669         * modules/javaversion (Makefile.am): Distribute javaversion.java and
60670         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
60671         set PKGDATADIR to point to it.
60672
60673 2006-07-30  Bruno Haible  <bruno@clisp.org>
60674
60675         * modules/csharpexec (configure.ac): Comment out macro invocation.
60676         * modules/javaexec (configure.ac): Likewise.
60677         * modules/javacomp-script (configure.ac): Likewise.
60678
60679         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
60680
60681 2006-07-30  Bruno Haible  <bruno@clisp.org>
60682
60683         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
60684         linked-list.
60685
60686 2006-07-30  Bruno Haible  <bruno@clisp.org>
60687
60688         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
60689
60690 2006-07-30  Bruno Haible  <bruno@clisp.org>
60691
60692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60693         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
60694         get removed.
60695
60696 2006-07-29  Bruno Haible  <bruno@clisp.org>
60697
60698         Make it possible for gnulib-tool to work with locally modified or
60699         augmented gnulib repositories.
60700         * gnulib-tool (func_usage): Document --local-dir option.
60701         (local_gnulib_dir): New variable.
60702         Handle --local-dir option.
60703         (func_lookup_file): New function.
60704         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
60705         (func_get_description, func_get_filelist, func_get_description,
60706         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
60707         func_get_automake_snippet, func_get_include_directive,
60708         func_get_license, func_get_maintainer): Use func_lookup_file.
60709         (func_import, func_create_testdir): Use func_lookup_file.
60710
60711 2006-07-29  Bruno Haible  <bruno@clisp.org>
60712
60713         * modules/setenv (Depends-on): Add unistd.
60714
60715 2006-07-29  Bruno Haible  <bruno@clisp.org>
60716
60717         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
60718
60719 2006-07-29  Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
60722
60723 2006-07-29  Bruno Haible  <bruno@clisp.org>
60724
60725         * gnulib-tool (import, update): If there is no Makefile.am, look at
60726         aclocal.m4, instead of bailing out.
60727
60728 2006-07-29  Bruno Haible  <bruno@clisp.org>
60729
60730         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
60731         Categorize the options by when they are useful.
60732
60733 2006-07-29  Bruno Haible  <bruno@clisp.org>
60734
60735         * gnulib-tool (func_usage): Document option --no-libtool.
60736         Handle option --no-libtool.
60737         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
60738         for changed semantics of $libtool variable.
60739         (func_import): Likewise. If libtool is not used, show this through
60740         an option --no-libtool.
60741         (func_create_testdir): Update.
60742
60743 2006-07-29  Bruno Haible  <bruno@clisp.org>
60744
60745         * gnulib-tool (func_import): Extend error message about missing
60746         --doc-base.
60747
60748 2006-07-29  Bruno Haible  <bruno@clisp.org>
60749
60750         * gnulib-tool (func_import): Don't create the $docbase directory if
60751         there is no file to store there.
60752
60753 2006-07-29  Bruno Haible  <bruno@clisp.org>
60754
60755         * gnulib-tool (autoconf_minversion): If a --dir option is given and
60756         relevant, look for configure.ac there, not in the current directory.
60757         Also use a simple search for AC_PREREQ, not "autoconf --trace".
60758
60759 2006-07-29  Bruno Haible  <bruno@clisp.org>
60760
60761         * gnulib-tool (SORT): New variable.
60762         (func_usage): Undocument --assume-autoconf option.
60763         Remove --assume-autoconf option handling.
60764         (autoconf_minversion): Determine from the contents of configure.ac.
60765         (func_import): Remove autoconf_minversion handling.
60766         Suggested by Eric Blake.
60767
60768 2006-07-29  Bruno Haible  <bruno@clisp.org>
60769
60770         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
60771
60772 2006-07-29  Bruno Haible  <bruno@clisp.org>
60773
60774         * config/srclist.txt (*setenv.[ch]): Remove rules.
60775
60776 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60777
60778         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
60779
60780 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60781
60782         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
60783         arpa/inet.h.
60784
60785 2006-07-28  Simon Josefsson  <jas@extundo.com>
60786
60787         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
60788         * modules/inet_pton (Depends-on): Likewise.
60789
60790 2006-07-28  Simon Josefsson  <jas@extundo.com>
60791
60792         * m4/netinet_in_h.m4: New file.
60793
60794 2006-07-28  Simon Josefsson  <jas@extundo.com>
60795
60796         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
60797         #include's.
60798
60799 2006-07-28  Simon Josefsson  <jas@extundo.com>
60800
60801         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
60802         #include's.
60803
60804 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
60805
60806         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
60807         setgid on directories only if they set these bits.
60808         * lib/modechange.h: Remove obsolete comment about masks.
60809
60810 2006-07-28  Eric Blake  <ebb9@byu.net>
60811
60812         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
60813         macro expansion.
60814
60815 2006-07-28  Bruno Haible  <bruno@clisp.org>
60816
60817         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
60818
60819 2006-07-28  Bruno Haible  <bruno@clisp.org>
60820
60821         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
60822
60823 2006-07-28  Bruno Haible  <bruno@clisp.org>
60824
60825         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60826         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60827         Define fallbacks.
60828         Avoids link error on FreeBSD 4.x.
60829         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60830
60831         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
60832         encoding.
60833         * lib/mbswidth.c (iswcntrl): Likewise.
60834
60835 2006-07-27  Bruno Haible  <bruno@clisp.org>
60836
60837         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
60838         test.
60839
60840 2006-07-27  Bruno Haible  <bruno@clisp.org>
60841
60842         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
60843         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
60844         defined.
60845
60846 2006-07-26  Eric Blake  <ebb9@byu.net>
60847
60848         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
60849
60850 2006-07-26  Eric Blake  <ebb9@byu.net>
60851
60852         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
60853         like mingw that lack mkstemp.
60854         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
60855         avoid compilation warning on mingw.
60856
60857 2006-07-26  Bruno Haible  <bruno@clisp.org>
60858
60859         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
60860         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
60861         INT_FAST*_MIN, INTPTR_MIN.
60862
60863 2006-07-25  Bruno Haible  <bruno@clisp.org>
60864
60865         * modules/version-etc (Depends-on): Add stdarg.
60866
60867 2006-07-25  Bruno Haible  <bruno@clisp.org>
60868
60869         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
60870         complex commands.
60871
60872 2006-07-25  Bruno Haible  <bruno@clisp.org>
60873
60874         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
60875         defined in <stdarg.h> or config.h.
60876
60877 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60878
60879         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
60880         (gl_STDIO_SAFER): Remove.
60881
60882 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60883
60884         * MODULES.html.sh (File stream based Input/Output):
60885         Add fopen-safer, tmpfile-safer; remove stdio-safer.
60886         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
60887         * modules/fopen-safer, modules/tmpfile-safer: New files.
60888         * modules/stdio-safer: Remove.
60889
60890 2006-07-24  Bruno Haible  <bruno@clisp.org>
60891
60892         * modules/tmpdir: New file.
60893         * MODULES.html.sh (File system functions): Add it.
60894
60895 2006-07-24  Bruno Haible  <bruno@clisp.org>
60896
60897         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
60898         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
60899
60900 2006-07-24  Bruno Haible  <bruno@clisp.org>
60901
60902         * modules/clean-temp: New file.
60903
60904 2006-07-24  Bruno Haible  <bruno@clisp.org>
60905
60906         * m4/tmpdir.m4: New file, from GNU gettext.
60907
60908 2006-07-24  Bruno Haible  <bruno@clisp.org>
60909
60910         * lib/tmpdir.h: New file, from GNU gettext.
60911         * lib/tmpdir.c: New file, from GNU gettext.
60912
60913 2006-07-24  Bruno Haible  <bruno@clisp.org>
60914
60915         * lib/clean-temp.h: New file, from GNU gettext.
60916         * lib/clean-temp.c: New file, from GNU gettext.
60917
60918 2006-07-23  Eric Blake  <ebb9@byu.net>
60919
60920         * modules/stdio-safer (Files): Add tmpfile-safer.c.
60921         (Depends-on): Add binary-io.
60922
60923 2006-07-23  Eric Blake  <ebb9@byu.net>
60924
60925         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
60926
60927 2006-07-23  Eric Blake  <ebb9@byu.net>
60928
60929         * lib/tmpfile-safer.c: New file.
60930         * lib/stdio-safer.h (fopen_safer): Add prototype.
60931         * lib/stdio--.h (tmpfile): Make safer.
60932
60933 2006-07-23  Bruno Haible  <bruno@clisp.org>
60934
60935         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
60936         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
60937         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
60938         gl_linked_remove_at): Use it.
60939
60940 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60941         and Simon Josefsson <jas@extundo.com>
60942
60943         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
60944
60945         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
60946
60947 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60948
60949         * modules/close-stream: New file.
60950         * modules/closeout (Description): Make it clear that it exits
60951         with a diagnostic on error.
60952         (Depends-on): Add close-stream.  Remove fpending, stdbool.
60953         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
60954
60955 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60956
60957         * m4/close-stream.m4: New file.
60958
60959 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60960
60961         * lib/close-stream.c, lib/close-stream.h: New files.
60962
60963 2006-07-22  Bruno Haible  <bruno@clisp.org>
60964
60965         Merge from GNU gettext 0.15.
60966
60967         2006-05-01  Bruno Haible  <bruno@clisp.org>
60968
60969                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
60970
60971         2006-07-22  Bruno Haible  <bruno@clisp.org>
60972
60973                 * modules/javaversion: New file.
60974                 * MODULES.html.sh (Java): Add javaversion.
60975
60976         2006-03-12  Bruno Haible  <bruno@clisp.org>
60977
60978                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
60979
60980         2005-12-04  Bruno Haible  <bruno@clisp.org>
60981
60982                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
60983                 (untested).
60984
60985         2006-06-21  Bruno Haible  <bruno@clisp.org>
60986
60987                 Avoid warnings from recent versions of mcs.
60988                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
60989                 -o, -L, -r any more. Use options documented since mcs-1.0
60990                 instead. Similarly for -g.
60991
60992         2005-12-04  Bruno Haible  <bruno@clisp.org>
60993
60994                 * build-aux/csharpcomp.sh.in: Suffix for resources is
60995                 .resources, not .resource.
60996
60997         2005-07-09  Bruno Haible  <bruno@clisp.org>
60998
60999                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
61000                 add a .dll suffix.
61001                 Reported by Mark Junker <mjscod@gmx.de>.
61002
61003         2006-07-22  Bruno Haible  <bruno@clisp.org>
61004
61005                 * modules/gettext: Upgrade to gettext-0.15.
61006                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
61007                 m4/visibility.m4.
61008                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
61009
61010 2006-07-22  Bruno Haible  <bruno@clisp.org>
61011
61012         Merge from GNU gettext 0.15.
61013
61014         2006-03-25  Bruno Haible  <bruno@clisp.org>
61015
61016                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
61017
61018         2006-07-21  Bruno Haible  <bruno@clisp.org>
61019
61020                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
61021                 "1.1".
61022
61023         2006-05-09  Bruno Haible  <bruno@clisp.org>
61024
61025                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
61026                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
61027                 for the conftestver execution.
61028
61029         2006-05-01  Bruno Haible  <bruno@clisp.org>
61030
61031                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
61032                 optional target-version argument. Verify that the compiler
61033                 groks source of the specified source-version, or add -source
61034                 option as necessary. Verify that the compiler produces
61035                 bytecode in the specified target-version, or add -target and
61036                 -source options as necessary. Make the result of the test
61037                 available as variable CONF_JAVAC. Also log error output in
61038                 config.log.
61039
61040         2006-03-11  Bruno Haible  <bruno@clisp.org>
61041
61042                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
61043
61044         2006-05-09  Bruno Haible  <bruno@clisp.org>
61045
61046                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
61047                 CLASSPATH_SEPARATOR to a semicolon.
61048
61049         2006-03-12  Bruno Haible  <bruno@clisp.org>
61050
61051                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
61052                 available as variable CONF_JAVA, for subsequent autoconf
61053                 tests. Also log error output in config.log.
61054
61055         2006-07-19  Bruno Haible  <bruno@clisp.org>
61056
61057                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
61058                 that getline works on glibc2 systems. Needed to avoid trouble
61059                 in relocatable.c.
61060                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
61061
61062         2005-12-04  Bruno Haible  <bruno@clisp.org>
61063
61064                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
61065                 launcher (untested).
61066
61067         2005-12-04  Bruno Haible  <bruno@clisp.org>
61068
61069                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
61070
61071         2006-07-22  Bruno Haible  <bruno@clisp.org>
61072
61073                 * gettext.m4: Update from GNU gettext-0.15.
61074                 * nls.m4: Likewise.
61075                 * po.m4: Likewise.
61076                 * inttypes-pri.m4: Likewise.
61077                 * inttypes-h.m4: Renamed from inttypes.m4.
61078                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
61079
61080 2006-07-22  Bruno Haible  <bruno@clisp.org>
61081
61082         Merge from GNU gettext 0.15.
61083
61084         2005-07-05  Bruno Haible  <bruno@clisp.org>
61085
61086                 * printf-args.c (printf_fetchargs): Work around broken
61087                 definition of wint_t on mingw.
61088
61089         2005-02-12  Bruno Haible  <bruno@clisp.org>
61090
61091                 * xallocsa.h: Add extern "C" for C++.
61092
61093         2006-05-17  Bruno Haible  <bruno@clisp.org>
61094
61095                 Cygwin portability.
61096                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
61097
61098         2006-04-30  Bruno Haible  <bruno@clisp.org>
61099
61100                 * progreloc.c: Include <mach-o/dyld.h> if available.
61101                 (find_executable): Use _NSGetExecutablePath when possible.
61102
61103         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61104
61105                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
61106                 function.
61107
61108         2005-12-29  Bruno Haible  <bruno@clisp.org>
61109
61110                 * progreloc.c (set_program_name_and_installdir): Fix
61111                 compilation error.
61112
61113         2005-12-04  Bruno Haible  <bruno@clisp.org>
61114
61115                 Cygwin portability.
61116                 * progreloc.c: Include <windows.h> also on Cygwin.
61117                 (find_executable): Add support for Cygwin.
61118                 (set_program_name_and_installdir): Handle also platforms with
61119                 nonempty EXEEXT.
61120
61121         2006-07-11  Bruno Haible  <bruno@clisp.org>
61122
61123                 * javacomp.c: Fix a comment.
61124                 Reported by Jim Meyering.
61125
61126         2006-04-30  Bruno Haible  <bruno@clisp.org>
61127
61128                 * javacomp.h (compile_java_class): Add source_version,
61129                 target_version arguments.
61130                 * javacomp.c: Rewritten to choose only a compiler that
61131                 respects the specified source_version and target_version.
61132
61133         2006-06-27  Bruno Haible  <bruno@clisp.org>
61134
61135                 Assume correct S_ISDIR macro.
61136                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
61137
61138         2006-07-22  Bruno Haible  <bruno@clisp.org>
61139
61140                 * javaversion.h: New file, from GNU gettext.
61141                 * javaversion.c: New file, from GNU gettext.
61142                 * javaversion.java: New file, from GNU gettext.
61143                 * javaversion.class: New file, from GNU gettext.
61144
61145         2006-05-17  Bruno Haible  <bruno@clisp.org>
61146
61147                 Cygwin portability.
61148                 * javaexec.c (execute_java_class): Test for jview program
61149                 also on Cygwin.
61150
61151         2006-04-09  Bruno Haible  <bruno@clisp.org>
61152
61153                 * fatal-signal.c: Don't include string.h.
61154                 (at_fatal_signal): Use a copying loop instead of memcpy.
61155
61156         2005-12-04  Bruno Haible  <bruno@clisp.org>
61157
61158                 * csharpexec.c: Add support for 'clix' launcher (untested).
61159                 (execute_csharp_using_sscli): New function.
61160                 (execute_csharp_program): Call it.
61161
61162         2006-06-21  Bruno Haible  <bruno@clisp.org>
61163
61164                 Avoid warnings from recent versions of mcs.
61165                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
61166                 -o, -L, -r any more. Use options documented since mcs-1.0
61167                 instead. Similarly for -g.
61168
61169         2005-07-09  Bruno Haible  <bruno@clisp.org>
61170
61171                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
61172                 add a .dll suffix.
61173                 Reported by Mark Junker <mjscod@gmx.de>.
61174
61175         2006-06-17  Bruno Haible  <bruno@clisp.org>
61176
61177                 * config.charset: Update for NetBSD 3.0.
61178
61179         2006-05-17  Bruno Haible  <bruno@clisp.org>
61180
61181                 Cygwin portability.
61182                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
61183
61184         2006-05-16  Bruno Haible  <bruno@clisp.org>
61185
61186                 * localcharset.c [CYGWIN]: Include <windows.h>.
61187                 (get_charset_aliases): For Cygwin, return the same CPxxx
61188                 aliases list as under WIN32.
61189                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
61190                 the environment variables. Fall back to GetACP().
61191
61192         2006-04-05  Bruno Haible  <bruno@clisp.org>
61193
61194                 * config.charset: Update Juan Manuel Guerrero's address.
61195
61196         2005-02-12  Bruno Haible  <bruno@clisp.org>
61197
61198                 * allocsa.h: Add extern "C" for C++.
61199
61200         2005-02-10  Bruno Haible  <bruno@clisp.org>
61201
61202                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
61203                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
61204
61205         2006-07-22  Bruno Haible  <bruno@clisp.org>
61206
61207                 * gettext.h: Update to GNU gettext-0.15.
61208
61209 2006-07-22  Bruno Haible  <bruno@clisp.org>
61210
61211         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
61212         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
61213         lib-prefix.m4, longdouble.m4, ssize_t.m4.
61214
61215 2006-07-21  Eric Blake  <ebb9@byu.net>
61216
61217         * modules/stdlib-safer: New file.
61218         * MODULES.html.sh (File stream based Input/Output): Add
61219         stdlib-safer.
61220
61221 2006-07-21  Eric Blake  <ebb9@byu.net>
61222
61223         * lib/stdlib-safer.h: New file from coreutils, required by
61224         stdlib--.h.
61225
61226 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61227
61228         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
61229
61230 2006-07-20  Bruno Haible  <bruno@clisp.org>
61231
61232         * gnulib-tool: Recognize new option --assume-autoconf.
61233         (autoconf_minversion): New variable.
61234         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
61235
61236 2006-07-20  Bruno Haible  <bruno@clisp.org>
61237
61238         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
61239
61240 2006-07-19  Derek R. Price  <derek@ximbiot.com>
61241
61242         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
61243         Reindent and repaginate.
61244
61245 2006-07-19  Derek Price  <derek@ximbiot.com>
61246
61247         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
61248         Correct grammar.
61249
61250 2006-07-17  Bruno Haible  <bruno@clisp.org>
61251
61252         * modules/list: New file.
61253         * modules/array-list: New file.
61254         * modules/carray-list, modules/carray-list-tests: New files.
61255         * modules/linked-list, modules/linked-list-tests: New files.
61256         * modules/avltree-list, modules/avltree-list-tests: New files.
61257         * modules/rbtree-list, modules/rbtree-list-tests: New files.
61258         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
61259         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
61260         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
61261         * modules/oset: New file.
61262         * modules/array-oset: New file.
61263         * modules/avltree-oset, modules/avltree-oset-tests: New files.
61264         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
61265         * tests/test-carray_list.c: New file.
61266         * tests/test-linked_list.c: New file.
61267         * tests/test-avltree_list.c: New file.
61268         * tests/test-rbtree_list.c: New file.
61269         * tests/test-linkedhash_list.c: New file.
61270         * tests/test-avltreehash_list.c: New file.
61271         * tests/test-rbtreehash_list.c: New file.
61272         * tests/test-avltree_oset.c: New file.
61273         * tests/test-rbtree_oset.c: New file.
61274         * MODULES.html.sh (Container data structures): New section.
61275
61276 2006-07-17  Bruno Haible  <bruno@clisp.org>
61277
61278         * m4/gl_list.m4: New file.
61279
61280 2006-07-17  Bruno Haible  <bruno@clisp.org>
61281
61282         * lib/gl_list.h: New file.
61283         * lib/gl_list.c: New file.
61284         * lib/gl_array_list.h: New file.
61285         * lib/gl_array_list.c: New file.
61286         * lib/gl_carray_list.h: New file.
61287         * lib/gl_carray_list.c: New file.
61288         * lib/gl_linked_list.h: New file.
61289         * lib/gl_linked_list.c: New file.
61290         * lib/gl_anylinked_list1.h: New file.
61291         * lib/gl_anylinked_list2.h: New file.
61292         * lib/gl_avltree_list.h: New file.
61293         * lib/gl_avltree_list.c: New file.
61294         * lib/gl_anyavltree_list1.h: New file.
61295         * lib/gl_anyavltree_list2.h: New file.
61296         * lib/gl_rbtree_list.h: New file.
61297         * lib/gl_rbtree_list.c: New file.
61298         * lib/gl_anyrbtree_list1.h: New file.
61299         * lib/gl_anyrbtree_list2.h: New file.
61300         * lib/gl_anytree_list1.h: New file.
61301         * lib/gl_anytree_list2.h: New file.
61302         * lib/gl_linkedhash_list.h: New file.
61303         * lib/gl_linkedhash_list.c: New file.
61304         * lib/gl_anyhash_list1.h: New file.
61305         * lib/gl_anyhash_list2.h: New file.
61306         * lib/gl_avltreehash_list.h: New file.
61307         * lib/gl_avltreehash_list.c: New file.
61308         * lib/gl_rbtreehash_list.h: New file.
61309         * lib/gl_rbtreehash_list.c: New file.
61310         * lib/gl_anytreehash_list1.h: New file.
61311         * lib/gl_anytreehash_list2.h: New file.
61312
61313         * lib/gl_oset.h: New file.
61314         * lib/gl_oset.c: New file.
61315         * lib/gl_array_oset.h: New file.
61316         * lib/gl_array_oset.c: New file.
61317         * lib/gl_avltree_oset.h: New file.
61318         * lib/gl_avltree_oset.c: New file.
61319         * lib/gl_rbtree_oset.h: New file.
61320         * lib/gl_rbtree_oset.c: New file.
61321         * lib/gl_anytree_oset.h: New file.
61322
61323 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61324
61325         * m4/mkancesdirs.m4: New file.
61326         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
61327         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
61328         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
61329         it.
61330
61331 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61332
61333         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
61334         * lib/mkancesdirs.h: New files.
61335         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
61336         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
61337         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
61338         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
61339         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
61340         callers changed.  Revamp internals significantly, by not
61341         attempting to create directories that are temporarily more
61342         permissive than the final results.  Do not attempt to use
61343         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
61344         This removes some race conditions, fixes some bugs, and simplifies
61345         things.  Use new dirchownmod function to do owner and mode changes.
61346         * lib/mkdir-p.h: Likewise.
61347         * lib/modechange.c (octal_to_mode): New function.
61348         (struct mode_change): New member mentioned.
61349         (make_node_op_equals): New arg mentioned.  All callers changed.
61350         (mode_compile): Keep track of which mode bits the user has explicitly
61351         mentioned.
61352         (mode_adjust): New arg DIR, so that we implement the X op correctly.
61353         New arg PMODE_BITS, to keep track of which mode bits the user
61354         mentioned; it treats S_ISUID and S_ISGID speciall.
61355         All callers changed.
61356         * lib/modechange.h: Likewise.
61357
61358 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61359
61360         * MODULES.html.sh: Add mkancestors.
61361         * modules/mkancesdirs: New module.
61362         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
61363         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
61364         The chdir-safer and afs files are now orphans; I'll remove them
61365         unless someone speaks up.
61366         Add lib/dirchownmod.c, lib/dirchownmod.h.
61367         (Depends-on): Remove alloca, chown, save-cwd, dirname.
61368         Add lchown, mkancesdirs.
61369         (Maintainer): Add self.
61370
61371 2006-07-15  Karl Berry  <karl@gnu.org>
61372
61373         * gnulib-tool: help message wording/arrangement.
61374
61375 2006-07-14  Simon Josefsson  <jas@extundo.com>
61376
61377         * doc/gnulib.texi (Libtool and Windows): New section.
61378
61379 2006-07-12  Simon Josefsson  <jas@extundo.com>
61380
61381         * modules/gendocs (License): Fix license, approved by Karl.
61382
61383 2006-07-12  Eric Blake  <ebb9@byu.net>
61384
61385         * MODULES.html.sh: Add gendocs.
61386
61387 2006-07-11  Eric Blake  <ebb9@byu.net>
61388
61389         * modules/fdl: New module, to install doc/fdl.texi.
61390         * MODULES.html.sh: Add new section for documentation modules.
61391         * gnulib-tool: Avoid space-tab.
61392         (--doc-base): New option, to manage files from doc.
61393
61394 2006-07-11  Eric Blake  <ebb9@byu.net>
61395
61396         * m4/absolute-header.m4: Fix comments to match recent change.
61397
61398 2006-07-11  Eric Blake  <ebb9@byu.net>
61399
61400         * gnulib-tool: List --doc-base before --tests-base.
61401
61402 2006-07-11  Derek R. Price  <derek@ximbiot.com>
61403
61404         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
61405
61406 2006-07-11  Bruno Haible  <bruno@clisp.org>
61407
61408         * README: Mention where to put documentation.
61409
61410 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61411
61412         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
61413
61414 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61415
61416         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
61417         to stdint.m4.
61418
61419 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61420
61421         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
61422         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
61423         "no/such/file/stdint.h" when there is no such file, so that
61424         the resulting C code can be parsed by dodgy compilers.
61425         Problems reported by Bob Proulx.
61426
61427 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61428
61429         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
61430         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61431         macros into the GNU _D_EXACT_NAMLEN.
61432         * lib/savedir.c:  Likewise.
61433         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
61434
61435 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61436         and Paul Eggert  <eggert@cs.ucla.edu>
61437
61438         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
61439         * m4/savedir.m4:
61440         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61441         macros into the GNU _D_EXACT_NAMLEN.
61442
61443 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61444
61445         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
61446         around the absolute name, to work around a problem with the HP-UX
61447         11.23 native C compiler, reported by Bob Proulx.
61448
61449 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61450
61451         * doc/maintain.texi, make-stds.texi: Sync from
61452         <http://savannah.gnu.org/projects/gnustandards>.
61453
61454 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61455
61456         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
61457
61458 2006-07-09  Jim Meyering  <jim@meyering.net>
61459
61460         * m4/glob.m4: Remove a doubled word in a comment.
61461
61462 2006-07-09  Jim Meyering  <jim@meyering.net>
61463
61464         * lib/argp-pv.c: Remove a doubled word in a comment.
61465         * lib/check-version.c (check_version): Likewise.
61466         * lib/javacomp.c (compile_java_class): Likewise.
61467
61468 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61469
61470         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
61471         for the benefit of people using Autoconf 2.60.  If you want to
61472         support older Autoconf versions you can copy m4/onceonly_2_57.m4
61473         (or m4/onceonly.m4, if pre-2.57) manually.
61474
61475 2006-07-08  Jim Meyering  <jim@meyering.net>
61476
61477         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
61478         comment.
61479         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
61480         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
61481         comment.
61482
61483 2006-07-08  Jim Meyering  <jim@meyering.net>
61484
61485         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
61486
61487 2006-07-07  Simon Josefsson  <jas@extundo.com>
61488
61489         * tests/test-crc.c: Change expected crc value, the test vector
61490         were probably computed using the old broken crc.c?
61491
61492 2006-07-06  Simon Josefsson  <jas@extundo.com>
61493
61494         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
61495         now the canonical place for the M4 file).
61496
61497         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
61498         from the sys_socket dependency now.
61499
61500         * modules/inet_pton (Files): Ditto.
61501
61502         * modules/inet_ntop (Files): Ditto.
61503
61504 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61505
61506         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
61507         not gl_PREREQ_GETUSERSHELL.
61508
61509 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61510
61511         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
61512         with only one argument, for Autoconf 2.60.
61513         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
61514         expand to nothing, so add a shell command to avoid syntax error.
61515         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61516
61517 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61518
61519         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
61520
61521 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61522
61523         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
61524         no longer needed.  Check for isblank decl.
61525         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
61526         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
61527         of existence.
61528
61529 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61530
61531         * lib/getloadavg.c: Use __VMS, not VMS.
61532         * lib/getopt.c: Likewise.
61533         * lib/getpagesize.h: Likewise.
61534         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
61535         and probably does not work.
61536
61537 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61538
61539         * lib/.cppi-disable: Add wcwidth.
61540         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
61541         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
61542         (ISGRAPH): Remove.  All uses changed to isgraph.
61543         (FOLD) [!defined _LIBC]: Remove special case.
61544         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
61545         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
61546         HAVE_ISBLANK.
61547         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
61548         case.
61549
61550 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61551
61552         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
61553         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
61554         brackets.  Other minor changes to suppress some compiler
61555         warnings.
61556
61557 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61558         and Paul Eggert  <eggert@cs.ucla.edu>
61559
61560         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
61561         of invoking obsolescent AC_HEADER_DIRENT macro.
61562         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61563         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
61564         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61565         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
61566         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
61567         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61568         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
61569         * m4/readdir.m4: Remove; no longer needed.
61570
61571 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61572         and Paul Eggert  <eggert@cs.ucla.edu>
61573
61574         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
61575         Don't worry about this obsolete case any more.
61576         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
61577         directories.
61578         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
61579         worry about this obsolete case any more.
61580         * lib/fts.c: Likewise.
61581         * lib/getcwd.c: Likewise.
61582         * lib/glob.h: Likewise.
61583         * lib/savedir.c: Likewise.
61584
61585 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61586
61587         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
61588         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
61589         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
61590         needed.
61591         All uses removed.
61592         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61593         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61594         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
61595         needed.
61596         * m4/getdate.m4 (gl_GETDATE): Likewise.
61597         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61598         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61599         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61600         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61601         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61602         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61603         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61604         needed.
61605
61606 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61607
61608         * lib/memcasecmp.c: Include <limits.h>.
61609         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61610         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61611         Don't assume isdigit succeeds only on '0' through '9'.
61612
61613 2006-07-05  Eric Blake  <ebb9@byu.net>
61614
61615         * modules/getaddrinfo (Depends-on): Add snprintf.
61616
61617 2006-07-05  Eric Blake  <ebb9@byu.net>
61618
61619         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61620         to avoid 'header present but could not be compiled' on cygwin.
61621
61622 2006-07-05  Eric Blake  <ebb9@byu.net>
61623
61624         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61625         missing from netdb.h.
61626         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61627
61628 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61629
61630         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
61631         no longer needed.
61632         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
61633         * m4/getdate.m4 (gl_GETDATE): Likewise.
61634         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61635         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61636         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61637         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61638         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61639
61640 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61641
61642         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
61643         All uses of is_space replaced by isspace.
61644         * lib/exit.h: Don't talk about STDC_HEADERS.
61645         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
61646         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
61647         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
61648         replaced by isprint etc.
61649         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
61650         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61651         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
61652         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
61653         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
61654         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61655
61656 2006-07-05  Bruno Haible  <bruno@clisp.org>
61657
61658         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
61659         the function exists, before testing against AIX.
61660         Reported by Martin Lambers <marlam@marlam.de>.
61661
61662 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61663
61664         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
61665         From Mark D. Baushke.
61666
61667 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61668
61669         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
61670         to the absolute name, not just one, to bypass Sun C 5.8's
61671         "warning: #include of /usr/include/... may be non-portable".
61672
61673 2006-07-04  Eric Blake  <ebb9@byu.net>
61674
61675         * modules/dirname-tests: New test module.
61676         * tests/test-dirname.c: New file, replacing dirname.c
61677         TEST_DIRNAME section that was recently deleted.
61678
61679 2006-07-04  Bruno Haible  <bruno@clisp.org>
61680
61681         Assume ANSI C header files and <ctype.h> functions.
61682         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
61683         (mbsnwidth): Use isprint, iscntrl instead.
61684
61685 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61686
61687         Merge from coreutils.
61688         * MODULES.html.sh: Add xstrtold.
61689         * modules/xstrtold: New file.
61690         * modules/cycle-check (Files): Add lib/same-inode.h.
61691         * modules/dirname (Files): Add m4/double-slash-root.m4.
61692         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
61693         * modules/mkdir-p (Files): Add lib/same-inode.h.
61694         * modules/same (Files): Add lib/same-inode.h.
61695
61696 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61697
61698         * m4/absolute-header.m4: Renamed from full-header-path.m4.
61699         This is to keep the terminology clean; POSIX talks about
61700         "absolute pathnames", not "full pathnames", but the GNU
61701         Coding Standards say to use "path" for something else;
61702         so use "absolute" to keep both sides happy.
61703         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
61704         Set gl_absolute_header, not gl_full_header_path.
61705         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
61706         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
61707         All uses changed.
61708
61709         Merge from coreutils.
61710
61711         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61712
61713         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
61714         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
61715         want to require the building of c-strtod.o.
61716         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
61717         needs -lm directly.
61718         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
61719
61720         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61721
61722         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
61723         --as-needed option if available.  Problem reported by Albert Chin in
61724         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
61725         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
61726         cc merely issues a bunch of annoying warnings for --as-needed
61727         (this problem was reported by Bob Proulx).  Also, try linking with
61728         -lm to detect a bug in binutils 2.16 (this problem was reported
61729         by Ralf Wildenhues).
61730
61731         2006-06-18  Jim Meyering  <jim@meyering.net>
61732
61733         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
61734         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
61735         macro.
61736         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
61737         also check for glibc-2.4's abort-inducing bug.
61738
61739         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
61740         Low-probability clean-up should be to use rmdir to get rid of
61741         the just-created directory, not unlink.
61742
61743         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
61744         configure fail, and request a bug report to inform us about it.
61745         Add a comment that, barring reports to the contrary, in 2007 we'll
61746         assume ftruncate is universally available.
61747
61748         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61749
61750         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
61751
61752         2006-03-12  Jim Meyering  <jim@meyering.net>
61753
61754         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
61755         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
61756         * m4/same.m4 (gl_SAME): Likewise.
61757         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
61758
61759         2006-03-11  Eric Blake  <ebb9@byu.net>
61760
61761         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
61762         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
61763         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
61764         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
61765
61766 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61767
61768         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
61769         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
61770         reported by Mark D. Baushke, one in
61771         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
61772
61773         Merge from coreutils.
61774
61775         * lib/.cppi-disable: Add stdint_.h.
61776         * lib/.cvsignore: Add stdint.h.
61777
61778         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61779
61780         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
61781         both double and long double versions.
61782         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
61783         * lib/xstrtold.c: New file.
61784         * lib/xstrtod.h (xstrtold): New decl.
61785
61786         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61787
61788         * lib/filemode.c (setst): Remove.
61789         (strmode): Rewrite to avoid setst.  This makes the code shorter,
61790         (arguably) clearer, and the generated code is a bit smaller on my
61791         Debian GNU/Linux stable x86 host.
61792
61793         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61794
61795         * lib/filemode.c: Include "filemode.h" first, to test the interface.
61796         Assume that filemode.h includes sys/types.h and sys/stat.h.
61797         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
61798         (ftypelet): Reorder to put common cases first, for efficiency.
61799         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
61800         to do 'M'.
61801         (strmode): Renamed from mode_string, and now stores 12 bytes instead
61802         of 10, for compatibility with FreeBSD.  All callers changed.
61803         (filemodestring): Now stores 12 bytes instead of 10, and sets file
61804         types that can't be deduced solely from st_mode.  First arg is now a
61805         const pointer.
61806         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
61807         (strmode): Renamed from mode_string.
61808         (filemodestring): New decl.
61809         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
61810         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
61811         needed.
61812         (S_ISPORT, S_ISWHT): New macros, if not already defined.
61813
61814         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61815
61816         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
61817         fsusage.h now does that.  Include fsusage.h first, to test interface.
61818         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
61819         at most one method (the old code could have generated decls that
61820         didn't conform to C89, not that this was ever exercised).
61821         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
61822
61823         2006-03-19  Jim Meyering  <jim@meyering.net>
61824
61825         Work even in a chroot where d_ino values for entries in "/"
61826         don't match the stat.st_ino values for the same names.
61827         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
61828         number, iterate through all entries again, using lstat instead.
61829         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
61830         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
61831
61832         * lib/getcwd.c (__getcwd): Clarify a comment.
61833         Use memcpy in place of a call to strcpy.
61834
61835         2006-03-12  Jim Meyering  <jim@meyering.net>
61836
61837         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
61838         matches that of the current directory (which we're about to chdir ".."
61839         out of), then save the dev-ino of the parent, instead.
61840
61841         * lib/same-inode.h (SAME_INODE): New file/macro.
61842         * lib/chdir-safer.c (SAME_INODE): Remove definition.
61843         Include "same-inode.h", instead.
61844         * lib/same.c: Likewise.
61845         * lib/cycle-check.h: Include "same-inode.h".
61846         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
61847         * lib/cycle-check.c (SAME_INODE): Remove definition.
61848         * lib/root-dev-ino.h: Include "same-inode.h".
61849
61850         2006-03-11  Eric Blake  <ebb9@byu.net>
61851
61852         * lib/same.c (same_name): s/base_name/last_component/
61853         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
61854         * lib/filenamecat.c (file_name_concat): Likewise.
61855
61856         2006-03-11  Eric Blake  <ebb9@byu.net>,
61857                     Paul Eggert  <eggert@cs.ucla.edu>
61858
61859         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
61860         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
61861         drive prefix.
61862         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
61863         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
61864         (last_component): New method.
61865         * lib/dirname.c (dir_len): Determine when drive letters need a
61866         subsequent slash.  Preserve // when it is special.
61867         (dir_name): Don't append dot when drive letter is absolute.
61868         [TEST_DIRNAME]: Move into a full-blown gnulib test.
61869         * lib/basename.c (base_name): New semantics - malloc the result.
61870         Preserve // when it is special.  Preserve relative files that look
61871         like drive letters.
61872         (base_len): Preserve // when it is special.
61873         (last_component): New method, similar to old base_name semantics.
61874         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
61875         base_name.  Strip redundant slashes from ///.
61876
61877 2006-07-03  Jim Meyering  <jim@meyering.net>
61878
61879         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
61880         macro is used before the first cycle_check call.
61881
61882 2006-07-03  Eric Blake  <ebb9@byu.net>
61883
61884         * modules/dirname (Depends-on): Add xstrndup.
61885
61886 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61887
61888         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
61889         test cases, so that config.log is a bit easier to follow.
61890
61891 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61892
61893         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
61894         both are 64 bits, since this seems to be the tradition, and this
61895         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
61896         we ever run into a host that prefers long long to long in this
61897         case, we'll need another configure-time test.  Problem reported by
61898         Jim Meyering.
61899
61900 2006-07-02  Eric Blake  <ebb9@byu.net>
61901
61902         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
61903
61904 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61905
61906         * modules/inttypes (Depends-on): No longer depends on stdint.
61907         * modules/stdint (Description): Say more about assumptions.
61908         Say that the fast types might differ.  Say macros are used.
61909         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
61910         (Makefile.am): Revise list of substituted symbols to match
61911         new stdint.m4.
61912         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
61913         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
61914         * tests/test-stdint.c (verify_same_types)
61915         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
61916         the code conforms to C99/C89.
61917         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
61918         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
61919
61920 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61921
61922         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
61923         but fix a bug, by requiring at least 64 bits.
61924         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61925         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
61926         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
61927         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
61928
61929         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
61930         changes.  Make 2.59 a prerequisite.  Check and substitute for
61931         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
61932         inttypes.h.  Do not use special include files; just use the
61933         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
61934         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
61935         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
61936         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
61937         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
61938         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
61939         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
61940         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
61941         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
61942         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
61943         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
61944         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
61945         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
61946         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
61947         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
61948         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
61949         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
61950         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
61951         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
61952         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
61953         WINT_MAX.  Check for C99 conformance more strictly, by detecting
61954         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
61955         not check for things that C99 does not require, e.g., int8_t.  If
61956         a test isn't needed unless <stdint.h> isn't working, and is
61957         unlikely to be needed for any other reason, then don't do it
61958         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
61959         size_t, since we assume C89 freestanding at least.  Do not check
61960         for sig_atomic_t, wchar_t, or wint_t, since the code now does
61961         the right thing even if the types are not defined.  Instead use:
61962         (gl_STDINT_TYPE_PROPERTIES): New macro.
61963         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
61964         testing whether <sys/types.h> clashes, as Autoconf does this for
61965         us now.  All uses removed.
61966         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
61967         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
61968         (gl_CHECK_TYPE_SAME):
61969         Remove; no longer needed.
61970         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
61971         exists, since we'll return 0 anyway in that case.
61972         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
61973
61974 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61975
61976         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
61977         possible collision with system files.
61978         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
61979         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
61980         WCHAR_MIN and WCHAR_MAX in this case.
61981         (<stddef.h>): Do not include; no longer needed.
61982         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
61983         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
61984         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
61985         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
61986         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
61987         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
61988         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
61989         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
61990         !defined(__c99))]: Include in this case too, since it's harmless
61991         now.
61992         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
61993         dangerous to do so.
61994         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
61995         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
61996         (_STDINT_MIN, _STDINT_MAX): New macros.
61997         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
61998         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
61999         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
62000         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
62001         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
62002         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
62003         macros, not typedefs; this simplifies things quite a bit.
62004         Use long int for all types narrower than int64_t.
62005         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
62006         Define in terms of long long int or int64_t or long int,
62007         not int64_t or int32_t.  This saves some compile-time testing.
62008         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
62009         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
62010         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
62011         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
62012         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
62013         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
62014         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
62015         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
62016         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
62017         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
62018         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62019         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62020         undef any previous version and define our own version, for
62021         simplicity and consistency with the new macros for types.
62022         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62023         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62024         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
62025         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
62026         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
62027         @WINT_T_SUFFIX@ to keep things simple here.
62028         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
62029         Simplify by assuming typical 8/16/32/64 host, since we're
62030         already doing that elsewhere anyway.
62031         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
62032         and assume long long int is 64 bits if available.  This
62033         speeds up 'configure'.
62034
62035 2006-07-01  Eric Blake  <ebb9@byu.net>
62036
62037         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
62038         Reported by Andreas Buening.
62039
62040 2006-07-01  Eric Blake  <ebb9@byu.net>
62041
62042         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
62043
62044 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62045
62046         * lib/getaddrinfo.c: fixed typo
62047
62048 2006-06-29  Jim Meyering  <jim@meyering.net>
62049
62050         * modules/strftime (Maintainer): Add my name, since with the
62051         FPRINTFTIME changes strftime.c has forked from glibc.
62052
62053 2006-06-29  Eric Blake  <ebb9@byu.net>
62054
62055         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
62056
62057 2006-06-29  Eric Blake  <ebb9@byu.net>
62058
62059         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
62060
62061 2006-06-29  Eric Blake  <ebb9@byu.net>
62062
62063         * lib/stat_.h: New file.
62064
62065 2006-06-29  Eric Blake  <ebb9@byu.net>
62066
62067         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
62068         unused static function.
62069
62070 2006-06-29  Eric Blake  <ebb9@byu.net>
62071
62072         * doc/functions.texi (Function Portability): Document missing lstat
62073         on mingw.
62074
62075 2006-06-29  Eric Blake  <ebb9@byu.net>
62076
62077         * MODULES.html.sh: Add sys_stat.
62078         * modules/sys_stat: New module.
62079         * modules/mkstemp (Depends-on): Add sys_stat.
62080
62081 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62082
62083         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
62084
62085 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62086
62087         * m4/c-bs-a.m4: Removed.
62088
62089 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62090
62091         * lib/strftime.c: Assume strftime() exists.
62092
62093 2006-06-29  Derek Price  <derek@ximbiot.com>
62094
62095         * modules/c-bs-a: Removed - \a is C89.
62096         * MODULES.html.sh: Remove c-bs-a.
62097
62098 2006-06-29  Bruno Haible  <bruno@clisp.org>
62099
62100         * modules/wcwidth (License): Change to LGPL.
62101
62102 2006-06-28  Simon Josefsson  <jas@extundo.com>
62103
62104         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
62105         on _WIN32.
62106
62107         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
62108         getnameinfo.
62109
62110 2006-06-28  Simon Josefsson  <jas@extundo.com>
62111
62112         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
62113
62114 2006-06-28  Simon Josefsson  <jas@extundo.com>
62115
62116         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
62117         functions there.  It will succeed on Windows XP, but on Windows
62118         2000 and (presumably) earlier, it will fail, and use the internal
62119         re-implementation.
62120         (use_win32_p): New function.
62121         (getaddrinfo): Use strtoul on servname, to support numeric ports.
62122         Support AI_NUMERICSERV to disable getservbyname.
62123         (getnameinfo): New function, only supports
62124         NI_NUMERICHOST|NI_NUMERICSERV for now.
62125
62126         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
62127         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
62128         getnameinfo.
62129
62130 2006-06-28  Eric Blake  <ebb9@byu.net>
62131
62132         * modules/wcwidth: New file.
62133         * modules/mbchar (Depends-on): Add wcwidth.
62134         * modules/mbswidth (Depends-on): Add wcwidth.
62135         * MODULES.html.sh: Add wcwidth.
62136
62137 2006-06-28  Eric Blake  <ebb9@byu.net>
62138
62139         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
62140         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
62141
62142 2006-06-28  Eric Blake  <ebb9@byu.net>
62143
62144         * lib/xvasprintf.h: Fix comments.
62145
62146 2006-06-28  Eric Blake  <ebb9@byu.net>
62147
62148         * lib/mbchar.h (wcwidth): Include wcwidth.h.
62149         * lib/mbswidth.c (wcwidth): Move from here...
62150         * lib/wcwidth.h: ...to this new file.
62151
62152 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62153
62154         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
62155
62156         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
62157         it's obsolete.
62158         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
62159
62160 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62161
62162         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
62163         Autoconf 2.60 says this stuff was obsolete.
62164
62165 2006-06-28  Bruno Haible  <bruno@clisp.org>
62166
62167         * modules/wcwidth (Files): Add m4/wchar_t.m4.
62168
62169 2006-06-28  Bruno Haible  <bruno@clisp.org>
62170
62171         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
62172         gt_TYPE_WCHAR_T.
62173
62174 2006-06-28  Bruno Haible  <bruno@clisp.org>
62175
62176         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
62177         declaration for wcwidth.
62178         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
62179
62180 2006-06-28  Bruno Haible  <bruno@clisp.org>
62181
62182         * lib/mkdtemp.c [MINGW]: Include <io.h>.
62183         (mkdir): Define using _mkdir.
62184
62185 2006-06-28  Bruno Haible  <bruno@clisp.org>
62186
62187         * lib/getaddrinfo.h: Fix POSIX URL.
62188         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
62189         _WIN32.
62190         (use_win32_p): Make static.
62191         (getaddrinfo): Reject service name if it is empty or does not consist
62192         solely of decimal digits, or if its value is > 65535.
62193         (getnameinfo): Remove useless casts.
62194
62195 2006-06-27  Simon Josefsson  <jas@extundo.com>
62196
62197         * modules/sys_select: New file, suggested by Bruno Haible, Paul
62198         Eggert and Martin Lambers.
62199
62200 2006-06-27  Simon Josefsson  <jas@extundo.com>
62201
62202         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
62203         Eggert and Martin Lambers.
62204
62205 2006-06-27  Bruno Haible  <bruno@clisp.org>
62206
62207         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
62208         result to 0, not to empty.
62209         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
62210
62211 2006-06-27  Bruno Haible  <bruno@clisp.org>
62212
62213         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
62214
62215 2006-06-26  Simon Josefsson  <jas@extundo.com>
62216
62217         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
62218         present.
62219
62220 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
62221
62222         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
62223         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
62224         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
62225
62226 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
62227
62228         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
62229
62230 2006-06-26  Bruno Haible  <bruno@clisp.org>
62231
62232         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
62233
62234 2006-06-26  Bruno Haible  <bruno@clisp.org>
62235
62236         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
62237
62238 2006-06-26  Bruno Haible  <bruno@clisp.org>
62239
62240         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
62241         SGI C compiler in pre-C99 mode.
62242         Suggested by Mark D. Baushke and Larry Jones.
62243
62244 2006-06-26  Bruno Haible  <bruno@clisp.org>
62245
62246         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
62247         WCHAR_MAX.
62248         Reported by Mark D. Baushke and Larry Jones.
62249
62250 2006-06-26  Bruno Haible  <bruno@clisp.org>
62251
62252         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
62253         in pre-C99 mode.
62254         Suggested by Mark D. Baushke and Larry Jones.
62255
62256 2006-06-23  Simon Josefsson  <jas@extundo.com>
62257             Bruno Haible  <bruno@clisp.org>
62258
62259         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
62260         Emit mostlyclean-local rule.
62261         (func_emit_tests_Makefile_am): Likewise.
62262         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
62263
62264 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
62265
62266         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
62267
62268 2006-06-23  Bruno Haible  <bruno@clisp.org>
62269
62270         * tests/test-stdint.c: Update to match ISO C 99 Technical
62271         Corrigendum 1.
62272
62273 2006-06-23  Bruno Haible  <bruno@clisp.org>
62274
62275         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
62276
62277 2006-06-23  Bruno Haible  <bruno@clisp.org>
62278
62279         * lib/stdint_.h: Treat IRIX like OpenBSD.
62280
62281 2006-06-23  Bruno Haible  <bruno@clisp.org>
62282
62283         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
62284         ISO C 99 Technical Corrigendum 1.
62285
62286 2006-06-22  Simon Josefsson  <jas@extundo.com>
62287
62288         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
62289         MinGW.
62290
62291 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62292
62293         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
62294         needed.  Some compiler complained about some of them.  Problem reported
62295         by Larry Jones in
62296         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
62297
62298 2006-06-21  Simon Josefsson  <jas@extundo.com>
62299
62300         * tests/test-getaddrinfo.c: New file.
62301
62302         * modules/getaddrinfo-tests: New file.
62303
62304         * MODULES.html.sh: Add inet_pton.
62305
62306         * modules/inet_pton: New file.
62307
62308 2006-06-21  Simon Josefsson  <jas@extundo.com>
62309
62310         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
62311         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
62312         of using the (limited) gnulib implementation on Windows XP.
62313
62314         * m4/inet_pton.m4: New file.
62315
62316 2006-06-21  Simon Josefsson  <jas@extundo.com>
62317
62318         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
62319         variable.
62320
62321         * lib/socket_.h: Don't define WINVER.
62322
62323         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
62324         slightly modified to work in gnulib.
62325
62326 2006-06-21  Simon Josefsson  <jas@extundo.com>
62327
62328         * doc/gnulib.texi (Windows sockets): Add.
62329
62330 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62331
62332         * lib/read-file.c (fread_file): Start with buffer allocation of
62333         0 bytes rather than 1 byte; this simplifies the code.
62334         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
62335         code to free buffer and save/restore errno.
62336         (internal_read_file): Remove unused local.
62337
62338 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62339
62340         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
62341         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
62342         Problem reported by Denis Excoffier in
62343         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
62344
62345 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62346
62347         * modules/sys_socket, modules/socklen: Include sys/types since
62348         FreeBSD 4.x's sys/socket.h needs it.
62349
62350 2006-06-19  Simon Josefsson  <jas@extundo.com>
62351
62352         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
62353
62354 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62355
62356         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
62357
62358 2006-06-19  Bruno Haible  <bruno@clisp.org>
62359
62360         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
62361         and FULL_PATH_INTTYPES_H in angle brackets.
62362         Reported by Mark D. Baushke <mdb@gnu.org>.
62363
62364 2006-06-17  Eric Blake  <ebb9@byu.net>
62365
62366         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
62367         errno.
62368
62369 2006-06-17  Bruno Haible  <bruno@clisp.org>
62370
62371         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
62372         <sys/inttypes.h>.
62373
62374 2006-06-17  Bruno Haible  <bruno@clisp.org>
62375
62376         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
62377         whether errno is declared. Assume <errno.h> declares errno.
62378
62379 2006-06-17  Bruno Haible  <bruno@clisp.org>
62380
62381         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
62382
62383 2006-06-17  Bruno Haible  <bruno@clisp.org>
62384
62385         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
62386         problem on Solaris 2.5.1.
62387
62388 2006-06-16  Eric Blake  <ebb9@byu.net>
62389
62390         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
62391         * lib/unicodeio.c [!defined errno]: Likewise.
62392         * lib/strtol.c [!defined errno]: Likewise.
62393         * lib/strtod.c [!defined errno]: Likewise.
62394
62395 2006-06-15  Eric Blake  <ebb9@byu.net>
62396
62397         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
62398
62399 2006-06-15  Eric Blake  <ebb9@byu.net>
62400
62401         * config/srclist.txt (ssize_t.m4): Lose sync.
62402
62403 2006-06-15  Bruno Haible  <bruno@clisp.org>
62404
62405         * modules/stdint (Files): Include m4/full-header-path.m4,
62406         m4/size_max.m4, m4/wchar_t.m4.
62407         (Makefile.am): Many more substitutions.
62408         * modules/stdint-tests: New file.
62409         * tests/test-stdint.c: New file.
62410
62411 2006-06-15  Bruno Haible  <bruno@clisp.org>
62412
62413         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
62414         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
62415         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
62416         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
62417         gl_CHECK_TYPE_SAME): New macros.
62418
62419 2006-06-15  Bruno Haible  <bruno@clisp.org>
62420
62421         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
62422
62423 2006-06-15  Bruno Haible  <bruno@clisp.org>
62424
62425         * lib/stdint_.h: Rewritten to be fully auto-configured.
62426         Fixes bug on HP-UX/IA64.
62427
62428 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
62429
62430         * lib/getdate.y (__attribute__): Don't define if already defined.
62431         Problem reported by Larry Jones.
62432         * lib/utimens.c (__attribute__): Likewise.
62433
62434 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
62435
62436         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
62437         reported by Andreas Schwab.
62438
62439 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62440             Bruno Haible  <bruno@clisp.org>
62441
62442         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
62443         check for the declaration of strnlen and a run test that exposes the
62444         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
62445         rpl_strndup.
62446
62447 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62448             Bruno Haible  <bruno@clisp.org>
62449
62450         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
62451
62452 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62453
62454         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
62455         compile test, for Tru64 4.0D.
62456
62457 2006-05-28  Karl Berry  <karl@gnu.org>
62458
62459         * config/srclist.txt (printf-args.c): lose sync.
62460
62461 2006-05-26  Martin Lambers  <marlam@marlam.de>
62462
62463         * lib/getpass.c: Updates the test for the native W32 API, and adds
62464         missing includes, thus fixing compilation warnings.
62465
62466 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62467
62468         * lib/exclude.c (exclude_fnmatch): New function.
62469         (excluded_file_name): Call exclude_fnmatch.
62470         * lib/exclude.h (excluded_file_name): New prototype
62471
62472 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
62473
62474         * lib/tempname.c (small_open, large_open): New macros.
62475         (__open, __open64) [!_LIBC]: Remove.
62476         (__gen_tempname): Use small_open and large_open instead of __open
62477         and __open64.  This fixes a portability bug on HP-UX 11.11i
62478         reported by Simon Wing-Tang in
62479         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
62480
62481 2006-05-24  Bruno Haible  <bruno@clisp.org>
62482
62483         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
62484         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
62485         Reported by Thorsten Maerz <torte@netztorte.de> via
62486         Aaron Stone <aaron@serendipity.cx>.
62487
62488 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62489
62490         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
62491         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
62492         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
62493         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
62494         not really conditional on the cache.
62495         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
62496
62497 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62498
62499         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
62500         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
62501         (my_usleep): Don't mishandle maximum value.
62502
62503 2006-05-19  Jim Meyering  <jim@meyering.net>
62504
62505         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
62506
62507 2006-05-17  Bruno Haible  <bruno@clisp.org>
62508
62509         Cygwin portability.
62510         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
62511
62512 2006-05-17  Bruno Haible  <bruno@clisp.org>
62513
62514         * lib/stdint_.h: Fix recognition of Cygwin.
62515
62516 2006-05-15  Bruno Haible  <bruno@clisp.org>
62517
62518         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
62519         on libtool patch by Ralf Wildenhues.
62520
62521 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62522
62523         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
62524         test for C99 conformance; (bool) 0.5 is an integer constant
62525         expression, but (bool) -0.5 is not.  Problem reported by Fedor
62526         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
62527
62528 2006-05-11  Simon Josefsson  <jas@extundo.com>
62529
62530         * m4/xvasprintf.m4: Fix obvious typo.
62531
62532 2006-05-11  Jim Meyering  <jim@meyering.net>
62533
62534         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
62535         James Lemley.
62536
62537 2006-05-10  Simon Josefsson  <jas@extundo.com>
62538
62539         * lib/md4.c: Typo fix, update copyright years.
62540         (K1, K2): Don't use L because it turn computations into 64-bit on
62541         64-bit platforms.
62542
62543 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
62544
62545         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
62546         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
62547         unwanted sign propagation, e.g., on hosts with 64-bit int.
62548         There still are some problems with reeelly weird theoretical hosts
62549         (e.g., 33-bit int) but it's not worth worrying about now.
62550         * lib/sha1.c (rol): Likewise.
62551         (K1, K2, K3, K4): Remove unnecessary L suffix.
62552
62553 2006-05-10  Bruno Haible  <bruno@clisp.org>
62554
62555         * lib/des.c: Cast to avoid warnings.
62556
62557 2006-05-09  Bruno Haible  <bruno@clisp.org>
62558
62559         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
62560         (Depends-on): Depend also on xsize, stdarg.
62561         (configure.ac): Add gl_XVASPRINTF.
62562
62563 2006-05-09  Bruno Haible  <bruno@clisp.org>
62564
62565         * m4/xvasprintf.m4: New file.
62566
62567 2006-05-09  Bruno Haible  <bruno@clisp.org>
62568
62569         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
62570         (EOVERFLOW): Define fallback value.
62571         (xstrcat): New function.
62572         (xvasprintf): Recognize the special case of a string concatenation.
62573
62574 2006-05-08  Eric Blake  <ebb9@byu.net>
62575
62576         * gnulib-tool (func_version): Base copyright year on CVS date.
62577         (func_emit_copyright_notice): New function.
62578         (func_emit_lib_Makefile_am): Use it.
62579         (func_emit_tests_Makefile_am): Likewise.
62580         (func_import): Likewise.
62581
62582 2006-05-08  Bruno Haible  <bruno@clisp.org>
62583
62584         * modules/stdarg: New file.
62585         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
62586
62587 2006-05-08  Bruno Haible  <bruno@clisp.org>
62588
62589         * m4/stdarg.m4: New file, from GNU gettext.
62590
62591 2006-05-08  Bruno Haible  <bruno@clisp.org>
62592
62593         * config/srclist.txt (build-aux/config.rpath): different from latest
62594         release.
62595
62596 2006-05-08  Bruno Haible  <bruno@clisp.org>
62597
62598         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
62599
62600 2006-05-05  Jim Meyering  <jim@meyering.net>
62601
62602         * m4/warning.m4: New file, derived from bison's file by the same name.
62603
62604 2006-05-03  Bruno Haible  <bruno@clisp.org>
62605
62606         * lib/stdint_.h: Shorter URL.
62607         * lib/inttypes.h: Likewise.
62608
62609 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62610
62611         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62612
62613 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62614
62615         * lib/verify.h: Document the internals better.  Most of this change
62616         was written by Bruno Haible.
62617
62618 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62619
62620         * doc/verify.texi: New file, partly based on a proposal by
62621         Bruno Haible.
62622
62623 2006-05-02  Bruno Haible  <bruno@clisp.org>
62624
62625         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62626         test from here...
62627         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62628
62629 2006-04-29  Bruno Haible  <bruno@clisp.org>
62630
62631         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
62632         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
62633
62634 2006-04-29  Bruno Haible  <bruno@clisp.org>
62635
62636         * gnulib-tool: Make --update option actually work.
62637
62638 2006-04-29  Bruno Haible  <bruno@clisp.org>
62639
62640         * doc/gcd.texi: New file.
62641         * doc/gnulib.texi: Include it.
62642
62643 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
62644
62645         * lib/getdate.y (get_date): When adding relative date, start with the
62646         initial time, not with the result of the first mktime call.
62647
62648 2006-04-25  Bruno Haible  <bruno@clisp.org>
62649
62650         * gnulib-tool (func_import): Output the include directives in three
62651         blocks, sorted separately.
62652         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62653
62654 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62655
62656         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
62657         to define main with arguments, for C++.  Reported by Eric Blake.
62658         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
62659         Prefer 'int main ()' to 'int main (void)', for C++.
62660         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62661         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
62662         for 'main', for C99 and C++.
62663
62664 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62665
62666         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
62667         Don't assume that exit status -1 is valid.
62668         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62669         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62670         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62671         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
62672         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
62673         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
62674         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
62675         functions can be used without declaring them, or that you can
62676         exit with status -1.
62677         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62678
62679 2006-04-24  Karl Berry  <karl@gnu.org>
62680
62681         * config/srclist.txt (longdouble.m4): sync lost.
62682
62683 2006-04-24  Eric Blake  <ebb9@byu.net>
62684
62685         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
62686
62687 2006-04-24  Bruno Haible  <bruno@clisp.org>
62688
62689         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
62690         poll() implementation in AIX.
62691         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62692
62693 2006-04-24  Bruno Haible  <bruno@clisp.org>
62694
62695         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
62696         assigned exactly once.
62697
62698 2006-04-23  Claudio Fontana  <claudio@gnu.org>
62699             Bruno Haible  <bruno@clisp.org>
62700
62701         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
62702         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
62703         for AM_CPPFLAGS.
62704
62705 2006-04-23  Bruno Haible  <bruno@clisp.org>
62706
62707         * modules/copy-file: Depend on unistd.
62708         * modules/execute: Likewise.
62709         * modules/fatal-signal: Likewise.
62710         * modules/findprog: Likewise.
62711         * modules/mkdtemp : Likewise.
62712         * modules/pipe: Likewise.
62713         * modules/wait-process: Likewise.
62714
62715 2006-04-23  Bruno Haible  <bruno@clisp.org>
62716
62717         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
62718         condition was already detected.
62719         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62720
62721 2006-04-23  Bruno Haible  <bruno@clisp.org>
62722
62723         * lib/copy-file.c: Include <unistd.h> unconditionally.
62724         * lib/execute.c: Likewise.
62725         * lib/fatal-signal.c: Likewise.
62726         * lib/findprog.c: Likewise.
62727         * lib/mkdtemp.c: Likewise.
62728         * lib/pipe.h: Likewise.
62729         * lib/pipe.c: Likewise.
62730         * lib/wait-process.h: Likewise.
62731
62732 2006-04-23  Bruno Haible  <bruno@clisp.org>
62733
62734         * gnulib-tool (func_usage): Fix --import description. Document
62735         --update.
62736         (func_import): Create temporary file in a temporary directory, if
62737         --dry-run is specified. Silence errors from 'grep' when there are no
62738         m4 files in $m4dir.
62739         (func_create_testdir): Silence errors from 'grep' when there are no
62740         m4 files in $m4dir.
62741         Reported by Karl Berry <karl@freefriends.org>.
62742
62743 2006-04-20  Bruno Haible  <bruno@clisp.org>
62744
62745         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
62746         one argument, so that the code will be portable to Autoconf 2.60.
62747         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
62748         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62749         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
62750
62751 2006-04-19  Derek Price  <derek@ximbiot.com>
62752             Eric Blake  <ebb9@byu.net>
62753
62754         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
62755         rather than "/full/path.h".  Update comment to match.  Shorten &
62756         generalize m4_translit call via AS_TR_CPP.
62757
62758 2006-04-19  Derek Price  <derek@ximbiot.com>
62759             Eric Blake  <ebb9@byu.net>
62760
62761         * lib/inttypes.h: Correct grammar in comment.
62762
62763 2006-04-18  Derek Price  <derek@ximbiot.com>
62764             Paul Eggert  <eggert@cs.ucla.edu>
62765
62766         * modules/inttypes: New file.
62767         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
62768
62769 2006-04-18  Derek Price  <derek@ximbiot.com>
62770             Paul Eggert  <eggert@cs.ucla.edu>
62771
62772         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
62773         New files.
62774
62775 2006-04-18  Derek Price  <derek@ximbiot.com>
62776             Paul Eggert  <eggert@cs.ucla.edu>
62777
62778         * lib/inttypes.h: New file.
62779         * lib/strtoimax.c: Assume <inttypes.h>.
62780
62781 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
62782
62783         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
62784         isn't mounted.  Problem reported by Kir Kolyshkin.
62785
62786 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62787
62788         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
62789         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
62790         Derek R. Price.
62791         * lib/regex.h (RE_DUP_MAX): Update comment to match current
62792         implementation.
62793
62794 2006-04-12  Eric Blake  <ebb9@byu.net>
62795
62796         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
62797         is now done automatically by the corresponding Autoconf macro.
62798
62799 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
62802         time_r.h.
62803
62804 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62805
62806         Merge regex changes from libc, removing some of our
62807         POSIX-conformance changes that were rejected and redoing them in a
62808         less-intrusive way.
62809
62810         * lib/regcomp.c (re_compile_internal, init_dfa):
62811         Length arg is now size_t, not Idx.  All uses changed.
62812         (peek_token): Forward decl now says internal_function.
62813         (__re_error_msgid, __re_error_msgid_idx):
62814         Now static rather than extern with attribute_hidden.
62815         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
62816         For some reason libc prefers K&R style defns for external functions.
62817         (regerror) [!defined _LIBC]: Likewise.
62818         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
62819         (seek_collating_symbol_entry, lookup_collation_sequence_value):
62820         (build_range_exp, build_collating_symbol):
62821         Use K&R-style defn.
62822         (re_compile_fastmap): Use '\0' to memset, not 0.
62823         (utf8_sb_map): Make the calculations more obvious.
62824         (init_dfa, parse_bracket_exp, build_charclass_op):
62825         Call calloc and cast result, as glibc does.
62826         (init_word_char, fetch_token, peek_token, peek_token_bracket):
62827         (build_range_exp, build_collating_symbol):
62828         Now internal functions.
62829
62830         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
62831
62832         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
62833         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
62834         Don't depend on VMS; depend on __VMS instead, for POSIX
62835         namespace cleanness.
62836         (regoff_t): Define to ssize_t, not long int.
62837
62838         Remove the REG_ macros named below.  Instead, make the old names
62839         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
62840         __USE_GNU_REGEX.
62841         (REG_BACKSLASH_ESCAPE_IN_LISTS):
62842         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
62843         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
62844         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
62845         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
62846         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
62847         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
62848         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
62849         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
62850         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
62851         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
62852         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
62853         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
62854         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
62855         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
62856         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
62857         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
62858         (REG_NREGS):
62859         Remove.  All uses replaced by the old RE_* names.
62860         (RE_BACKSLASH_ESCAPE_IN_LISTS):
62861         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
62862         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
62863         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
62864         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
62865         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
62866         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
62867         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
62868         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
62869         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
62870         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
62871         Don't bother having these macros be independent of each others'
62872         values, since they no longer exist in the POSIX name space.
62873
62874         Rename the following member names back to their old names,
62875         unless !__USE_GNU_REGEX.  All uses changed back.
62876         (buffer): Renamed from re_buffer.
62877         (allocated): Renamed from re_allocated.
62878         (used): Renamed from re_used.
62879         (syntax): Renamed from re_syntax.
62880         (fastmap): Renamed from re_fastmap.
62881         (translate): Renamed from re_translate.
62882         (can_be_null): Renamed from re_can_be_null.
62883         (regs_allocated): Renamed from re_regs_allocated.
62884         (fastmap_accurate): Renamed from re_fastmap_accurate.
62885         (no_sub): Renamed from re_no_sub.
62886         (not_bol): Renamed from re_not_bol.
62887         (not_eol): Renamed from re_not_eol.
62888         (newline_anchor): Renamed from re_newline_anchor.
62889         (num_regs): Renamed from rm_num_regs.
62890         (start): Renamed from rm_start.
62891         (end): Renamed from rm_end.
62892
62893         (free_state): Move up a bit.
62894
62895         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
62896         #define to be empty.
62897         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
62898         when that is what is intended.
62899         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
62900         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
62901         (MAX): New macro.
62902         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
62903         All uses changed back to re_malloc, etc.  It's now the caller's
62904         responsibility to check for overflow; all callers changed.
62905         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
62906         (re_x2nrealloc): Remove.
62907         (free_state): Remove decl.
62908
62909         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
62910         (re_set_registers, re_exec):
62911         Use K&R-style defn.
62912
62913         2006-01-31  Roland McGrath  <roland@redhat.com>
62914
62915         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
62916         Reported by Mike Frysinger <vapier@gentoo.org>.
62917
62918         2006-01-15  Andreas Jaeger  <aj@suse.de>
62919
62920         [BZ #1950]
62921         * lib/regex_internal.c (re_string_reconstruct): Adjust for
62922         build_wcs_upper_buffer change.
62923         (build_wcs_upper_buffer): Change return type.
62924
62925         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
62926
62927         * lib/regex_internal.h: Include <stdint.h> if available.
62928
62929         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
62930
62931         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
62932
62933         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62934
62935         * lib/regcomp.c: Adjust for changed secondary hash function.
62936
62937         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
62938
62939         * lib/regex.h: Pretty printing.
62940         Clean up namespace a bit.
62941
62942         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
62943
62944         * lib/regexec.c (update_cur_sifted_state, check_arrival,
62945         check_arrival_add_next_nodes): Avoid using uninitialized variable.
62946
62947         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62948                     Ulrich Drepper  <drepper@redhat.com>
62949
62950         [BZ #1302]
62951         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
62952         changed.
62953         (bitset_word_t): Renamed from bitset_word.  All uses changed.
62954
62955         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
62956
62957         [BZ #281]
62958         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
62959         * lib/regcomp.c: Remove unnecessary uses of
62960         unsigned RE_TRANSLATE_TYPE.
62961         * lib/regex_internal.h: Likewise.
62962         * lib/regex_internal.c: Likewise.
62963         * lib/regexec.c: Likewise.
62964         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
62965
62966         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
62967
62968         * lib/regexec.c (find_recover_state): Remove unnecessary
62969         initialization.
62970         (transit_state_bkref): Make DFA a const pointer.
62971         (get_subexp): Likewise.
62972         (check_arrival): Likewise.
62973         (update_cur_sifted_state): Likewise.
62974         (re_search_internal): Likewise.
62975         (prune_impossible_nodes): Likewise.
62976         (acquire_init_state_context): Likewise.
62977         (proceed_next_node): Likewise.
62978         (set_regs): Likewise.
62979         (free_fail_stack_return): Likewise.
62980         (check_arrival_expand_ecl): Mark DFA parameter as const.
62981         (check_arrival_expand_ecl_sub): Likewise.
62982         (check_subexp_limits): Likewise.
62983         (sub_epsilon_src_nodes):  Likewise.
62984         (add_epsilon_src_nodes):  Likewise.
62985         (merge_state_array): Likewise.
62986         (update_regs): Likewise.
62987         (build_trtable): Likewise.
62988         (sift_states_backward): Mark MCTX parameter as const.
62989         (build_sifted_states): Likewise.
62990         (update_cur_sifted_state): Likewise.
62991         (sift_states_mkref): Likewise.
62992         (check_arrival_expand_ecl): Mark eclosure as const.
62993         (check_dst_limits_calc_pos_1): Likewise.
62994         * lib/regex_internal.h (re_match_context_t): Make dfa a const
62995         pointer.
62996
62997         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
62998
62999         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
63000         (transit_state_sb): Likewise.
63001         (transit_state_mb): Likewise.
63002         (sift_states_iter_mb): Likewise.
63003         (check_arrival_add_next_nodes): Likewise.
63004         (check_node_accept_bytes): Change first parameter to pointer-to-const.
63005         [_LIBC] (re_search_2_stub): Use mempcpy.
63006
63007         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
63008         mbrtowc for very simple UTF-8 case.
63009
63010         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
63011         a pointer-to-const.
63012         (re_acquire_state_context): Likewise.
63013         * lib/regex_internal.h: Adjust prototypes.
63014
63015         * lib/regex.c: Prevent using C++ compilers.
63016
63017         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
63018         (re_acquire_state_context): Likewise.
63019
63020 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63021
63022         * modules/regex (Depends-on): Add ssize_t.
63023
63024 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63025
63026         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
63027         translation table.
63028
63029 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63030
63031         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
63032
63033 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
63034             Bruno Haible  <bruno@clisp.org>
63035
63036         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
63037         <sys/types.h> and <inttypes.h>.
63038
63039 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63040
63041         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
63042         `__error_t_defined', so argp.h will not typedef the former.
63043
63044 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
63047         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
63048         glibc names.  Even if glibc is changed to conform to POSIX, the
63049         traditional names will be available anyway, since regex depends on
63050         the extensions module.  Also, fix a longstanding typo in the
63051         implementation of Spencer ERE test #75 from grep 2.3.  Problems
63052         reported by Emanuele Giaquinta.  Also, change sense of cached
63053         variable, so that the message makes sense.
63054
63055 2006-03-24  Simon Josefsson  <jas@extundo.com>
63056
63057         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
63058         including some doc fixes.
63059         (base64_encode_alloc): Fix +1 bug on allocation failures.
63060
63061 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63062
63063         * lib/base64.c (base64_encode): Do not read past end of array with
63064         unsanitized input on systems with CHAR_BIT > 8.
63065
63066 2006-03-24  Eric Blake  <ebb9@byu.net>
63067
63068         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
63069
63070 2006-03-22  Karl Berry  <karl@gnu.org>
63071
63072         * config/srclist.txt (*setenv.[ch]): get from coreutils.
63073         * config/srclistvars.sh (COREUTILS): new var.
63074
63075 2006-03-17  Jim Meyering  <jim@meyering.net>
63076
63077         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
63078         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
63079
63080 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63081
63082         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
63083         no longer needs it.  Instead, check that regoff_t is as least
63084         as wide as ptrdiff_t.
63085
63086         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
63087         so that our regex.h stays compatible with the installed regex.
63088         This is helpful for installers who configure --without-included-regex.
63089         Problem reported by Emanuele Giaquinta.
63090
63091 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63092
63093         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
63094         Typedef to long int, not to off_, as POSIX will likely change
63095         in that direction.
63096
63097 2006-03-15  Eric Blake  <ebb9@byu.net>
63098
63099         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
63100
63101 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63102
63103         * lib/argp-help.c (validate_uparams): Fix typo
63104         * lib/argp-parse.c (argp_default_options): Consistently begin help
63105         messages with a lowercase letter.
63106
63107 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
63108
63109         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
63110         overrun buffers and shouldn't be used (much as gets shouldn't be
63111         used).
63112         * lib/time_r.c (asctime_r, ctime_r): Likewise.
63113
63114 2006-03-08  Simon Josefsson  <jas@extundo.com>
63115
63116         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
63117         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63118
63119 2006-03-08  Simon Josefsson  <jas@extundo.com>
63120
63121         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
63122         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63123
63124 2006-03-08  Simon Josefsson  <jas@extundo.com>
63125
63126         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
63127         signal that configure disabled the device.
63128
63129 2006-03-08  Simon Josefsson  <jas@extundo.com>
63130
63131         * build-aux/maint.mk: Fix refresh-po, to handle no translated
63132         languages.
63133
63134 2006-03-07  Simon Josefsson  <jas@extundo.com>
63135
63136         * modules/getopt (Depends-on): Add unistd.
63137
63138         * modules/unistd: New file.
63139
63140 2006-03-07  Simon Josefsson  <jas@extundo.com>
63141
63142         * modules/gc-random: New file.
63143
63144 2006-03-07  Simon Josefsson  <jas@extundo.com>
63145
63146         * m4/unistd_h.m4: New file.
63147
63148 2006-03-07  Simon Josefsson  <jas@extundo.com>
63149
63150         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
63151         test to be side-effect free by storing the result in the cache
63152         variable gl_cv_lib_readline, and moving the assignment of
63153         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
63154         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63155
63156 2006-03-07  Simon Josefsson  <jas@extundo.com>
63157
63158         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
63159         error on missing devices (the functions will return an error).
63160
63161         * m4/gc.m4: Move random stuff to gc-random.m4
63162
63163 2006-03-07  Simon Josefsson  <jas@extundo.com>
63164
63165         * lib/unistd_.h: New file.
63166
63167 2006-03-07  Simon Josefsson  <jas@extundo.com>
63168
63169         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
63170
63171 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63172
63173         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
63174         Problem reported by Juan Manuel Guerrero.
63175
63176 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63177
63178         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
63179         the unistd module.
63180         * lib/getlogin_r.c: Likewise.
63181         * lib/getlogin_r.h: Likewise.
63182         * lib/glob.c: Likewise.
63183         * lib/pagealign_alloc.c: Likewise.
63184         * lib/unistd_.h: Remove; no longer needed.
63185
63186 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63187
63188         * MODULES.html.sh (Support for systems lacking POSIX:2001):
63189         Add unistd.
63190         * modules/c-stack (Depends-on): Add unistd.
63191         * modules/getlogin_r: Likewise.
63192         * modules/glob: Likewise.
63193         * modules/pagealign_alloc: Likewise.
63194         * modules/unistd (Files): Remove lib/unistd_.h.
63195         (EXTRA_DIST): Remove.
63196         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
63197         need unistd_.h.
63198         (MOSTLYCLEANFILES): Remove unistd.h-t.
63199
63200 2006-03-03  Simon Josefsson  <jas@extundo.com>
63201
63202         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
63203
63204 2006-03-03  Simon Josefsson  <jas@extundo.com>
63205
63206         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
63207         libidn and bison.
63208
63209 2006-03-03  Simon Josefsson  <jas@extundo.com>
63210
63211         * build-aux/maint.mk: Add indent target.
63212
63213 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
63214
63215         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
63216         our replacement poll.h in any case, to avoid a differing
63217         declaration from a system header.  Seen on AIX.
63218
63219 2006-03-01  Simon Josefsson  <jas@extundo.com>
63220
63221         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
63222         <kasal@ucw.cz>.
63223
63224 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63225
63226         * modules/gettime (Depends-on): Add extensions module.
63227         * modules/nanosleep (Depends-on): Likewise.
63228         * modules/settime (Depends-on): Likewise.
63229
63230 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63231
63232         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
63233         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
63234         pedantically.
63235         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63236         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
63237
63238         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
63239         not "==".  Reported by Ralf Wildenhues.
63240
63241 2006-03-01  Karl Berry  <karl@gnu.org>
63242
63243         * doc/Copyright/request-*: new files, synced from gnuorg.
63244
63245 2006-03-01  Karl Berry  <karl@gnu.org>
63246
63247         * config/srclist.txt (Copyright/*): new entries.
63248
63249 2006-02-28  Simon Josefsson  <jas@extundo.com>
63250
63251         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
63252
63253 2006-02-27  Simon Josefsson  <jas@extundo.com>
63254
63255         * lib/base64.h: Indent #define's.  From Jim Meyering
63256         <jim@meyering.net>.
63257
63258 2006-02-27  Jim Meyering  <jim@meyering.net>
63259
63260         Revert the change of 2006-02-24, so these files can continue
63261         to be sync'd from gettext.
63262         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
63263         of `config.h'.
63264
63265 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63266
63267         * modules/intprops: New file.
63268         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63269         Add intprops.
63270         * modules/getloadavg (Files): Remove lib/intprops.h.
63271         (Depends-on): Add intprops.
63272         * modules/human: Likewise.
63273         * modules/inttostr: Likewise.
63274         * modules/openat: Likewise.
63275         * modules/sig2str: Likewise.
63276         * modules/userspec: Likewise.
63277         * modules/utimecmp: Likewise.
63278         * modules/xnanosleep: Likewise.
63279         * modules/xstrtol: Likewise.
63280
63281 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
63282
63283         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
63284         * modules/lock-tests (TESTS): Use $(EXEEXT).
63285         * modules/tls-tests: Likewise.
63286         * modules/argp-tests: Likewise.
63287         (check_PROGRAMS): New var, replacing...
63288         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
63289
63290 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63291
63292         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
63293         `config.h'.
63294
63295 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63296
63297         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
63298
63299 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63300
63301         Sync from coreutils.
63302         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
63303         gl_CHDIR_SAFER.
63304
63305 2006-02-22  Jim Meyering  <jim@meyering.net>
63306
63307         Sync from coreutils.
63308         * m4/chdir-safer.m4: New file.
63309
63310 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63311
63312         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
63313         AT_FDCWD exceeds INT_MAX.
63314         * lib/openat.h (AT_FDCWD): Likewise.
63315
63316 2006-02-17  Eric Blake  <address@hidden>
63317
63318         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
63319
63320 2006-02-16  Simon Josefsson  <jas@extundo.com>
63321
63322         * modules/getaddrinfo (Depends-on): Add sys_socket.
63323
63324 2006-02-15  Simon Josefsson  <jas@extundo.com>
63325
63326         * build-aux/maint.mk: Add dsyntax-check rule.
63327
63328 2006-02-15  Eric Blake  <ebb9@byu.net>
63329
63330         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
63331         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
63332         'present but cannot compile' warnings on cygwin.
63333         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
63334         use ws2tcpip.h if sys/socket.h works.
63335         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
63336         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
63337
63338 2006-02-14  Simon Josefsson  <jas@extundo.com>
63339
63340         * modules/maintainer-makefile (Files): Rename.
63341
63342         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
63343         and (the local) Makefile.cfg to maint-cfg.mk.
63344
63345         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
63346         to the latter.
63347
63348         * modules/maintainer-makefile: New module.
63349
63350         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
63351         severaly stripped to make it possible to build it up from scratch
63352         with reliable tests.
63353
63354         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
63355         fixes to permit overriding the default actions when configure and
63356         makefile are not available.
63357
63358 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63359
63360         Sync from coreutils.
63361         * modules/lstat (Depends-on): Don't depend on xalloc.
63362         (License): Change from GPL to LGPL, since this is now simply a
63363         replacement for a libc function.
63364
63365 2006-02-14  Jim Meyering  <jim@meyering.net>
63366
63367         Sync from coreutils.
63368
63369         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
63370         failure on deficient systems, and simplify gnulib lgpl dependencies.
63371         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
63372         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
63373
63374         * lib/xalloc-die.c: Remove unused definition of N_.
63375
63376 2006-02-14  Jim Meyering  <jim@meyering.net>
63377
63378         Sync from coreutils.
63379         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
63380         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
63381         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
63382         double-quote uses of that variable, to accommodate the rare case in
63383         which getmntent is available in none of the libraries checked.  This
63384         happens at least on FreeBSD 5.0.
63385
63386 2006-02-13  Simon Josefsson  <jas@extundo.com>
63387
63388         * gnulib-tool (Usage): Fix --import, from
63389         karl@freefriends.org (Karl Berry).
63390
63391 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63392
63393         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
63394
63395 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
63396
63397         * lib/argp-namefrob.h: Restore changes accidentally lost during the
63398         "autoupdate" on 2005-12-12.
63399
63400 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63401
63402         * modules/closeout (Depends-on): Remove atexit.
63403
63404 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63405
63406         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
63407         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
63408
63409 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63410
63411         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
63412         __EXTENSIONS__ if this causes compilation to fail.  Problem
63413         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
63414         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
63415
63416 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
63417
63418         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
63419         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
63420         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
63421         All uses changed.
63422
63423 2006-01-26  Simon Josefsson  <jas@extundo.com>
63424
63425         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
63426         prototype is visible on mingw32.
63427
63428         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
63429         for mingw32.
63430
63431         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
63432         mingw32).
63433
63434 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63435
63436         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
63437         attempt to open for write; this always fails, at least on POSIX
63438         hosts.  This reinstates the 2006-01-09 change, which was
63439         inadvertently removed.
63440
63441 2006-01-26  Bruno Haible  <bruno@clisp.org>
63442
63443         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
63444         Reported by Paul Eggert.
63445
63446 2006-01-26  Bruno Haible  <bruno@clisp.org>
63447             Paul Eggert  <eggert@cs.ucla.edu>
63448
63449         * lib/stdbool_.h (_Bool)
63450         [(! (defined __cplusplus || defined __BEOS__)
63451           && !defined __GNUC__
63452           && !(defined __HP_cc || defined __xlc__
63453                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
63454                || defined __sgi))]:
63455         #define to signed char in these cases too; this simplifies
63456         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
63457         etc., separately) and makes it more conservative.
63458
63459 2006-01-25  Simon Josefsson  <jas@extundo.com>
63460
63461         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
63462         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
63463         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
63464
63465 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63466
63467         * lib/argp-namefrob.h: Bugfix. Remove stray #
63468
63469 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63470
63471         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
63472         so that we test the test.
63473         Check for yet another HP-UX cc bug involving *bool |= bool.
63474
63475 2006-01-25  Karl Berry  <karl@gnu.org>
63476
63477         * config/srclist.txt (vasnprintf.c): sync lost.
63478
63479 2006-01-25  Jim Meyering  <jim@meyering.net>
63480
63481         Sync from the stable (b5) branch of coreutils:
63482
63483         * lib/fts.c (fts_children): Don't let close() clobber errno from
63484         failed fchdir().
63485
63486         * lib/fts.c (fts_stat): When following a symlink-to-directory,
63487         don't necessarily interpret stat-fails+lstat-succeeds as indicating
63488         a dangling symlink.  That can also happen at least for ELOOP.
63489         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
63490         FYI, this bug predates the inclusion of fts.c in coreutils.
63491
63492         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
63493         in their own block, so pre-c99 compilers don't object.
63494
63495         Avoid the double-free (first in fts_read, second in fts_close) that
63496         would occur when an `active' directory is made inaccessible (e.g.,
63497         via chmod a-x) during a traversal.
63498         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63499         before returning.  Reproduce this failure by
63500         mkdir -p a/b; cd a; chmod a-x . b
63501         Reported by Stavros Passas.
63502
63503 2006-01-25  Jim Meyering  <jim@meyering.net>
63504
63505         * lib/fileblocks.c: Remove more useless parentheses.
63506         * lib/readutmp.h: Likewise.
63507
63508 2006-01-25  Bruno Haible  <bruno@clisp.org>
63509
63510         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
63511         warnings.
63512         Reported by Paul Eggert.
63513
63514 2006-01-25  Bruno Haible  <bruno@clisp.org>
63515
63516         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
63517         rid of a trap command. For Solaris sh.
63518         Reported by Mark D. Baushke <mdb@gnu.org>.
63519
63520 2006-01-24  Simon Josefsson  <jas@extundo.com>
63521
63522         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
63523         Bruno.
63524
63525 2006-01-24  Karl Berry  <karl@gnu.org>
63526
63527         * config/srclist.txt (argp-namefrob.h): sync lost.
63528
63529 2006-01-24  Jim Meyering  <jim@meyering.net>
63530
63531         * modules/openat (Files): Add lib/intprops.h.
63532         From Mark D. Baushke.
63533
63534 2006-01-24  Jim Meyering  <jim@meyering.net>
63535
63536         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
63537         Reported by Mark D. Baushke.
63538
63539 2006-01-24  Jim Meyering  <jim@meyering.net>
63540
63541         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
63542
63543 2006-01-24  Bruno Haible  <bruno@clisp.org>
63544
63545         * modules/strnlen (Maintainer): Change from glibc to all.
63546
63547 2006-01-24  Bruno Haible  <bruno@clisp.org>
63548
63549         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
63550         Patch by Paul Eggert.
63551
63552 2006-01-24  Bruno Haible  <bruno@clisp.org>
63553
63554         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
63555         already has it.
63556         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
63557         2005-11-26.
63558
63559         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
63560         'signed char' to avoid problems with the built-in _Bool type.
63561         Reported by Paul Eggert on 2005-11-26.
63562
63563 2006-01-24  Bruno Haible  <bruno@clisp.org>
63564
63565         * gnulib-tool (func_import): Avoid constructing complicated sed
63566         expressions inside backquote.
63567         Report and solution by Mark D. Baushke <mdb@gnu.org>.
63568
63569 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
63570
63571         These changes imported from libc.
63572         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
63573         test and two separate function calls.
63574         * lib/strndup.c (__strndup): Add libc_hidden_def.
63575
63576 2006-01-23  Simon Josefsson  <jas@extundo.com>
63577
63578         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
63579         Remove the test_*_SOURCES variable: automake infers it by default.
63580         * modules/tls-tests: Likewise.
63581
63582 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63583
63584         Work around porting bugs reported by Dieter in
63585         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
63586         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
63587         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
63588         Include "getopt.h" first, to check interface.
63589         (getenv): Declare only if defined HAVE_DECL_GETENV &&
63590         !HAVE_DECL_GETENV.
63591         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
63592         (__strndup): Revert to K&R-style function dfns, the glibc style.
63593         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
63594         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
63595         Include strnlen.h first, to get prototype properly.
63596         (strnlen): Renamed from __strnlen.
63597         Remove weak alias.
63598
63599 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63600
63601         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63602
63603 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63604
63605         * config/srclist.txt: Adjust to reflect glibc reorganization.
63606         This affects only comments.
63607
63608 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63609
63610          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63611          Reported by Bruce Korb <bkorb@gnu.org>.
63612
63613 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63614
63615         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63616         to pacify gcc -Wswitch-default.
63617
63618 2006-01-22  Bruno Haible  <bruno@clisp.org>
63619
63620         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63621         temporary buffer for sprintf, take into account the precision also
63622         for 'd', 'i', 'u', 'o', 'x', 'X'.
63623
63624 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63625
63626         * modules/argp-tests: New module
63627         * tests/test-argp.c: New file
63628         * tests/test-argp-2.sh: New file
63629
63630 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63631
63632         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
63633         (__argp_base_name): Removed
63634         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
63635         typo.
63636         (__argp_base_name): Provide macro definition or extern declaration
63637         depending on the configuration
63638
63639 2006-01-20  Simon Josefsson  <jas@extundo.com>
63640
63641         * modules/inet_ntop (Depends-on): Depend on sys_socket.
63642
63643 2006-01-20  Simon Josefsson  <jas@extundo.com>
63644
63645         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
63646
63647 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63648
63649         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
63650         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
63651         Suggested by Bruno Haible.
63652
63653 2006-01-20  Karl Berry  <karl@gnu.org>
63654
63655         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
63656         until changes propagate, I guess.
63657
63658 2006-01-19  Simon Josefsson  <jas@extundo.com>
63659
63660         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
63661
63662 2006-01-19  Simon Josefsson  <jas@extundo.com>
63663
63664         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
63665
63666 2006-01-19  Simon Josefsson  <jas@extundo.com>
63667
63668         * gnulib-tool: Set check_PROGRAMS.
63669
63670         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63671         modules/des-tests, modules/gc-arcfour-tests,
63672         modules/gc-arctwo-tests, modules/gc-des-tests,
63673         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63674         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63675         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63676         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63677         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63678         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
63679         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
63680         test_*_SOURCES.
63681
63682 2006-01-18  Simon Josefsson  <jas@extundo.com>
63683
63684         * modules/socklen (Depends-on): Depend on sys_socket.
63685
63686 2006-01-18  Simon Josefsson  <jas@extundo.com>
63687
63688         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63689         modules/des-tests, modules/gc-arcfour-tests,
63690         modules/gc-arctwo-tests, modules/gc-des-tests,
63691         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63692         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63693         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63694         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63695         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63696         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
63697         $(EXEEXT) to automake TESTS variable, for mingw32.
63698
63699 2006-01-17  Simon Josefsson  <jas@extundo.com>
63700
63701         * modules/socklen (Include): Need sys/socket.h.
63702
63703 2006-01-17  Bruno Haible  <bruno@clisp.org>
63704
63705         * modules/ssize_t (Include): Add <sys/types.h>.
63706
63707 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
63708
63709         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
63710         it's not portable and it doesn't work with cross-compiles.
63711         Problem reported by Bruno Haible.  Fix missing-$ typo in
63712         'test "gl_cv_ignore_unused_libraries" ...' that prevented
63713         -zignore from being used with Sun's C compiler.
63714
63715 2006-01-12  Simon Josefsson  <jas@extundo.com>
63716
63717         * lib/base64.c: Fix warning, reported by Bruno Haible
63718         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
63719
63720 2006-01-12  Bruno Haible  <bruno@clisp.org>
63721
63722         * modules/ldd: New file.
63723         * build-aux/ldd.sh.in: New file.
63724         * MODULES.html.sh (Support for building libraries and executables): Add
63725         ldd.
63726
63727 2006-01-12  Bruno Haible  <bruno@clisp.org>
63728
63729         * m4/ldd.m4: New file.
63730
63731 2006-01-12  Bruno Haible  <bruno@clisp.org>
63732
63733         * gnulib-tool (func_import, func_create_testdir): Don't go into an
63734         endless loop while replacing $auxdir with build-aux.
63735
63736 2006-01-11  Simon Josefsson  <jas@extundo.com>
63737
63738         * lib/stdint_.h (SIZE_MAX): Add missing (.
63739
63740 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
63741
63742         Sync from coreutils.
63743         * lib/md5.c: Fix commentary typos.
63744         (alignof, UNALIGNED_P): No need for a GCC-specific version.
63745         * lib/md5.h (__attribute__): Remove; unused.
63746         * lib/sha1.c: Fix commentary to match md5 better.
63747         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
63748         so that we don't need to worry about alignment.  All uses changed.
63749         This merges the 2005-10-28 md5 change into sha1.
63750
63751 2006-01-11  Jim Meyering  <jim@meyering.net>
63752
63753         Sync from coreutils.
63754         * lib/md5.c (OP): Fix spacing.
63755
63756 2006-01-11  Bruno Haible  <bruno@clisp.org>
63757
63758         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63759         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
63760         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
63761
63762 2006-01-11  Bruno Haible  <bruno@clisp.org>
63763
63764         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63765         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
63766         the "early" section as well.
63767
63768 2006-01-11  Bruno Haible  <bruno@clisp.org>
63769
63770         Avoid "ar: no archive members specified" error on MacOS X.
63771         * gnulib-tool (func_modules_add_dummy): New function.
63772         (func_import, func_create_testdir): Invoke it.
63773
63774 2006-01-11  Bruno Haible  <bruno@clisp.org>
63775
63776         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
63777         with $auxdir in AC_CONFIG_FILES statements.
63778
63779 2006-01-11  Bruno Haible  <bruno@clisp.org>
63780
63781         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63782         Initialize also noinst_HEADERS to empty.
63783
63784 2006-01-11  Bruno Haible  <bruno@clisp.org>
63785
63786         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
63787         variables.
63788         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
63789         autoreconf.
63790
63791 2006-01-11  Bruno Haible  <bruno@clisp.org>
63792
63793         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
63794         overridable by the user.
63795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63796
63797 2006-01-10  Simon Josefsson  <jas@extundo.com>
63798
63799         * modules/sys_socket: New file.
63800
63801 2006-01-10  Simon Josefsson  <jas@extundo.com>
63802
63803         * m4/sys_socket_h.m4: New file.
63804
63805 2006-01-10  Simon Josefsson  <jas@extundo.com>
63806
63807         * lib/socket_.h: New file.
63808
63809 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63810
63811         * modules/readutmp (Maintainer): Add myself.
63812
63813 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63814
63815         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
63816         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
63817         People who are still concerned with buggy memcmp implementations
63818         can invoke gl_FUNC_MEMCMP themselves.
63819
63820 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63821
63822         * lib/regex_internal.h (BITSET_WORD_BITS):
63823         Work around a bug in 64-bit PGC (before version 6.1-2), where the
63824         preprocessor mishandles large unsigned values as if they were signed.
63825         Problem reported by Claudio Fontana in
63826         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
63827
63828 2006-01-10  Jim Meyering  <jim@meyering.net>
63829
63830         Avoid the double-free (first in fts_read, second in fts_close) that
63831         would occur when an `active' directory is made inaccessible (e.g.,
63832         via chmod a-x) during a traversal.
63833         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63834         before returning.  Reproduce this failure by
63835         mkdir -p a/b; cd a; chmod a-x . b
63836         Reported by Stavros Passas.
63837
63838         Sync from coreutils.
63839         * lib/sha1.c: Tweak grammar in a comment.
63840
63841 2006-01-10  Jim Meyering  <jim@meyering.net>
63842
63843         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
63844         Patch by Joerg Sonnenberger.
63845
63846 2006-01-10  Bruno Haible  <bruno@clisp.org>
63847
63848         * modules/readutmp: Depend on module free.
63849         * modules/strtok_r: Depend on module restrict.
63850
63851 2006-01-10  Bruno Haible  <bruno@clisp.org>
63852
63853         * modules/gettext (configure.ac): Add an invocation of
63854         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
63855
63856 2006-01-10  Bruno Haible  <bruno@clisp.org>
63857
63858         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
63859         Reported by Werner Lemberg <wl@gnu.org>.
63860
63861 2006-01-10  Bruno Haible  <bruno@clisp.org>
63862
63863         * lib/localcharset.c: Update from GNU gettext.
63864
63865 2006-01-10  Bruno Haible  <bruno@clisp.org>
63866
63867         * lib/argp.h (__const): Remove macro. Use const instead.
63868         * lib/argp-fmtstream.h (__const): Likewise.
63869         * lib/glob_.h (__const): Remove macro.
63870         * lib/glob-libc.h: Use const instead of __const.
63871
63872 2006-01-10  Bruno Haible  <bruno@clisp.org>
63873
63874         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
63875         variable.
63876         Needed to avoid an automake error regarding the 'gettext' module.
63877
63878 2006-01-09  Simon Josefsson  <jas@extundo.com>
63879
63880         * modules/inet_ntop (Depends-on): Add restrict.
63881
63882 2006-01-09  Simon Josefsson  <jas@extundo.com>
63883
63884         * modules/gc-rijndael-tests (License): Put under LGPL.
63885
63886         * modules/gc-des-tests (License): Likewise.
63887
63888         * modules/gc-arcfour-tests (License): Likewise.
63889
63890         * modules/gc-arctwo-tests (License): Likewise.
63891
63892         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
63893
63894         * modules/gc-hmac-sha1-tests (Files): Likewise.
63895
63896         * modules/gc-hmac-md5-tests (License): Likewise.
63897
63898         * modules/gc-sha1-tests (License): Likewise.
63899
63900         * modules/gc-md5-tests (License): Likewise.
63901
63902         * modules/gc-md4-tests (License): Likewise.
63903
63904         * modules/gc-md2-tests (License): Likewise.
63905
63906         * modules/gc-tests (License): Likewise.
63907
63908         * modules/des-tests (License): Likewise.
63909
63910         * modules/md4-tests (License): Likewise.
63911
63912         * modules/md2-tests (License): Likewise.
63913
63914 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63915
63916         Sync from coreutils:
63917
63918         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
63919         * modules/lib-ignore: New file.
63920         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
63921         chdir-safer.m4, lchmod.m4.
63922         * modules/openat: Add mkdirat.c, openat-priv.h.
63923
63924 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63925
63926         Sync from coreutils.
63927         * m4/lib-ignore.m4: New file.
63928         * m4/lchmod.m4: New file.
63929
63930 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63931
63932         Sync from coreutils.
63933         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
63934         for write access: POSIX says that must fail.
63935         * lib/fts.c (diropen): Likewise.
63936         * lib/save-cwd.c (save_cwd): Likewise.
63937         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
63938         well, for minor improvements on hosts that lack O_DIRECTORY.
63939         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
63940         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
63941         Fall back on chown if open failed with EACCES.
63942
63943         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
63944         Report an error at compile-time if only a 1-second nominal clock
63945         resolution is found.
63946
63947         * lib/lchmod.h: New file.
63948         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
63949         (make_dir_parents): Use lchown rather than chown, and
63950         lchmod rather than chmod.
63951
63952         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
63953         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
63954         "proc" reported by n0dalus.
63955
63956         * lib/mountlist.c: Include <limits.h>.
63957         (dev_from_mount_options)
63958         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
63959         New function.  It no longer assumes "dev=" has the System V meaning
63960         on Linux (since it doesn't).  It also parses "dev=" more carefully.
63961         (read_file_system_list)
63962         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
63963         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
63964         dev= in that case.
63965
63966         * lib/posixtm.h (PDS_PRE_2000): New macro.
63967         * lib/posixtm.c (year): Arg is now syntax_bits rather than
63968         allow_century.  All usages changed.  Reject dates outside the range
63969         1969-1999 if PDS_PRE_2000 is used.
63970
63971 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63972
63973         Sync from coreutils.
63974         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
63975         (Time of day items): Mention the possibility of leap seconds.
63976         Problem reported by Dr. David Alan Gilbert.
63977
63978 2006-01-09  Jim Meyering  <jim@meyering.net>
63979
63980         Sync from coreutils.
63981
63982         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
63983
63984         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
63985
63986         * lib/modechange.c (mode_compile): Reject an invalid mode string
63987         that starts with an octal digit.  From Andreas Gruenbacher.
63988
63989         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
63990         and dup to open_safer and dup_safer, respectively.
63991         (openat_permissive): Fix typo in comment.
63992
63993         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
63994         "gettext.h"; either no longer needed or are guaranteed by openat.h.
63995         (_): Remove; no longer needed.
63996         (openat): Renamed from rpl_openat; no need for rpl_openat
63997         since openat.h renames openat for us.
63998         Replace most of the body with a call to openat_permissive,
63999         to avoid duplicate code.
64000         Port to (probably hypothetical) environments were mode_t is
64001         wider than int.
64002         (openat_permissive): Require mode arg, so that we can check
64003         types better.  Put it just after flags.  Change cwd failure
64004         indicator from pointer-to-bool to pointer-to-errno-value.
64005         All callers changed.
64006         Invoke openat_save_fail and/or openat_restore_fail if
64007         cwd_errno is null, so that openat can call us.
64008         (openat_permissive, fdopendir, fstatat, unlinkat):
64009         Simplify errno handling to avoid some duplicate code,
64010         as it's OK to set errno on success.
64011         * lib/openat.h: Revamp code so that function macros depend on
64012         __OPENAT_PREFIX only, not also on AT_FDCWD.
64013         (openat_ro): Remove.  Caller changed to use openat_permissive.
64014         (openat_permissive): Now a macro, if not a function.
64015         (openat_restore_fail, openat_save_fail): Now always functions,
64016         since mkdirat needs them even if __OPENAT_PREFIX is defined.
64017
64018         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
64019         and openat.c.
64020         * lib/mkdirat.c: Include openat-priv.h.
64021         Remove definitions of macros defined therein.
64022         * lib/openat.c: Likewise.
64023
64024         * lib/mkdirat.c (mkdirat): New file and function.
64025         * lib/openat.h (mkdirat): Declare.
64026
64027         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
64028
64029         * lib/openat.h (openat_permissive): Declare.
64030         (openat_ro): Define.
64031
64032         * lib/openat.c (EXPECTED_ERRNO): New macro.
64033         (openat_permissive): New function -- used in remove.c rewrite.
64034         (all functions): Set errno just before returning, only if there
64035         was an actual failure.
64036         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
64037
64038         Emulate openat-family functions using Linux's procfs, if possible.
64039         Idea and some code based on Ulrich Drepper's glibc changes.
64040
64041         * lib/openat.c: (BUILD_PROC_NAME): New macro.
64042         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
64043         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
64044         before falling back on save_cwd and restore_cwd.
64045         (fdopendir, fstatat, unlinkat): Likewise.
64046
64047         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
64048         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
64049
64050         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
64051         as second argument to va_arg.  Otherwise, some versions of gcc
64052         warn that `if this code is reached, the program will abort'.
64053
64054 2006-01-09  Jim Meyering  <jim@meyering.net>
64055
64056         Sync from coreutils.
64057         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
64058         Require openat-priv.h.
64059
64060 2006-01-09  Bruno Haible  <bruno@clisp.org>
64061
64062         * modules/strnlen (Include): Use strnlen.h.
64063
64064 2006-01-09  Bruno Haible  <bruno@clisp.org>
64065
64066         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
64067
64068 2006-01-09  Bruno Haible  <bruno@clisp.org>
64069
64070         * lib/sysexit_.h (EX_OK): New macro.
64071         Suggested by Martin Lambers <marlam@marlam.de>.
64072
64073 2006-01-09  Bruno Haible  <bruno@clisp.org>
64074
64075         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
64076         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
64077
64078 2006-01-09  Bruno Haible  <bruno@clisp.org>
64079
64080         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
64081         numbers.
64082
64083 2006-01-09  Bruno Haible  <bruno@clisp.org>
64084
64085         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
64086         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
64087         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
64088         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
64089
64090 2006-01-09  Bruno Haible  <bruno@clisp.org>
64091
64092         * build-aux/javacomp.sh.in: New file, moved from lib/.
64093         * modules/javacomp-script (Files): Update.
64094         (configure.ac): Add AC_CONFIG_FILES invocation.
64095         (EXTRA_DIST): Remove variable.
64096
64097         * build-aux/javaexec.sh.in: New file, moved from lib/.
64098         * modules/javaexec (Files): Update.
64099         (configure.ac): Add AC_CONFIG_FILES invocation.
64100         (EXTRA_DIST): Remove javaexec.sh.in.
64101
64102         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
64103         * modules/csharpcomp-script (Files): Update.
64104         (configure.ac): Add AC_CONFIG_FILES invocation.
64105         (EXTRA_DIST): Remove variable.
64106
64107         * build-aux/csharpexec.sh.in: New file, moved from lib/.
64108         * modules/csharpexec (Files): Update.
64109         (configure.ac): Add AC_CONFIG_FILES invocation.
64110         (EXTRA_DIST): Remove csharpexec.sh.in.
64111
64112 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64113
64114         Sync from coreutils.
64115
64116         Add POSIX ACL support
64117         * lib/acl.h (copy_acl, set_acl): Add declarations.
64118         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
64119         systems other than Linux.
64120         (chmod_or_fchmod): New function: use fchmod when possible,
64121         and chmod otherwise.
64122         (file_has_acl): Add a POSIX ACL implementation, with a
64123         Linux-specific subcase.
64124         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
64125         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
64126         acls are unsupported.
64127         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
64128         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
64129         are unsupported.
64130
64131 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64132
64133         Sync from coreutils.
64134         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
64135
64136 2006-01-07  Bruno Haible  <bruno@clisp.org>
64137
64138         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
64139         gl_EARLY.
64140
64141 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64142
64143         * lib/strftime.c (tzname): Don't declare if it is already #defined.
64144         Problem reported for Mingw by Mark Junker.
64145
64146 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64147
64148         * README: Gnulib normally doesn't generate a tarball.
64149
64150 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
64151
64152         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
64153         long int, not int, for nanosecond counts, so that people who are
64154         used to POSIX struct timespec won't be surprised.  Reported by Jim
64155         Meyering.
64156
64157 2005-12-28  Bruno Haible  <bruno@clisp.org>
64158
64159         * build-aux/config.rpath: Update from GNU gettext.
64160
64161 2005-12-16  Jim Meyering  <jim@meyering.net>
64162
64163         * modules/fprintftime: New module.
64164         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
64165
64166 2005-12-16  Jim Meyering  <jim@meyering.net>
64167
64168         * m4/fprintftime.m4: New file.
64169
64170 2005-12-16  Jim Meyering  <jim@meyering.net>
64171
64172         * lib/fprintftime.c, lib/fprintftime.h: New files.
64173
64174 2005-12-15  Simon Josefsson  <jas@extundo.com>
64175
64176         * modules/socklen (configure.ac): Fix M4 macro name, to align with
64177         new m4/socklen.m4.
64178
64179 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64180
64181         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
64182         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
64183
64184 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64185
64186         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
64187         * lib/argp-help.c (fill_in_uparams): Check if the constructed
64188         struct uparams is valid. Fall back to the default values if it is
64189         not.
64190
64191 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64192
64193         * modules/argp (Files): Add argp-pin.c
64194         (Depends-on): dirname
64195         (lib_SOURCES): Add argp-pin.c
64196
64197 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64198
64199         * m4/argp.m4:  Check if program_invocation_name and
64200         program_invocation_short_name are declared and define appropriate
64201         macros if they are not.
64202
64203 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64204
64205         * lib/argp-help.c (__argp_base_name): New function
64206         (__argp_short_program_name): Rewrite using __argp_base_name
64207         * lib/argp-namefrob.h: Define program_invocation_name and
64208         program_invocation_short_name if requested
64209         (__argp_base_name): Add prototype
64210         * lib/argp-parse.c (argp_def): Use gettext wrappers
64211         (argp_default_parser): Use __argp_base_name
64212         * lib/argp-pin.c: New file. Defines program_invocation_name and
64213         program_invocation_short_name on systems that lack them.
64214
64215 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64216
64217         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
64218         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64219         porting problem reported by Georg Schwarz in
64220         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64221
64222 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64223
64224         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
64225         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64226         porting problem reported by Georg Schwarz in
64227         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64228
64229 2005-12-05  Bruno Haible  <bruno@clisp.org>
64230
64231         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
64232         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
64233         Reported by Mark Junker <mjscod@gmx.de>.
64234
64235 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
64236
64237         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
64238         Use implementation from Albert Chin, with some
64239         comments/corrections by Stepan Kasal and myself.
64240
64241 2005-12-02  Bruno Haible  <bruno@clisp.org>
64242
64243         * gnulib-tool (func_import): Accept GPLed build tool modules when
64244         --lgpl is given.
64245         * modules/csharpcomp-script: New file.
64246         * modules/csharpcomp: Depend on it.
64247         * modules/javacomp-script: New file.
64248         * modules/javacomp: Depend on it.
64249         Suggested by Simon Josefsson.
64250
64251 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64252
64253         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
64254         statement, to work around an HP-UX 10.20 compiler bug reported by
64255         Peter O'Gorman.
64256
64257 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64258
64259         * modules/savedir (Depends-on): Add openat.
64260
64261 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64262
64263         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
64264         (uintmax_t) [defined uintmax_t]: Do not declare.
64265         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
64266         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
64267         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
64268         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
64269         sake of portability to weird hosts that C allows (though we don't
64270         know of any practical examples).
64271
64272         * lib/savedir.h (fdsavedir): New decl.
64273         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
64274         contains most of the former guts of savedir.
64275         (savedir): Use savedirstream.
64276         Include "openat.h".
64277
64278 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64279
64280         * modules/obstack (Files): Add m4/ulonglong.m4.
64281         Problem reported by Davide Angelocola.
64282
64283 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64284
64285         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
64286         coreutils no longer futzes with rounding modes.
64287
64288 2005-11-14  Jim Meyering  <jim@meyering.net>
64289
64290         * lib/mkstemp-safer.c: Include <config.h>, required for possible
64291         replacement of mkstemp.
64292
64293 2005-11-10  Simon Josefsson  <jas@extundo.com>
64294
64295         * lib/readline.c: Remove EOL.
64296
64297 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64298
64299         * modules/gethrxtime (Depends-on): Add gettime.
64300
64301 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64302
64303         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
64304         or gettimeofday; no longer needed.
64305
64306 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64307
64308         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
64309         time business.
64310         (gethrxtime) [! (HAVE_NANOUPTIME
64311         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
64312         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
64313         our own approximation.
64314
64315 2005-11-08  Eric Blake  <ebb9@byu.net>
64316
64317         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64318
64319 2005-11-08  Eric Blake  <ebb9@byu.net>
64320
64321         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64322
64323 2005-11-04  Bruno Haible  <bruno@clisp.org>
64324
64325         * gnulib-tool: Implement --update mode.
64326
64327 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64328
64329         Fix porting problem reported by Theodoros V. Kalamatianos.
64330         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
64331         Don't assume that futimes failing means we must fail.
64332
64333 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64334
64335         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
64336         variables to suggest the intended function of the PATH_MAX check.
64337
64338 2005-10-30  Kean Johnston  <jkj@sco.com>
64339
64340         Trivial changes to support SCO systems.
64341         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
64342         as PATH_MAX.
64343         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
64344         where __ptr is null when no I/O is pending.
64345
64346 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64347
64348         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
64349         leave errno alone.  Problem reported by Dmitry V. Levin.
64350
64351 2005-10-28  Simon Josefsson  <jas@extundo.com>
64352
64353         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
64354         Test more.
64355
64356         * tests/test-gc-md2.c, tests/test-md2.c: New files.
64357
64358         * modules/md2, modules/md2-tests: New files.
64359
64360 2005-10-28  Simon Josefsson  <jas@extundo.com>
64361
64362         * m4/inet_ntop.m4: More tests.
64363
64364         * m4/gc-md2.m4, md2.m4: New file.
64365
64366 2005-10-28  Simon Josefsson  <jas@extundo.com>
64367
64368         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
64369         "restrict" keywords, as per POSIX.  Protect the function
64370         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
64371         Don't use K&R prototypes.  Check the sprintf return values.
64372         Re-define EAFNOSUPPORT if not present.  Indent.
64373
64374         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
64375         suggested by Bruno Haible <bruno@clisp.org>.
64376
64377         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
64378
64379         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
64380
64381         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
64382         libgcrypt).
64383
64384         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
64385
64386         * lib/md2.h, lib/md2.c: New files.
64387
64388 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
64389
64390         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
64391         errno alone.  Problem reported by Frederic Jolliton.
64392
64393 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64394
64395         * modules/verify (License): Change from GPL to LGPL.  This is a
64396         tiny module and there are apparently near-equivalents that are
64397         under the BSD license.
64398
64399 2005-10-24  Simon Josefsson  <jas@extundo.com>
64400
64401         * modules/sha1: Relicense to LGPL.
64402
64403 2005-10-24  Simon Josefsson  <jas@extundo.com>
64404
64405         * lib/md4.h: Shrink buffer size, now that we changed the type.
64406
64407 2005-10-23  Simon Josefsson  <jas@extundo.com>
64408
64409         * gnulib-tool (func_import): Fix --tests-base.
64410
64411 2005-10-22  Simon Josefsson  <jas@extundo.com>
64412
64413         * modules/arcfour (Depends-on): Need stdint.
64414
64415 2005-10-22  Simon Josefsson  <jas@extundo.com>
64416
64417         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
64418         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
64419
64420 2005-10-22  Simon Josefsson  <jas@extundo.com>
64421
64422         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
64423         suggested by Bruno Haible <bruno@clisp.org>.
64424
64425 2005-10-22  Simon Josefsson  <jas@extundo.com>
64426
64427         * lib/crc.h: Include stddef.h, for size_t.
64428
64429 2005-10-22  Simon Josefsson  <jas@extundo.com>
64430
64431         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
64432         arcfour_context struct (simplify test vector testing in GNU
64433         Shishi).
64434
64435 2005-10-21  Simon Josefsson  <jas@extundo.com>
64436
64437         * modules/des, modules/des-tests: New files.
64438
64439         * modules/gc-des, modules/gc-des-tests: New files.
64440
64441         * tests/test-des.c, tests/test-gc-des.c: New file.
64442
64443 2005-10-21  Simon Josefsson  <jas@extundo.com>
64444
64445         * modules/arctwo, modules/arctwo-tests: New files.
64446
64447         * tests/test-arctwo.c: New file.
64448
64449         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
64450
64451         * tests/test-gc-arctwo.c: New file.
64452
64453 2005-10-21  Simon Josefsson  <jas@extundo.com>
64454
64455         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
64456         Bruno Haible <bruno@clisp.org>.
64457
64458         * m4/gc-des.m4: New file.
64459
64460 2005-10-21  Simon Josefsson  <jas@extundo.com>
64461
64462         * m4/arctwo.m4: New file.
64463
64464         * m4/gc-arctwo.m4: New file.
64465
64466 2005-10-21  Simon Josefsson  <jas@extundo.com>
64467
64468         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
64469         block.
64470
64471 2005-10-21  Simon Josefsson  <jas@extundo.com>
64472
64473         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
64474         <bruno@clisp.org>.
64475
64476         * lib/hmac-sha1.c (hmac_sha1): Likewise.
64477
64478         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
64479         Bruno Haible <bruno@clisp.org>.
64480
64481         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
64482         <bruno@clisp.org>.
64483
64484 2005-10-21  Simon Josefsson  <jas@extundo.com>
64485
64486         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
64487
64488 2005-10-21  Simon Josefsson  <jas@extundo.com>
64489
64490         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
64491
64492 2005-10-21  Simon Josefsson  <jas@extundo.com>
64493
64494         * lib/des.h, lib/des.c: New files.
64495
64496         * lib/gc-gnulib.c: Support DES.c
64497
64498 2005-10-21  Simon Josefsson  <jas@extundo.com>
64499
64500         * lib/arctwo.h, lib/arctwo.c: New files.
64501
64502         * lib/gc-gnulib.c: Support ARCTWO.
64503
64504 2005-10-21  Simon Josefsson  <jas@extundo.com>
64505
64506         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
64507         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64508
64509 2005-10-21  Simon Josefsson  <jas@extundo.com>
64510
64511         * gnulib-tool (func_import, func_create_testdir): Define automake
64512         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
64513         Makefile.am snippet),
64514         suggested by Bruno Haible <bruno@clisp.org>.
64515
64516         * modules/gc (Makefile.am): Use it.
64517
64518 2005-10-21  Bruno Haible  <bruno@clisp.org>
64519
64520         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
64521         patch.
64522
64523 2005-10-19  Simon Josefsson  <jas@extundo.com>
64524
64525         * tests/test-gc-rijndael.c: New file.
64526
64527         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
64528
64529 2005-10-19  Simon Josefsson  <jas@extundo.com>
64530
64531         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
64532         interface too.
64533
64534 2005-10-19  Simon Josefsson  <jas@extundo.com>
64535
64536         * tests/test-gc-arcfour.c: New file.
64537
64538         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
64539
64540 2005-10-19  Simon Josefsson  <jas@extundo.com>
64541
64542         * modules/gc-md4, modules/gc-md4-tests: New file.
64543
64544         * tests/test-gc-md4.c: New file.
64545
64546 2005-10-19  Simon Josefsson  <jas@extundo.com>
64547
64548         * m4/gc-md4.m4: New file.
64549
64550 2005-10-19  Simon Josefsson  <jas@extundo.com>
64551
64552         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
64553         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
64554         <kasal@ucw.cz>.
64555
64556 2005-10-19  Simon Josefsson  <jas@extundo.com>
64557
64558         * m4/gc-arcfour.m4: New file.
64559
64560         * m4/gc-rijndael.m4: New file.
64561
64562 2005-10-19  Simon Josefsson  <jas@extundo.com>
64563
64564         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
64565
64566 2005-10-19  Simon Josefsson  <jas@extundo.com>
64567
64568         * lib/gc-gnulib.c: Support ARCFOUR.
64569
64570 2005-10-19  Simon Josefsson  <jas@extundo.com>
64571
64572         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
64573         support.
64574
64575         * lib/gc.h: Add ECB enum type.
64576
64577         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
64578
64579 2005-10-18  Simon Josefsson  <jas@extundo.com>
64580
64581         * tests/test-md5.c: New file.
64582
64583         * modules/md5-tests: New file.
64584
64585 2005-10-18  Simon Josefsson  <jas@extundo.com>
64586
64587         * tests/test-md4.c: New file.
64588
64589         * modules/md4, modules/md4-tests: New files.
64590
64591 2005-10-18  Simon Josefsson  <jas@extundo.com>
64592
64593         * m4/md4.m4: New file.
64594
64595 2005-10-18  Simon Josefsson  <jas@extundo.com>
64596
64597         * lib/md4.h, lib/md4.c: New files, based on md5.?.
64598
64599 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64600
64601         * gnulib-tool (func_create_testdir): Omit the second check whether
64602         BUILT_SOURCES in nonempty.
64603
64604 2005-10-17  Simon Josefsson  <jas@extundo.com>
64605
64606         * tests/test-rijndael.c: New file.
64607
64608 2005-10-17  Simon Josefsson  <jas@extundo.com>
64609
64610         * modules/sha1: Depend on stdint instead of md5.
64611
64612         * modules/md5: Depend on stdint, remove uint32_t.
64613
64614 2005-10-17  Simon Josefsson  <jas@extundo.com>
64615
64616         * modules/gc-sha1-tests: New file.
64617
64618         * tests/test-gc-sha1.c: New file.
64619
64620 2005-10-17  Simon Josefsson  <jas@extundo.com>
64621
64622         * m4/md5.m4: Remove call to uint32_t.m4.
64623
64624 2005-10-17  Simon Josefsson  <jas@extundo.com>
64625
64626         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64627
64628         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
64629         md5.h.
64630
64631         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
64632
64633         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
64634
64635 2005-10-17  Simon Josefsson  <jas@extundo.com>
64636
64637         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
64638
64639 2005-10-17  Simon Josefsson  <jas@extundo.com>
64640
64641         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
64642
64643 2005-10-17  Simon Josefsson  <jas@extundo.com>
64644
64645         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
64646
64647         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
64648
64649 2005-10-17  Bruno Haible  <bruno@clisp.org>
64650
64651         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
64652         that it can also be used in a test.
64653
64654 2005-10-16  Bruno Haible  <bruno@clisp.org>
64655
64656         * gnulib-tool (func_emit_tests_Makefile_am): Also define
64657         TESTS_ENVIRONMENT, so that individual tests can augment it.
64658
64659         * gnulib-tool (func_create_testdir): Use an intermediate target for
64660         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
64661         macros, like $(ALLOCA_H), which cannot be passed through the command
64662         line.
64663
64664 2005-10-15  Simon Josefsson  <jas@extundo.com>
64665
64666         * modules/rijndael-tests: New file.
64667
64668         * modules/rijndael: New file.
64669
64670 2005-10-15  Simon Josefsson  <jas@extundo.com>
64671
64672         * m4/rijndael.m4: New file.
64673
64674 2005-10-15  Simon Josefsson  <jas@extundo.com>
64675
64676         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
64677
64678         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
64679
64680 2005-10-14  Simon Josefsson  <jas@extundo.com>
64681
64682         * tests/test-arcfour.c: New file.
64683
64684         * modules/arcfour, modules/arcfour-tests: New files.
64685
64686 2005-10-14  Simon Josefsson  <jas@extundo.com>
64687
64688         * m4/arcfour.m4: New file.
64689
64690 2005-10-14  Simon Josefsson  <jas@extundo.com>
64691
64692         * lib/arcfour.h, lib/arcfour.c: New files.
64693
64694 2005-10-14  Roland McGrath  <roland@redhat.com>
64695
64696         Import from libc.  [BZ #1331]
64697         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
64698         macro argument.
64699         Reported by Matej Vela <vela@debian.org>.
64700
64701 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64702
64703         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
64704         include <wchar.h>; no longer needed.
64705
64706 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64707
64708         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
64709
64710 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
64711         and  Ulrich Drepper  <drepper@redhat.com>
64712
64713         Import from libc.
64714         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
64715         instead of inline stream orientation test and two separate
64716         function calls.  Pay no attention to USE_IN_LIBIO.
64717
64718 2005-10-13  Simon Josefsson  <jas@extundo.com>
64719
64720         * modules/gc-hmac-md5-tests: New file.
64721
64722         * tests/test-gc-hmac-sha1.c: New file.
64723
64724         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
64725
64726         * modules/gc-hmac-md5-tests: New file.
64727
64728         * tests/test-gc-md5.c: New file.
64729
64730         * modules/gc-md5-tests: New file.
64731
64732 2005-10-13  Simon Josefsson  <jas@extundo.com>
64733
64734         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
64735         Move memory allocation outside of loop.
64736
64737 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64738
64739         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
64740         intermediate directory is in a read-only file system.  Problem
64741         reported by Eric Blake.
64742
64743 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
64744
64745         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
64746
64747 2005-10-12  Simon Josefsson  <jas@extundo.com>
64748
64749         * tests/test-hmac-sha1.c: New file.
64750
64751         * modules/hmac-sha1-tests: New file.
64752
64753         * modules/hmac-sha1: New file.
64754
64755 2005-10-12  Simon Josefsson  <jas@extundo.com>
64756
64757         * modules/gc-sha1: New file.
64758
64759 2005-10-12  Simon Josefsson  <jas@extundo.com>
64760
64761         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
64762
64763         * tests/test-gc-pbkdf2-sha1.c: New file.
64764
64765 2005-10-12  Simon Josefsson  <jas@extundo.com>
64766
64767         * modules/gc-md5, modules/gc-hmac-md5: New files.
64768
64769         * modules/gc (Files): Remove md5, memxor and hmac files.
64770
64771 2005-10-12  Simon Josefsson  <jas@extundo.com>
64772
64773         * m4/gc-pbkdf2-sha1.m4: New file.
64774
64775         * m4/gc-hmac-sha1.m4: New file.
64776
64777         * m4/gc-sha1: New file.
64778
64779         * m4/hmac-sha1.m4: New file.
64780
64781 2005-10-12  Simon Josefsson  <jas@extundo.com>
64782
64783         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
64784
64785         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
64786
64787 2005-10-12  Simon Josefsson  <jas@extundo.com>
64788
64789         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
64790         suggested by Bruno Haible <bruno@clisp.org>.
64791
64792 2005-10-12  Simon Josefsson  <jas@extundo.com>
64793
64794         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
64795
64796 2005-10-12  Simon Josefsson  <jas@extundo.com>
64797
64798         * lib/gc-pbkdf2-sha1.c: New file.
64799
64800         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
64801
64802 2005-10-12  Simon Josefsson  <jas@extundo.com>
64803
64804         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
64805
64806         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
64807
64808 2005-10-12  Simon Josefsson  <jas@extundo.com>
64809
64810         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
64811         GC_USE_HMAC_MD5, respectively.
64812
64813         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
64814         (gc_md5): Fix typo.
64815
64816         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
64817
64818         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
64819
64820         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
64821
64822 2005-10-12  Bruno Haible  <bruno@clisp.org>
64823
64824         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
64825         Reported by Stepan Kasal <kasal@ucw.cz>.
64826
64827 2005-10-11  Simon Josefsson  <jas@extundo.com>
64828
64829         * tests/test-crc.c: New file.
64830
64831         * modules/crc, modules/crc-tests: New files.
64832
64833 2005-10-11  Simon Josefsson  <jas@extundo.com>
64834
64835         * m4/crc.m4: New file.
64836
64837 2005-10-11  Simon Josefsson  <jas@extundo.com>
64838
64839         * lib/gc.h: Add gc_hash and gc_hash_buffer.
64840
64841         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
64842
64843         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
64844
64845 2005-10-11  Simon Josefsson  <jas@extundo.com>
64846
64847         * lib/crc.h, lib/crc.c: New files.
64848
64849         * lib/gc.h (gc_hash_buffer): Add doc.
64850
64851 2005-10-11  Bruno Haible  <bruno@clisp.org>
64852
64853         * modules/c-strcasestr: New file.
64854         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
64855
64856 2005-10-11  Bruno Haible  <bruno@clisp.org>
64857
64858         * modules/c-strcase: New file.
64859         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
64860
64861 2005-10-11  Bruno Haible  <bruno@clisp.org>
64862
64863         * lib/strcasecmp.c: Include limits.h.
64864         (strcasecmp): Avoid integer overflow on exotic platforms.
64865         * lib/strncasecmp.c: Include limits.h.
64866         (strncasecmp): Avoid integer overflow on exotic platforms.
64867         Reported by Paul Eggert.
64868
64869 2005-10-11  Bruno Haible  <bruno@clisp.org>
64870
64871         * lib/c-strcasestr.h: New file, from GNU gettext.
64872         * lib/c-strcasestr.c: New file, from GNU gettext.
64873
64874 2005-10-11  Bruno Haible  <bruno@clisp.org>
64875
64876         * lib/c-strcase.h: New file, from GNU gettext.
64877         * lib/c-strcasecmp.c: New file, from GNU gettext.
64878         * lib/c-strncasecmp.c: New file, from GNU gettext.
64879
64880 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64881
64882         * modules/mempcpy (License): GPL -> LGPL.
64883         * modules/strchrnul (License): Likewise.
64884         * modules/sysexits (License): Likewise.
64885
64886 2005-10-08  Simon Josefsson  <jas@extundo.com>
64887
64888         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
64889
64890 2005-10-07  Simon Josefsson  <jas@extundo.com>
64891
64892         * m4/memxor.m4: Remove gl_C_RESTRICT call.
64893
64894 2005-10-06  Simon Josefsson  <jas@extundo.com>
64895
64896         * tests/test-hmac-md5.c: New file.
64897
64898         * modules/hmac-md5-tests: New file.
64899
64900         * modules/hmac-md5: New file.
64901
64902 2005-10-06  Simon Josefsson  <jas@extundo.com>
64903
64904         * m4/hmac-md5.m4: New file.
64905
64906         * m4/memxor.m4: Require gl_C_RESTRICT.
64907
64908 2005-10-06  Simon Josefsson  <jas@extundo.com>
64909
64910         * lib/memxor.c (memxor): Avoid casts and warnings.
64911
64912 2005-10-06  Simon Josefsson  <jas@extundo.com>
64913
64914         * lib/hmac-md5.c: New file.
64915
64916         * lib/hmac.h: New file.
64917
64918 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64919
64920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
64921         promotes to int, not unsigned int, to catch the AIX 5.3
64922         compiler bug.
64923
64924 2005-10-05  Simon Josefsson  <jas@extundo.com>
64925
64926         * modules/memxor: New file.
64927
64928         * modules/iconv (Files): Move config.rpath to havelib, it is used
64929         there.
64930
64931         * modules/havelib (Files): Add config.rpath.
64932
64933 2005-10-05  Simon Josefsson  <jas@extundo.com>
64934
64935         * m4/memxor.m4: New file.
64936
64937 2005-10-05  Simon Josefsson  <jas@extundo.com>
64938
64939         * lib/memxor.c (memxor): Fix compiler error.
64940
64941         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
64942         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
64943
64944         * lib/memxor.h, lib/memxor.c: New files.
64945
64946         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
64947         we assume all systems have it, suggested by Jim Meyering
64948         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
64949         any systems lack sys/socket.h; mingw32 is known to lack it, but we
64950         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
64951         same reasons.
64952
64953 2005-10-05  Simon Josefsson  <jas@extundo.com>
64954
64955         * config/srclist.txt: Add glibc bug 1423 for md5.h.
64956
64957 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64958
64959         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
64960         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
64961         needed, since the source code now assumes these .h files.
64962
64963 2005-10-05  Derek Price  <derek@ximbiot.com>
64964
64965         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
64966
64967 2005-10-05  Bruno Haible  <bruno@clisp.org>
64968
64969         * modules/stdint (License): Change to LGPL.
64970
64971 2005-10-04  Simon Josefsson  <jas@extundo.com>
64972
64973         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
64974         D. Baushke" <mdb@gnu.org>.
64975
64976 2005-10-04  Bruno Haible  <bruno@clisp.org>
64977
64978         * lib/verify.h (verify_true): Provide alternative definition for C++.
64979
64980 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64981
64982         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
64983         (SSIZE_MAX): New macro, if not already defined.
64984         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
64985         than 2 GiB.
64986
64987 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64988
64989         Sync from coreutils.
64990         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
64991         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
64992         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
64993         ULLONG_MAX doesn't work with 2.7.2.1.
64994
64995 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64996
64997         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
64998         From Ben Pfaff.
64999
65000         * modules/exclude (Depends-on): Depend on verify.
65001         * modules/strtoimax (Depends-on): Likewise.
65002         * modules/utimecmp (Depends-on): Likewise.
65003
65004 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65005
65006         * lib/exclude.c: Include verify.h.
65007         (verify): Remove.  All callers changed to use verify.h's version.
65008         * lib/strtoimax.c: Likewise.
65009         * lib/utimecmp.c: Likewis.e
65010
65011         Sync from coreutils.
65012         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
65013         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
65014         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
65015         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
65016         bother returning ENOSYS if settimeofday or stime fails; just let
65017         them return whatever errno they want to return.
65018         * lib/utimens.c: Include unistd.h, for dup2.
65019         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
65020         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
65021
65022 2005-10-02  Jim Meyering  <jim@meyering.net>
65023
65024         Sync from coreutils.
65025         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
65026         from glibc-2.2.5 that fails for read-only files.
65027
65028 2005-10-02  Jim Meyering  <jim@meyering.net>
65029
65030         Sync from coreutils.
65031         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
65032         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
65033         `#if HAVE_CONFIG_H'.
65034         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
65035         Remove AT_FDCWD test.
65036         Do not consume the fd unless successful.
65037         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
65038         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
65039         block, so that we don't even try to compile it if settimeofday is
65040         available.  This works around a compilation failure on OSF1 V5.1,
65041         due to stime requiring a `long int*' while tv_sec is `int'.
65042
65043 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
65044
65045         Sync from coreutils.
65046         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
65047         against `yes', rather than just testing for nonempty.
65048
65049 2005-10-01  Simon Josefsson  <jas@extundo.com>
65050
65051         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
65052         and Darwin.
65053
65054         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
65055         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
65056         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
65057         freeaddrinfo and gai_strerror are declared by the POSIX headers.
65058         Check if struct addrinfo is declared.
65059
65060 2005-10-01  Simon Josefsson  <jas@extundo.com>
65061
65062         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
65063         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
65064         AI_* and EAI_* definitions.  Protect function declarations.
65065
65066 2005-10-01  Jim Meyering  <jim@meyering.net>
65067
65068         Sync from coreutils.
65069
65070         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
65071         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
65072         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
65073         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65074         in the inet and nsl libraries.  Required on Solaris 5.7.
65075
65076 2005-10-01  Jim Meyering  <jim@meyering.net>
65077
65078         Sync from coreutils.
65079         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65080         in the inet and nsl libraries.  Required on Solaris 5.7.
65081
65082 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
65083
65084         * lib/getdelim.c (getdelim): Remove unused variables.
65085
65086 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65087
65088         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
65089         so that the code works even with ancient cpp.  Portability problem
65090         with GCC 2.7.2.1 reported by Thomas M.Ott.
65091
65092 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65093
65094         * modules/regex (Depends-on): Add strcase.
65095
65096         * modules/gethostname (Licence): Change from GPL to LGPL, since
65097         gethostname.c is a trivial implementation of a standard library
65098         function.
65099         * modules/poll (License): Change from GPL to LGPL, since it's
65100         derived from LGPL code.
65101
65102 2005-09-27  Jim Meyering  <jim@meyering.net>
65103
65104         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
65105         HAVE_CONFIG_H.
65106
65107         * lib/intprops.h (signed_type_or_expr__): Define.
65108         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
65109         for unsigned types.
65110
65111 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65112
65113         * lib/verify.h (verify_expr): Remove, replacing with:
65114         (verify_true): New macro that returns true instead of void.
65115         (verify_type__): Remove.
65116         (verify): Use verify_true rather than verify_type__.
65117
65118 2005-09-26  Bruno Haible  <bruno@clisp.org>
65119
65120         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
65121         is necessary.
65122         (lib_SOURCES): Remove mbchar.c.
65123         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
65124         (Files): Add m4/mbrtowc.m4.
65125         * modules/mbiter: Likewise.
65126         * modules/mbuiter: Likewise.
65127
65128 2005-09-26  Bruno Haible  <bruno@clisp.org>
65129
65130         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
65131         compile mbchar.c if they are not both present.
65132         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
65133         * m4/mbiter.m4 (gl_MBITER): Likewise.
65134         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
65135         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
65136         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
65137
65138 2005-09-25  Jim Meyering  <jim@meyering.net>
65139
65140         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
65141         also uses socklen_t.
65142
65143 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
65144
65145         * lib/utimens.c (ENOSYS): Define if not already defined.
65146         (futimens): Support having a null PATH if the file descriptor
65147         is nonnegative.
65148
65149         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
65150         Remove.
65151         (__attribute): Define to empty unless GCC 3.1 or later.
65152         This works around a core dump on OpenBSD 3.4, which has GCC
65153         2.95.3, which dumps core when given __attribute__(()).  It also
65154         simplifies other tests, since we really don't want to bother with
65155         worrying about which ancient version of GCC supported what.
65156         Original problem reported by Yoann Vandoorselaere, with part of
65157         the fix suggested by Derek Price.
65158
65159 2005-09-24  Jim Meyering  <jim@meyering.net>
65160
65161         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
65162         so we can once again use a positive bitfield width of 1 -- now we
65163         don't have to explain why we were using a bitfield width of 2.
65164
65165 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65166
65167         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
65168         and similarly for the other external symbols.  Problem reported
65169         by James Gallager.
65170
65171         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
65172         bug reported by Jim Meyering.
65173
65174         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
65175         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
65176         not needed, since socklen is a prerequisite module.
65177
65178 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65179
65180         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
65181         Problem reported by Eric Blake.
65182         (getaddrinfo): Initialize se so that it's not garbage.
65183         Redo internal storage allocation so that it doesn't make unportable
65184         assumptions about alignment.
65185         Fix a memory leak.
65186
65187         * lib/utimens.c (futimens): Use futimesat if available.
65188         Prefer it to futimes since it doesn't have the futimes bug.
65189
65190         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
65191         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
65192         Instead, declare a function that returns a pointer to an array,
65193         and use verify_type__ to declare the size of the array.
65194         Problem and germ of a solution reported by Bruno Haible.
65195         (verify_type__): Use 2, not 1, for bitfield size, to avoid
65196         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
65197
65198 2005-09-23  Jim Meyering  <jim@meyering.net>
65199
65200         Sync from coreutils.
65201         Correct build failure (socklen_t not defined) on at least
65202         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
65203         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
65204
65205 2005-09-23  Jim Meyering  <jim@meyering.net>
65206
65207         * modules/getaddrinfo (Depends-on): Add socklen.
65208
65209 2005-09-23  Bruno Haible  <bruno@clisp.org>
65210
65211         * tests/test-verify.c: New file.
65212
65213 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65214
65215         Sync from coreutils.
65216
65217         * modules/argmatch (Depends-on): Add verify.
65218         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
65219         unistd-safer.
65220         * modules/save-cwd (Depends-on): Likewise.
65221
65222         * modules/openat (Files): Add lib/openat-die.c.
65223         (Depends-on): Remove error, exitfail.
65224         Add dirname.
65225
65226         * modules/verify: New file.
65227         * MODULES.html.sh (Diagnostics <assert.h>): New section,
65228         with "verify" module.
65229
65230 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         Sync from coreutils.
65233
65234         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
65235         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
65236         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
65237         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
65238         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
65239         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
65240         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
65241         Don't bother checking for string.h, stdlib.h, unistd.h.
65242         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
65243         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
65244         module's job.
65245         * m4/jm-macros.m4 (gl_MACROS): Likewise.
65246         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
65247
65248         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
65249         (gl_GETDATE): Use it.
65250
65251         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
65252
65253 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         Sync from coreutils.
65256
65257         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
65258         stat-time.h.
65259         * lib/argmatch.h: Include verify.h
65260         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
65261         (ARGMATCH_ASSERT): Remove; unused.
65262         * lib/canonicalize.c: Assume STDC_HEADERS.
65263         * lib/exclude.c: Include "strcase.h".
65264         * lib/regex_internal.h [!defined _LIBC]: Likewise.
65265         * lib/getusershell.c: Include stdio--.h rather than stdio.h
65266         and stdio-safer.h.
65267         (getusershell): Call fopen, not fopen_safer.
65268         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
65269         Do not include unistd-safer.h.
65270         (save_cwd): Don't call fd_safer; no longer needed
65271         now that we include fcntl--.h.
65272
65273         * lib/getdate.y (relative_time): New type.
65274         (RELATIVE_TIME_0): New constant.
65275         (parser_control): Use relative_time instead of doing it ourselves.
65276         (%union): Add new relative_time rel member.
65277         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
65278         Now typeless.
65279         (relunit, relunit_snumber): Now of type rel.
65280         (zone, rel, relunit, get_date): Adjust to above changes.
65281
65282         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
65283         Do not include unistd-safer.h.
65284         (getloadavg): Don't call fd_safer; no longer needed
65285         now that we include fcntl--.h.
65286
65287         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
65288         (make_dir_parents): Treat ENOSYS like EEXIST.
65289
65290         Improve quality of diagnostics on restore_cwd failure.
65291         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
65292         (make_dir_parents): Last arg is now int * (for errno), not bool *.
65293         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
65294         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
65295         each time through the loop.  Do not diagnose restore_cwd failure;
65296         that is the caller's job (and perhaps the caller does not care).
65297
65298         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
65299         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
65300         If the file already exists but is not a directory, don't bother
65301         to try to make its parents.
65302         Close potential file descriptor leak if we can't chdir("/") (!).
65303         Don't always return true if chdir($PWD) fails; return true only
65304         if the requested action was done successfully (except for the
65305         chdir($PWD)).
65306         Don't log final directory unless we actually made it.
65307         Refactor to avoid duplicate code to fix up permissions.
65308         Don't attempt to fix up parent permissions if chdir($PWD) fails.
65309
65310         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
65311         to make it a bit faster and (I hope) clearer.
65312         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
65313         Fix bug in formats like %2N.
65314
65315         * lib/verify.h: New file.
65316
65317 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65318
65319         Sync from coreutils.
65320         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
65321
65322 2005-09-22  Jim Meyering  <jim@meyering.net>
65323
65324         Sync from coreutils.
65325
65326         * m4/lstat.m4 (gl_FUNC_LSTAT):
65327         Use AC_LIBSOURCES to require lstat.c and lstat.h.
65328         Remove obsolete comment.
65329         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
65330         * m4/xstrtod.m4: Likewise.
65331
65332         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
65333
65334 2005-09-22  Jim Meyering  <jim@meyering.net>
65335
65336         Sync from coreutils.
65337
65338         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
65339
65340         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
65341         the .tm_year member, since otherwise gcc-4.0 would now warn about
65342         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
65343
65344         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
65345         order to avoid an unsuppressible warning from gcc on 64-bit systems.
65346
65347         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
65348         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
65349         when run in a time zone for which daylight savings time is in effect
65350         for the starting date.
65351
65352         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
65353         stop us from restricting permissions of just-created absolute-named
65354         directories.
65355         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
65356         to restore initial working directory.
65357         * lib/mkdir-p.c (make_dir_parents): New parameter:
65358         different_working_dir, to tell caller if/when we change the working
65359         directory and are unable to return to the initial one.
65360         * lib/mkdir-p.h (make_dir_parents): Update prototype.
65361         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
65362         `return false'.  This fixes a bug introduced on 2004-07-30.
65363
65364         * lib/openat.c (fdopendir): Be sure to close the supplied
65365         file descriptor before returning.  This makes our replacement
65366         implementation a little closer to Solaris's, where fdopendir
65367         ties the file descriptor to the returned DIR* pointer.
65368         * lib/openat.c (unlinkat): New function.
65369         * lib/openat.h (unlinkat): Add prototype.
65370         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
65371         (openat_restore_fail): Rename from openat_restore_die.
65372         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
65373
65374         Provide an alternative to exiting immediately upon save_cwd or
65375         restore_cwd failure.  Now, an application can arrange e.g.,
65376         to perform a longjump in that case.
65377         * lib/openat.c: Include dirname.h.
65378         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
65379         (rpl_openat, fdopendir, fstatat): Call openat_save_die
65380         and openat_restore_die rather than calling error directly.
65381         Don't include "error.h" or "exitfail.h"; they're no longer needed.
65382
65383         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
65384         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
65385         define.
65386
65387         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
65388         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
65389                             int utc, int nanoseconds);
65390         Background:
65391         date should not have to allocate a megabyte of virtual memory to
65392         handle a format argument like +%1048575T.  When implemented with
65393         strftime, it must allocate such a buffer, use strftime to fill it
65394         in, print it, then free it.
65395         With fprintftime, it simply prints everything and exits.
65396         With no need for memory allocation, that's one fewer way to fail.
65397         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
65398         optional field width, not before, so we accept %9:z, not %:9z.
65399         (my_strftime): Be sure to use L_('x') for literals.
65400
65401         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
65402         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
65403         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
65404         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
65405         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
65406         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
65407         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
65408         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
65409         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
65410         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
65411         * lib/xgethostname.c, lib/xreadlink.c:
65412         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
65413
65414         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
65415         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
65416         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
65417         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65418         and don't include <sys/file.h>).
65419
65420 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
65421
65422         Sync from coreutils.
65423
65424         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
65425         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
65426         [!LDAV_DONE]: Avoid unused variable warning.
65427
65428 2005-09-21  Bruno Haible  <bruno@clisp.org>
65429
65430         * lib/unicodeio.h (unicode_to_mb): New declaration.
65431
65432 2005-09-20  Derek Price  <derek@ximbiot.com>
65433
65434         * lib/getaddrinfo.c: Don't include <netdb.h> included from
65435         getaddrinfo.h.
65436
65437 2005-09-20  Bruno Haible  <bruno@clisp.org>
65438
65439         * gnulib-tool: Remove trailing slashes from the values specified for
65440         --source-base, --m4-base, --tests-base, --aux-dir.
65441         Suggested by Simon Josefsson <jas@extundo.com>.
65442
65443 2005-09-20  Bruno Haible  <bruno@clisp.org>
65444
65445         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
65446         func_modules_to_filelist, func_import, func_create_testdir): Make all
65447         sorting results locale-independent, so that gnulib-cache.m4 doesn't
65448         change when gnulib-tool is invoked in a different locale.
65449
65450 2005-09-19  Simon Josefsson  <jas@extundo.com>
65451
65452         * m4/socklen.m4: Fix typo.
65453
65454 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65455
65456         Use a consistent style for including <config.h>.
65457         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
65458         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
65459         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
65460         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
65461         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
65462         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
65463         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
65464         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
65465         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
65466         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
65467         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
65468         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
65469         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
65470         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
65471         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
65472         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
65473         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
65474         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
65475         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
65476         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
65477         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
65478         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
65479         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
65480         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
65481         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
65482         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
65483         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
65484         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
65485         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
65486         lib/xstrtoumax.c, lib/yesno.c:
65487         Standardize inclusion of config.h.
65488         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
65489         lib/inttostr.h:  Removed inclusion of config.h from header files.
65490         * lib/inttostr.c:  Adjusted in-tree users.
65491         * lib/timespec.h: Remove superfluous warning to include config.h.
65492         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
65493         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
65494         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
65495         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
65496         config.h with HAVE_CONFIG_H.
65497
65498 2005-09-19  Jim Meyering  <jim@meyering.net>
65499
65500         * modules/pathmax (License): Change to LGPL.
65501
65502 2005-09-19  Derek Price  <derek@ximbiot.com>
65503
65504         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
65505
65506 2005-09-19  Bruno Haible  <bruno@clisp.org>
65507
65508         * gnulib-tool (import): Provide default for --tests-base.
65509
65510 2005-09-19  Bruno Haible  <bruno@clisp.org>
65511
65512         * doc/quote.texi: New file, extracted from gnulib.texi.
65513         * doc/ctime.texi: New file, extracted from gnulib.texi.
65514         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
65515         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
65516         * doc/gnulib.texi: Include them.
65517
65518 2005-09-18  Bruno Haible  <bruno@clisp.org>
65519
65520         Portability fix.
65521         * gnulib-tool (func_readlink): New function.
65522         (func_ln_if_changed): Use it.
65523
65524 2005-09-18  Bruno Haible  <bruno@clisp.org>
65525
65526         * gnulib-tool: Support --with-tests also with --import.
65527         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
65528         (func_import): Use variables $testsbase and $inctests. Emit a
65529         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
65530         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
65531         SUBDIRS += $testsdir.
65532         (func_create_testdir): Update.
65533
65534 2005-09-18  Bruno Haible  <bruno@clisp.org>
65535
65536         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
65537         instead of $dry_run.
65538         (func_cp_if_changed, func_mv_if_changed): Remove functions.
65539         (func_ln_if_changed): Don't handle dry-run here.
65540         (func_import): In dry-run mode, detect more precisely which actions
65541         would be performed, and don't use "...ing" verbs.
65542
65543 2005-09-18  Bruno Haible  <bruno@clisp.org>
65544
65545         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
65546         (func_import): Use join on two temporary files instead of three nested
65547         loops, in order to determine which files are new or old.
65548
65549 2005-09-18  Bruno Haible  <bruno@clisp.org>
65550
65551         * gnulib-tool (func_import): Comment out code that spits out the
65552         new files with --dry-run.
65553
65554 2005-09-18  Bruno Haible  <bruno@clisp.org>
65555
65556         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
65557
65558 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65559
65560         * lib/stat-time.h: New file.
65561         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
65562         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
65563         in a different way.
65564         (timespec_cmp): New function.
65565         * lib/utimecmp.c: Include stat-time.h.
65566         (SYSCALL_RESOLUTION): Depend on whether various struct stat
65567         members exist, not on the obsolescent ST_MTIM_NSEC.
65568         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
65569
65570 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65571
65572         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
65573
65574 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65575
65576         * MODULES.html.sh (File system functions): Add stat-time.
65577         * modules/stat-time: New file.
65578         * modules/timespec (Files): Remove m4/st_mtim.m4; this
65579         is now done in a different way, by the stat-time module.
65580         * modules/utimecmp (Depends-on): Add stat-time.
65581
65582 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65583
65584         * m4/st_mtim.m4: Remove.  Superseded by...
65585         * m4/stat-time.m4: New file.
65586         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
65587         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
65588
65589 2005-09-15  Derek Price  <derek@ximbiot.com>
65590
65591         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
65592
65593 2005-09-15  Derek Price  <derek@ximbiot.com>
65594
65595         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
65596         * lib/regex_internal.c: Ditto, using this...
65597         (__GNUC_PREREQ): ...new macro.
65598         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
65599         using...
65600         (__GNUC_PREREQ): ...this new macro.
65601
65602         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65603
65604 2005-09-15  Derek Price  <derek@ximbiot.com>
65605             Paul Eggert  <eggert@cs.ucla.edu>
65606
65607         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65608         changes, consolidating in...
65609         * lib/regex_internal.h: ...this file.
65610
65611 2005-09-13  Jim Meyering  <jim@meyering.net>
65612
65613         * lib/canon-host.c: Filter through gnu indent and reword comments
65614         slightly.
65615         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65616
65617 2005-09-13  Derek Price  <derek@ximbiot.com>
65618
65619         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65620         failure.
65621         Reported by Jim Meyering  <jim@meyering.net>.
65622
65623 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65624
65625         * lib/base64.c: Typo.
65626         (base64_encode): Put b64str in initialized data section.
65627
65628 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         Merge glibc and coreutils changes into gnulib, plus a few
65631         extra fixes.
65632         * lib/md5.c: Use #error rather than a string.
65633         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
65634         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
65635         (__attribute__): Define to empty for non recent-GCC.
65636         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
65637         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
65638         Renamed from their non-__ counterparts, with new macros replacing
65639         them if not _LIBC.  Add __THROW attribute.
65640         (rol): Remove.
65641         (struct md5_ctx): Align buffer if using GCC.
65642         * lib/sha1.h (struct sha1_ctx): Likewise.
65643         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
65644         The old name was backwards.
65645         (NOTSWAP): Remove; not used.
65646         (rol): New macro, moved here from md5.h.
65647         (sha1_process_block): Remove a FIXME that doesn't make sense.
65648
65649 2005-09-12  Derek Price  <derek@ximbiot.com>
65650
65651         Return usable errors from canon-host.
65652         * lib/canon-host.h: New file.
65653         * lib/canon-host.c (canon_host): Wrap...
65654         (canon_host_r): ...this new function, which now relies exclusively on
65655         getaddrinfo.
65656         (ch_strerror): New function.
65657         (last_cherror): New global.
65658         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
65659         interface.
65660         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
65661         void *.
65662         (freeaddrinfo): Free ai->ai_canonname when set.
65663
65664 2005-09-12  Derek Price  <derek@ximbiot.com>
65665
65666         Make canon-host require getaddrinfo.
65667         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
65668         AC_LIBSOURCE canon-host.h.  Call...
65669         (gl_PREREQ_CANON_HOST): ...this new function, which requires
65670         gl_GETADDRINFO.
65671         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
65672
65673 2005-09-12  Derek Price  <derek@ximbiot.com>
65674
65675         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
65676         LGPL.
65677         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
65678
65679 2005-09-12  Derek Price  <derek@ximbiot.com>
65680
65681         * lib/gai_strerror.c: Include config.h when available.  Include
65682         getaddrinfo.h before other headers to test interface.
65683         Reported by Larry Jones <lawrence.jones@ugs.com>.
65684
65685 2005-09-12  Derek Price  <derek@ximbiot.com>
65686             Paul Eggert  <eggert@cs.ucla.edu>
65687
65688         * modules/glob (Files): Add glob-libc.h.
65689
65690 2005-09-12  Derek Price  <derek@ximbiot.com>
65691             Paul Eggert  <eggert@cs.ucla.edu>
65692
65693         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
65694         glob_.h, glob-libc.h.
65695         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
65696
65697 2005-09-12  Derek Price  <derek@ximbiot.com>
65698             Paul Eggert  <eggert@cs.ucla.edu>
65699
65700         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
65701         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
65702         protecting things that should be done only in gnulib contexts.
65703         * lib/glob_.h: New file, containing only the glob things needed for
65704         gnulib.
65705         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
65706         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
65707         (glob, globfree, glob_pattern_p): Now defined simply in terms of
65708         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
65709         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
65710         and to respect the namespace rules better.
65711
65712 2005-09-08  Simon Josefsson  <jas@extundo.com>
65713
65714         * modules/socklen: New file.
65715
65716 2005-09-08  Simon Josefsson  <jas@extundo.com>
65717
65718         * m4/socklen.m4: New file.
65719
65720 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65721
65722         * modules/utimens (Files): Add m4/utimbuf.m4, since
65723         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
65724         Reported by Sergey Poznyakoff.
65725
65726 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65727
65728         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
65729         definitions, since that's the preferred style in glibc.
65730         Fix a minor spacing issue, and update copyright notice to match
65731         glibc's.
65732
65733 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65734
65735         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
65736
65737 2005-09-06  Simon Josefsson  <jas@extundo.com>
65738
65739         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
65740         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
65741
65742 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65743
65744         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
65745         warning.
65746
65747 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65748
65749         * config/srclist.txt: Add glibc bug 1302.
65750
65751 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
65752
65753         Change bitset word type from unsigned int to unsigned long int,
65754         as this has better performance on typical 64-bit hosts.
65755         Port bitset code to hosts with unusual word sizes.
65756         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
65757         (build_collating_symbol):
65758         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
65759         argument is a bitset.  This is merely a style issue, but it makes
65760         it clearer that an entire array is expected.
65761         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
65762         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
65763         Port to the case where bitset_word is not the same as unsigned int.
65764         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65765         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
65766         Likewise.
65767         * lib/regexec.c (check_dst_limits_calc_pos_1,
65768         check_subexp_matching_top):
65769         (build_trtable, group_nodes_into_DFAstates):
65770         Likewise.
65771         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
65772         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
65773         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
65774         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
65775         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
65776         * lib/regcomp.c (optimize_subexps, lower_subexp):
65777         Work even if bitset_word has holes in its bitwise representation.
65778         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
65779         * lib/regexec.c (check_dst_limits_calc_pos_1,
65780         check_subexp_matching_top):
65781         Likewise.
65782         * lib/regex_internal.c (re_string_reconstruct):
65783         Don't assume UCHAR_MAX == 255.
65784         * lib/regex_internal.h (bitset_set_all): Likewise.
65785         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
65786         All uses changed.
65787         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
65788         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
65789         All uses changed.
65790         (BITSET_WORD_MAX): New macro.
65791         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
65792         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
65793         (bitset_empty, bitset_copy):
65794         Prefer sizeof (bitset) to multiplying it out ourselves.
65795         (bitset_not_merge): Remove; unused.
65796         (bitset_contain): Return bool, not unsigned int with one bit on.
65797         All callers changed.
65798         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
65799         alignment than re_node_set; do this by defining a new internal
65800         type struct dests_alloc and using it to allocate memory.
65801
65802 2005-09-05  Bruno Haible  <bruno@clisp.org>
65803
65804         * gnulib-tool (func_import): Fix comparison in handling of symbolic
65805         links.
65806
65807 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
65808
65809         * modules/size_max (Makefile.am): Add size_max.h
65810
65811 2005-09-04  Derek Price  <derek@ximbiot.com>
65812
65813         * gnulib-tool (func_import): Fix reversed $symbolic logic.
65814
65815 2005-09-03  Simon Josefsson  <jas@extundo.com>
65816
65817         * gnulib-tool: Fix typo.
65818
65819 2005-09-03  Simon Josefsson  <jas@extundo.com>
65820
65821         * config/srclist.txt: Add glibc bug 1293.
65822
65823 2005-09-03  Derek Price  <derek@ximbiot.com>
65824
65825         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
65826         From Larry Jones <lawrence.jones@ugs.com>.
65827
65828 2005-09-02  Simon Josefsson  <jas@extundo.com>
65829
65830         * modules/socklen: New file.
65831
65832 2005-09-02  Simon Josefsson  <jas@extundo.com>
65833
65834         * modules/havelib: New module.
65835
65836         * modules/gettext, modules/iconv, modules/lock, modules/readline:
65837         Use havelib.
65838
65839 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65840
65841         Check for arithmetic overflow when calculating sizes, to prevent
65842         some buffer-overflow issues.  These patches are conservative, in the
65843         sense that when I couldn't determine whether an overflow was possible,
65844         I inserted a run-time check.
65845         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
65846         macros.
65847         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
65848         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
65849         (re_xnrealloc, re_x2nrealloc): New inline functions.
65850         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
65851         parse_bracket_exp):
65852         (build_equiv_class, build_charclass): Check for arithmetic overflow
65853         in size expression calculations.
65854         * lib/regex_internal.c (re_string_realloc_buffers):
65855         (build_wcs_upper_buffer, re_node_set_add_intersect):
65856         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
65857         (re_dfa_add_node, register_state): Likewise.
65858         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
65859         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
65860         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
65861         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
65862
65863 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65864
65865         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65866         m4/ulonglong.m4.  Problem reported by Martin Lambers.
65867
65868 2005-09-02  Bruno Haible  <bruno@clisp.org>
65869
65870         Support for lib vs. lib64 distinction on biarch platforms.
65871         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
65872         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
65873         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
65874
65875 2005-09-02  Bruno Haible  <bruno@clisp.org>
65876
65877         * gnulib-tool (import): In the other first-use case, provide defaults
65878         as well.
65879
65880 2005-09-02  Bruno Haible  <bruno@clisp.org>
65881
65882         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
65883         patches not yet found in the latest gettext release.
65884
65885 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65886
65887         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
65888         to avoid a collision with bits/local_lim.h in glibc.
65889         All uses changed.  Problem reported by Dmitry V. Levin in
65890         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
65891
65892         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
65893         bugs in int versus size_t comparisons.
65894         (re_string_context_at): Fix bug where the code assumed that
65895         Idx is signed.
65896
65897         Use bool where appropriate.
65898         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
65899         All callers changed.
65900         (calc_eclosure_iter): Likewise, for ROOT arg.
65901         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
65902         (build_charclass_op): Likewise, for NON_MATCH arg.
65903         * lib/regex_internal.c (re_string_allocate, re_string_construct):
65904         (re_string_construct_common): Likewise, for ICASE arg.
65905         * lib/regexec.c (re_search_2_stub, re_search_stub):
65906         Likewise, for RET_LEN arg.
65907         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
65908         (set_regs): Likewise, for FL_BACKTRACK arg.
65909         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
65910         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
65911         (calc_eclosure_iter, parse_bracket_exp):
65912         Use bool for internal variables that are booleans.
65913         * lib/regexec.c (re_search_internal, check_matching,
65914         proceed_next_node):
65915         (set_regs, build_sifted_states, sift_states_bkref):
65916         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
65917         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65918         (find_collation_sequence_value):
65919         Likewise.
65920         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
65921         (re_node_set_compare):
65922         Return bool, not int. All callers changed.
65923         * lib/regexec.c (check_halt_node_context, check_dst_limits):
65924         (build_trtable, check_node_accept): Likewise.
65925         * lib/regex_internal.h: Include stdbool.h.
65926
65927         Fix bugs uncovered when converting to bool.
65928         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
65929         failure instead of charging ahead blindly.
65930         * lib/regex_internal.c (register_state): Likewise.
65931         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
65932         for freeing internal storage.
65933         (group_nodes_into_DFA_states): Use unsigned int, not int, for
65934         bitset pieces used as boolean, to avoid undefined behavior
65935         on hosts that do int overflow checking.
65936
65937 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65938
65939         * config/srclist.txt: Add glibc bugs 1285-1287.
65940
65941 2005-09-01  Jim Meyering  <jim@meyering.net>
65942
65943         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
65944         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
65945         Require gl_STAT_MACROS, too.
65946
65947 2005-09-01  Bruno Haible  <bruno@clisp.org>
65948
65949         * gnulib-tool (import): In the first-use case, provide defaults.
65950
65951 2005-09-01  Bruno Haible  <bruno@clisp.org>
65952
65953         * gnulib-tool (func_import): Remove the .tmp files.
65954
65955 2005-09-01  Bruno Haible  <bruno@clisp.org>
65956
65957         * gnulib-tool (func_import): Fix handling of symbolic links.
65958
65959 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65960
65961         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
65962         old glibc regex code mishandles strings longer than 2**31 bytes.
65963         This patch fixes this when the regex code is used in gnulib
65964         (i.e., outside glibc).
65965
65966         This patch should not affect the use of the regex code inside
65967         glibc.  No doubt this problem also needs to be handled for glibc
65968         as well, but the result will be an incompatible change to the
65969         glibc ABI, and the old ABI will have to be supported too.  That
65970         can be the the subject for another patch.
65971
65972         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
65973         governing whether the rest of this patch is active.  By default,
65974         the macro is disabled and the patch has no effect.
65975         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
65976         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
65977         (struct re_pattern_buffer, re_search, re_search_2, re_match):
65978         (re_match_2, re_set_registers): Use the new types.
65979         * lib/regex_internal.h (Idx, re_hashval_t): New types.
65980         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
65981         New macros.
65982         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
65983         (re_string_context_at, bin_tree_t, re_dfastate_t):
65984         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
65985         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
65986         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
65987         (re_string_char_size_at, re_string_wchar_at):
65988         (re_string_elem_size_at):
65989         Use the new types and macros to port to 64-bit hosts.
65990         Use unsigned types for internal values, so that the code
65991         mostly works even for arrays larger than SSIZE_MAX.
65992         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
65993         (search_duplicated_node, calc_eclosure_iter, fetch_number):
65994         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
65995         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
65996         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
65997         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
65998         (calc_inveclosure, parse_dup_op, build_range_exp):
65999         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
66000         (fetch_number, create_token_tree, mark_opt_subexp):
66001         Likewise.
66002         * lib/regex_internal.c (re_string_construct_common,
66003         create_ci_newstate):
66004         (create_cd_newstate, re_string_allocate, re_string_construct):
66005         (re_string_realloc_buffers, build_wcs_upper_buffer):
66006         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66007         (re_string_reconstruct, re_string_peek_byte_case):
66008         (re_string_fetch_byte_case, re_string_context_at):
66009         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66010         (re_node_set_init_copy, re_node_set_add_intersect):
66011         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66012         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66013         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66014         (re_acquire_state, re_acquire_state_context, register_state):
66015         Likewise.
66016         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
66017         search_cur_bkref_entry):
66018         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
66019         (re_search_internal, re_search_2_stub, re_search_stub)
66020         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
66021         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
66022         (update_cur_sifted_state, check_dst_limits):
66023         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66024         (check_subexp_limits, sift_states_bkref, merge_state_array):
66025         (check_subexp_matching_top, get_subexp, get_subexp_sub):
66026         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
66027         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66028         (expand_bkref_cache, check_node_accept_bytes):
66029         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
66030         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
66031         (acquire_init_state_context, check_halt_node_context):
66032         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
66033         (sift_states_backward, clean_state_log_if_needed):
66034         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
66035         (find_recover_state, transit_state_sb, transit_state_mb):
66036         (transit_state_bkref, build_trtable, match_ctx_clean):
66037         Likewise.
66038         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
66039         to work around an assumption that REG_MISSING is negative.
66040
66041         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
66042         (seek_collating_symbol_entry) [defined _LIBC]:
66043         (lookup_collation_sequence_value) [defined _LIBC]:
66044         (build_range_exp, build_collating_symbol) [defined _LIBC]:
66045         Use prototypes rather than old-style function definitions.
66046         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
66047         (transit_state_sb) [0]:
66048         (find_collation_sequence_value) [defined _LIBC]: Likewise.
66049
66050         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
66051         rm_eo.
66052
66053         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
66054         (optimize_subexps, lower_subexp):
66055         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
66056         since the signed shift might overflow.  Use 1u<<31 instead.
66057         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66058         Likewise.
66059         * lib/regexec.c (check_dst_limits_calc_pos_1,
66060         check_subexp_matching_top): Likewise.
66061
66062         * lib/regcomp.c (optimize_subexps, lower_subexp):
66063         Use CHAR_BIT rather than 8, for clarity.
66064         * lib/regexec.c (check_dst_limits_calc_pos_1):
66065         (check_subexp_matching_top): Likewise.
66066         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
66067         have to worry about portability issues when shifting it left.
66068         Remove no-longer-needed test for table_size > 0.
66069         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
66070         in a word, as the resulting behavior is undefined.
66071         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
66072         in one case, a <= should have been an <, and in another case the
66073         whole test was missing.
66074         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
66075         the standard name CHAR_BIT.
66076         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
66077         this is not true on one's complement and signed-magnitude hosts.
66078
66079         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
66080         next_last_offset.
66081         (struct re_dfa_t): Remove unused member states_alloc.
66082         * lib/regcomp.c (init_dfa): Don't initialize unused members.
66083
66084 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66085
66086         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
66087         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
66088         and large-file glibc and in 32-bit large-file Solaris.
66089
66090 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66091
66092         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
66093         lengths fit in regoff_t; this isn't true if regoff_t is the same
66094         width as size_t.
66095         * lib/regex.c (re_search_internal): 5th arg is LAST_START
66096         (= START + RANGE) instead of RANGE.  This avoids overflow
66097         problems when regoff_t is the same width as size_t.
66098         All callers changed.
66099         (re_search_2_stub): Check for overflow when adding the
66100         sizes of the two strings.
66101         (re_search_stub): Check for overflow when adding START
66102         to RANGE; if it occurs, substitute the extreme value.
66103
66104 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66105
66106         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
66107
66108 2005-08-31  Jim Meyering  <jim@meyering.net>
66109
66110         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
66111         a pointer-to-const.
66112         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
66113         (register_state): Likewise.
66114         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
66115         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66116         (group_nodes_into_DFAstates): Likewise.
66117
66118 2005-08-31  Jim Meyering  <jim@meyering.net>
66119
66120         * check-module: Add a FIXME comment.
66121
66122 2005-08-31  Eric Blake  <ebb9@byu.net>
66123
66124         * modules/unistd-safer (Files): Add unistd--.h.
66125         * modules/stdio-safer (Files): Add stdio--.h.
66126
66127 2005-08-31  Derek Price  <derek@ximbiot.com>
66128
66129         * lib/getdelim.c (getdelim): Return EOF on EOF.
66130         Reported by Larry Jones <lawrence.jones@ugs.com>.
66131
66132 2005-08-31  Bruno Haible  <bruno@clisp.org>
66133
66134         Avoid unnecessary diffs in the generated lib/Makefile.am.
66135         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
66136         the generated files.
66137         (func_import): Don't set cmd.
66138
66139 2005-08-31  Bruno Haible  <bruno@clisp.org>
66140
66141         * lib/strstr.c: Include <stddef.h>, for NULL.
66142         * lib/strcasestr.c: Likewise.
66143         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66144
66145 2005-08-31  Bruno Haible  <bruno@clisp.org>
66146
66147         * gnulib-tool: New option --macro-prefix.
66148         (func_import): Use macro_prefix.
66149         (import): Handle option --macro-prefix.
66150
66151 2005-08-31  Bruno Haible  <bruno@clisp.org>
66152
66153         * gnulib-tool (import): Rename most ac_* variables to cached_*.
66154         Also use new variables cached_lgpl, cached_libtool.
66155
66156 2005-08-31  Bruno Haible  <bruno@clisp.org>
66157
66158         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
66159         always instantiating them.
66160
66161 2005-08-31  Bruno Haible  <bruno@clisp.org>
66162
66163         * gnulib-tool (func_import): Read the previous cached settings
66164         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
66165         earlier added by gnulib but are now dropped. Warn when a gnulib file
66166         overwrites a non-gnulib file.
66167
66168 2005-08-31  Bruno Haible  <bruno@clisp.org>
66169
66170         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
66171         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
66172         projects that don't keep autogenerated files in CVS. Put into
66173         actioncmd only the specified modules, not the transitive closure.
66174
66175 2005-08-31  Bruno Haible  <bruno@clisp.org>
66176
66177         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
66178         Create directories that shall be filled.
66179         (import): Don't look for gl_* macros in configure.ac. Recurse across
66180         all directories containing a gnulib-cache.m4 files, if meaningful.
66181
66182 2005-08-31  Bruno Haible  <bruno@clisp.org>
66183
66184         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
66185         (import): Set seen_libtool when we see gl_LIBTOOL.
66186
66187 2005-08-31  Bruno Haible  <bruno@clisp.org>
66188
66189         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
66190         declaration macro definitions from generated gnulib.m4.
66191
66192 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
66193
66194         * lib/iconvme.h: Add prototype for iconv_alloc.
66195
66196 2005-08-29  Simon Josefsson  <jas@extundo.com>
66197
66198         * lib/iconvme.c: Fix errno.
66199
66200 2005-08-29  Bruno Haible  <bruno@clisp.org>
66201
66202         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
66203         that it works when the directory contains spaces.
66204
66205 2005-08-29  Bruno Haible  <bruno@clisp.org>
66206
66207         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
66208
66209 2005-08-29  Bruno Haible  <bruno@clisp.org>
66210
66211         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
66212         Emit more advice.
66213
66214 2005-08-29  Bruno Haible  <bruno@clisp.org>
66215         and Stepan Kasal  <kasal@ucw.cz>
66216
66217         * check-module: If more parameters are given, check each of them
66218         separately; add more exceptions, as noted by Jim Meyering.
66219         (check_module): New procedure.
66220         (%exempt_header): Now contains all exceptions.
66221
66222 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
66223
66224         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
66225
66226 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66227
66228         * lib/iconvme.c: Split iconv_string into iconv_alloc.
66229
66230 2005-08-28  Bruno Haible  <bruno@clisp.org>
66231
66232         * m4/gnulib-tool.m4: New file.
66233
66234 2005-08-27  Jim Meyering  <jim@meyering.net>
66235
66236         * modules/unistd-safer (Files): Add pipe-safer.c.
66237         * modules/fcntl-safer (Files): Add creat-safer.c.
66238
66239 2005-08-27  Jim Meyering  <jim@meyering.net>
66240
66241         * m4/stdlib-safer.m4: New file.  From coreutils.
66242         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
66243         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
66244         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
66245         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
66246         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
66247
66248 2005-08-27  Jim Meyering  <jim@meyering.net>
66249
66250         * lib/fopen-safer.c: Merge minor changes from coreutils.
66251         * lib/dup-safer.c: Likewise.
66252         * lib/fd-safer.c: Likewise.
66253
66254         Merge from coreutils.
66255         * lib/stdio--.h: New file.
66256         * lib/stdlib--.h: New file.
66257         * lib/mkstemp-safer.c: New file.
66258
66259         GNU tar needs these.
66260         * lib/pipe-safer.c: New file.
66261         * lib/creat-safer.c: New file.
66262         * lib/fcntl--.h (creat): Define to creat_safer.
66263         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
66264         * lib/unistd--.h (pipe): Define to pipe_safer.
66265         * lib/unistd-safer.h: Declare pipe_safer.
66266
66267 2005-08-26  Simon Josefsson  <jas@extundo.com>
66268
66269         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
66270         Haible <bruno@clisp.org>.
66271
66272 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
66273
66274         * lib/regex_internal.h: Remove all references to
66275         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
66276         or better.
66277         (bitset_not, bitset_merge, bitset_not_merge):
66278         (bitset_mask, re_string_allocate, re_string_construct):
66279         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
66280         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
66281         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
66282         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
66283         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66284         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66285         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
66286         (re_acquire_state_context):
66287         Remove unnecessary forward decls.
66288         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
66289         Put __attribute at function definition,
66290         now that the function decl has been removed.
66291         * lib/regex_internal.c (re_string_peek_byte_case):
66292         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
66293         Likewise.
66294
66295 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
66296
66297         * m4/regex.m4: Add AC_PREREQ(2.50).
66298         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
66299
66300 2005-08-25  Simon Josefsson  <jas@extundo.com>
66301
66302         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
66303         __fsetlocking.
66304
66305 2005-08-25  Simon Josefsson  <jas@extundo.com>
66306
66307         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
66308         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
66309         GLIBC specific code.
66310
66311 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66312
66313         Make regex safe for g++.  This fixes one real bug (an "err"
66314         that should have been "*err").  g++ problem reported by
66315         Sam Steingold.
66316         * lib/regex_internal.h (re_calloc): New macro, consistent with
66317         re_malloc etc.  All callers of calloc changed to use re_calloc.
66318         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
66319         not int.  All callers changed.
66320         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
66321         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
66322         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
66323         (find_recover_state): Change "err" to "*err"; this fixes what
66324         appears to be a real bug.
66325         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
66326         versus int.
66327
66328 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66329
66330         * modules/regex (Depends-on): Add malloc, since the code
66331         assumes that !malloc(0) means failure.
66332
66333 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66334
66335         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
66336
66337         alloca modernization/simplification for regex.
66338         * lib/regex.c: Remove portability cruft for alloca.  This no longer
66339         needs to be at the start of the file, and can be moved into
66340         regex_internal.h and simplified.
66341         * lib/regex_internal.h: Include <alloca.h>.
66342         (__libc_use_alloca) [!defined _LIBC]: New macro.
66343         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
66344         now works outside glibc.
66345
66346 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66347
66348         * config/srclist.txt: Add glibc bugs 1241, 1245.
66349
66350 2005-08-25  Jim Meyering  <jim@meyering.net>
66351
66352         * lib/open-safer.c: Include <config.h>.
66353         Otherwise, we'd lose LARGEFILE support in any file using
66354         e.g. "fcntl--.h"
66355
66356 2005-08-25  Bruno Haible  <bruno@clisp.org>
66357
66358         * m4/minmax.m4: Require autoconf 2.52.
66359         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
66360         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
66361         alternatives of translit over the alphabet.
66362         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
66363
66364 2005-08-24  Simon Josefsson  <jas@extundo.com>
66365
66366         * tests/test-getpass.c: New file.
66367
66368 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66369
66370         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
66371         for GNU regex features.
66372
66373 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66374
66375         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
66376         * lib/regex.h (regerror): Likewise.
66377
66378         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
66379         requires this.  (The code never needed it.)
66380
66381         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
66382         All uses of recently-renamed identifiers changed to use the new,
66383         POSIX-compliant names.  The code will build and run just fine
66384         without these changes, but it's better to eat our own dog food
66385         and use the standard-conforming names.
66386
66387         * lib/regex.h: Fix a multitude of POSIX name space violations.
66388         These changes have an effect only for programs that define
66389         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
66390         do not change anything for programs compiled in the normal way.
66391         Also, there is no effect on the ABI.
66392
66393         (_REGEX_SOURCE): New macro.
66394         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
66395         defined and _GNU_SOURCE is not; this fixes a name space violation.
66396
66397         Rename the following macros to obey POSIX requirements.
66398         The old names are still visible as macros if _REGEX_SOURCE is defined.
66399         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
66400         RE_BACKSLASH_ESCAPE_IN_LISTS.
66401         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
66402         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
66403         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
66404         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
66405         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
66406         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
66407         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
66408         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
66409         (REG_INTERVALS): renamed from RE_INTERVALS.
66410         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
66411         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
66412         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
66413         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
66414         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
66415         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
66416         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
66417         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
66418         RE_UNMATCHED_RIGHT_PAREN_ORD.
66419         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
66420         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
66421         (REG_DEBUG): renamed from RE_DEBUG.
66422         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
66423         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
66424         unusual, since we can't clash with the POSIX REG_ICASE.
66425         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
66426         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
66427         (REG_NO_SUB): renamed from RE_NO_SUB.
66428         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
66429         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
66430         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
66431         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
66432         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
66433         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
66434         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
66435         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
66436         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
66437         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
66438         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
66439         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
66440         RE_SYNTAX_POSIX_MINIMAL_BASIC.
66441         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
66442         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
66443         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
66444         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
66445         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
66446         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
66447         (REG_FIXED): Renamed from REGS_FIXED.
66448         (REG_NREGS): Renamed from RE_NREGS.
66449
66450         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
66451         of other REG_* macros, since POSIX says the user is allowed to
66452         #undef these macros selectively.
66453
66454         (reg_errcode_t): Update comment stating what other tables need
66455         to be consistent.
66456
66457         Rename the following enum values to obey POSIX requirements.
66458         The old names are still visible as macros.
66459         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
66460         is not defined, since GNU is supposed to be a superset of POSIX as
66461         much as possible, and since we want reg_errcode_t to be a signed
66462         type for implementation consistency.
66463         (_REG_NOERROR): Renamed from REG_NOERROR.
66464         (_REG_NOMATCH): Renamed from REG_NOMATCH.
66465         (_REG_BADPAT): Renamed from REG_BADPAT.
66466         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
66467         (_REG_ECTYPE): Renamed from REG_ECTYPE.
66468         (_REG_EESCAPE): Renamed from REG_EESCAPE.
66469         (_REG_ESUBREG): Renamed from REG_ESUBREG.
66470         (_REG_EBRACK): Renamed from REG_EBRACK.
66471         (_REG_EPAREN): Renamed from REG_EPAREN.
66472         (_REG_EBRACE): Renamed from REG_EBRACE.
66473         (_REG_BADBR): Renamed from REG_BADBR.
66474         (_REG_ERANGE): Renamed from REG_ERANGE.
66475         (_REG_ESPACE): Renamed from REG_ESPACE.
66476         (_REG_BADRPT): Renamed from REG_BADRPT.
66477         (_REG_EEND): Renamed from REG_EEND.
66478         (_REG_ESIZE): Renamed from REG_ESIZE.
66479         (_REG_ERPAREN): Renamed from REG_ERPAREN.
66480         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
66481         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
66482         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
66483         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
66484
66485         (_REG_RE_NAME, _REG_RM_NAME): New macros.
66486         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
66487         changed.  But support the old name if the new one is not defined
66488         and if _REGEX_SOURCE.
66489
66490         Change the following member names in struct re_pattern_buffer.
66491         The old names are still supported if !_REGEX_SOURCE.
66492         The new names are always supported, regardless of _REGEX_SOURCE.
66493         (re_buffer): Renamed from buffer.
66494         (re_allocated): Renamed from allocated.
66495         (re_used): Renamed from used.
66496         (re_syntax): Renamed from syntax.
66497         (re_fastmap): Renamed from fastmap.
66498         (re_translate): Renamed from translate.
66499         (re_can_be_null): Renamed from can_be_null.
66500         (re_regs_allocated): Renamed from regs_allocated.
66501         (re_fastmap_accurate): Renamed from fastmap_accurate.
66502         (re_no_sub): Renamed from no_sub.
66503         (re_not_bol): Renamed from not_bol.
66504         (re_not_eol): Renamed from not_eol.
66505         (re_newline_anchor): Renamed from newline_anchor.
66506
66507         Change the following member names in struct re_registers.
66508         The old names are still supported if !_REGEX_SOURCE.
66509         The new names are always supported, regardless of _REGEX_SOURCE.
66510         (rm_num_regs): Renamed from num_regs.
66511         (rm_start): Renamed from start.
66512         (rm_end): Renamed from end.
66513
66514         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
66515         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
66516         Prepend __ to parameter names.
66517
66518         Undo yesterday's changes.
66519
66520 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66521
66522         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
66523         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
66524         lib/regex.c.
66525
66526 2005-08-24  Jim Meyering  <jim@meyering.net>
66527
66528         Sync from coreutils.
66529         * m4/fcntl-safer.m4: New file.
66530
66531         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
66532         and object files for this module.
66533
66534 2005-08-24  Jim Meyering  <jim@meyering.net>
66535
66536         Sync from coreutils.
66537         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
66538
66539 2005-08-24  Jim Meyering  <jim@meyering.net>
66540
66541         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
66542         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
66543
66544 2005-08-24  Jim Meyering  <jim@meyering.net>
66545
66546         * modules/fcntl-safer: New module.
66547         * modules/fts (Depends-on): Add fcntl-safer.
66548         * MODULES.html.sh (File descriptor based Input/Output):
66549         Add fcntl-safer.
66550
66551 2005-08-24  Bruno Haible  <bruno@clisp.org>
66552
66553         Support for unit test modules.
66554         * modules/README: Mention tests modules.
66555         * modules/TEMPLATE-TESTS: New file.
66556         * gnulib-tool: New options --extract-tests-module, --with-tests and
66557         --tests-base (unused for the moment).
66558         (testsbase, inctests): New variables.
66559         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
66560         (func_verify_module): Exclude TEMPLATE-TESTS.
66561         (func_verify_nontests_module, func_verify_tests_module): New functions.
66562         (func_get_dependencies): Add implicit dependency for tests modules.
66563         (func_get_tests_module): New function.
66564         (func_modules_transitive_closure): When --with-tests was specified,
66565         include the unit tests as well, unless explicitly avoided.
66566         (func_emit_lib_Makefile_am): Ignore the tests modules here.
66567         (func_emit_tests_Makefile_am): New function.
66568         (func_create_testdir): When --with-tests was specified, emit a
66569         tests/ directory.
66570         * MODULES.html.sh (Future developments): Update.
66571
66572 2005-08-24  Bruno Haible  <bruno@clisp.org>
66573
66574         * modules/tls-tests: New file.
66575         * tests/test-tls.c: New file, from GNU gettext.
66576
66577 2005-08-24  Bruno Haible  <bruno@clisp.org>
66578
66579         * modules/lock-tests: New file.
66580         * tests/test-lock.c: New file, from GNU gettext.
66581
66582 2005-08-24  Bruno Haible  <bruno@clisp.org>
66583
66584         * lib/lock.h: Add multiple inclusion guard.
66585         * lib/tls.h: Add multiple inclusion guard.
66586
66587 2005-08-24  Bruno Haible  <bruno@clisp.org>
66588
66589         * gnulib-tool: Add support for the --aux-dir option to
66590         --create-testdir, --create-megatestdir, --test, --megatest.
66591         (func_create_testdir, func_create_megatestdir): Optionally emit a
66592         AC_CONFIG_AUX_DIR directive.
66593         (create-testdir, create-megatestdir, test, megatest): Provide a
66594         default value for $auxdir.
66595
66596 2005-08-24  Bruno Haible  <bruno@clisp.org>
66597
66598         * gnulib-tool (import): Use compound statement instead of subshell
66599         where possible.
66600
66601 2005-08-24  Bruno Haible  <bruno@clisp.org>
66602
66603         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66604
66605 2005-08-24  Bruno Haible  <bruno@clisp.org>
66606
66607         * gnulib-tool (func_version): Update.
66608
66609 2005-08-24  Bruno Haible  <bruno@clisp.org>
66610
66611         * gnulib-tool (func_import, func_create_testdir,
66612         func_create_megatestdir): Quote all autoconf macro arguments.
66613
66614 2005-08-24  Bruno Haible  <bruno@clisp.org>
66615
66616         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66617         option --force, because --force causes the aclocal.m4 of each
66618         subdirectory to be newer than the corresponding config.h.in.
66619
66620 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66621
66622         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66623         All contents moved to gl_REGEX.
66624         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66625         assume that it does.
66626
66627 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66628
66629         * lib/regex.h (REG_NOSYS)
66630         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
66631         Define, since POSIX requires it as of 2001.
66632         (_REG_ENOSYS)
66633         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
66634         New private symbol, used to keep the enum signed in all cases.
66635         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
66636         Youngman in
66637         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
66638
66639         * lib/regex_internal.c (re_string_skip_chars, register_state):
66640         (calc_state_hash):
66641         Remove forward decls; no longer needed now that we use prototypes.
66642         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
66643         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
66644         (clean_state_log_if_needed): Likewise.
66645
66646 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66647
66648         * config/srclist.txt: Add glibc bugs 1231-1233.
66649
66650 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66651
66652         Fix problems reported by Sam Steingold in
66653         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
66654         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
66655         assumed that reg_errcode_t is a signed type, which is not
66656         necessarily true if _XOPEN_SOURCE is not defined.
66657         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
66658         since some compilers warn about it otherwise.
66659
66660 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66661
66662         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
66663         (init_word_char, create_initial_state, duplicate_node_closure):
66664         (fetch_token, peek_token_bracket, build_range_exp):
66665         (build_collating_symbol): Remove forward decls; no longer needed
66666         now that we use prototypes.
66667
66668         * lib/regcomp.c:
66669         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
66670         (re_compile_fastmap_iter, regcomp, regerror, regfree):
66671         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
66672         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
66673         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
66674         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
66675         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
66676         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
66677         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
66678         (build_range_exp, build_collating_symbol, parse_bracket_exp):
66679         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
66680         (build_charclass, build_charclass_op, fetch_number, create_tree):
66681         (create_token_tree, mark_opt_subexp, duplicate_tree):
66682         Use prototypes rather than old-style definitions.
66683
66684         * lib/regex_internal.c:
66685         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
66686         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
66687         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66688         (re_string_reconstruct, re_string_peek_byte_case):
66689         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
66690         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66691         (re_node_set_init_copy, re_node_set_add_intersect):
66692         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66693         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66694         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66695         (re_acquire_state, re_acquire_state_context, register_state):
66696         (create_ci_newstate, create_cd_newstate, free_state):
66697         Likewise.
66698         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
66699         re_search_2):
66700         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
66701         (re_search_internal, prune_impossible_nodes):
66702         (acquire_init_state_context, check_matching, static):
66703         (check_halt_node_context, check_halt_state_context, proceed_next_node):
66704         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
66705         (update_regs, sift_states_backward, build_sifted_states):
66706         (clean_state_log_if_needed, merge_state_array):
66707         (update_cur_sifted_state, add_epsilon_src_nodes):
66708         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
66709         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
66710         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
66711         (find_recover_state, check_subexp_matching_top, transit_state_mb):
66712         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
66713         (check_arrival, check_arrival_add_next_nodes):
66714         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66715         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66716         (check_node_accept_bytes, check_node_accept, extend_buffers):
66717         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
66718         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
66719         (sift_ctx_init):
66720         Likewise.
66721
66722         * lib/regex_internal.h:
66723         (re_string_allocate, re_string_construct, re_string_reconstruct):
66724         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
66725         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
66726         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
66727         (re_string_context_at, re_string_peek_byte_case):
66728         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
66729         is defined, since we now use prototypes always.
66730
66731         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
66732         C89 or better.  All uses removed.
66733
66734 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66735
66736         * config/srclist.txt: Add glibc bugs 1220-1227.
66737
66738 2005-08-20  Jim Meyering  <jim@meyering.net>
66739
66740         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
66741         of unused local, dfa.
66742
66743 2005-08-20  Bruno Haible  <bruno@clisp.org>
66744
66745         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
66746
66747 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66748
66749         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
66750         (re_node_set_insert_last, re_dfa_add_node):
66751         Rename local variables to avoid GCC shadowing warnings.
66752
66753 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66754
66755         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
66756         [defined lint]: Suppress bogus uninitialized-variable warnings.
66757
66758         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
66759         and let the caller return REG_ESPACE if out of space.  This
66760         removes an uninitialied-variable warning with GCC 4.0.1, and also
66761         avoids taking the address of a local variable.  All callers
66762         changed.
66763
66764 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66765
66766         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
66767         $LIBCSRC/posix/regexec.c.
66768         Add glibc bug 1217 for regcomp.c.
66769
66770 2005-08-19  Jim Meyering  <jim@meyering.net>
66771
66772         * lib/regexec.c (proceed_next_node): Redo local variables to
66773         avoid GCC shadowing warnings.
66774
66775 2005-08-18  Bruno Haible  <bruno@clisp.org>
66776
66777         * lib/strstr.c (strstr): Fix return value in multibyte case.
66778         * lib/strcasestr.c (strcasestr): Likewise.
66779
66780 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66781
66782         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
66783
66784 2005-08-17  Jim Meyering  <jim@meyering.net>
66785
66786         Make the %s format (seconds since the epoch) work for a negative
66787         number and when used with a zero-padded field width, e.g. %015s.
66788
66789         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
66790         label so that it precedes the code to set `digits'.  Otherwise,
66791         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
66792         print `00-22'.  Now, it prints `-0022', as it should.
66793
66794 2005-08-17  Bruno Haible  <bruno@clisp.org>
66795
66796         * modules/strstr (Files): Add m4/mbrtowc.m4.
66797         (Depends-on): Add mbuiter.
66798
66799 2005-08-17  Bruno Haible  <bruno@clisp.org>
66800
66801         * modules/strcasestr: New file.
66802         * MODULES.html.sh (String handling, based on ANSI C 89): Add
66803         strcasestr.
66804
66805 2005-08-17  Bruno Haible  <bruno@clisp.org>
66806
66807         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
66808
66809 2005-08-17  Bruno Haible  <bruno@clisp.org>
66810
66811         * modules/mbuiter: New file.
66812         * MODULES.html.sh (Extended multibyte and wide character utilities):
66813         Add mbuiter.
66814
66815 2005-08-17  Bruno Haible  <bruno@clisp.org>
66816
66817         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
66818         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
66819
66820 2005-08-17  Bruno Haible  <bruno@clisp.org>
66821
66822         * m4/strcasestr.m4: New file.
66823
66824 2005-08-17  Bruno Haible  <bruno@clisp.org>
66825
66826         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
66827         * lib/strstr.c: Completely rewritten, with multibyte locale support.
66828
66829 2005-08-17  Bruno Haible  <bruno@clisp.org>
66830
66831         * lib/strcasestr.h: New file.
66832         * lib/strcasestr.c: New file.
66833
66834 2005-08-17  Bruno Haible  <bruno@clisp.org>
66835
66836         * lib/strcasecmp.c: Use mbuiter.h.
66837
66838 2005-08-17  Bruno Haible  <bruno@clisp.org>
66839
66840         * lib/mbuiter.h: New file.
66841
66842 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66843
66844         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
66845         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
66846         and gl_GETOPT are both invoked via different paths (as happens
66847         with GNU tar CVS because it uses both argp and getopt), the former
66848         wins.
66849
66850 2005-08-16  Bruno Haible  <bruno@clisp.org>
66851
66852         * modules/tls: New file.
66853         * MODULES.html.sh (Multithreading): Add tls.
66854
66855 2005-08-16  Bruno Haible  <bruno@clisp.org>
66856
66857         * modules/strnlen1: New file.
66858         * MODULES.html.sh (String handling): Add strnlen1.
66859
66860 2005-08-16  Bruno Haible  <bruno@clisp.org>
66861
66862         * modules/strcase (Files): Add m4/mbrtowc.m4.
66863         (Depends-on): Add strnlen1, mbchar.
66864
66865 2005-08-16  Bruno Haible  <bruno@clisp.org>
66866
66867         * modules/mbiter: New file.
66868         * MODULES.html.sh (Extended multibyte and wide character utilities):
66869         Add mbiter.
66870
66871 2005-08-16  Bruno Haible  <bruno@clisp.org>
66872
66873         * modules/mbfile: New file.
66874         * MODULES.html.sh (Extended multibyte and wide character utilities):
66875         Add mbfile.
66876
66877 2005-08-16  Bruno Haible  <bruno@clisp.org>
66878
66879         * modules/mbchar: New file.
66880         * MODULES.html.sh (Extended multibyte and wide character utilities):
66881         New section.
66882
66883 2005-08-16  Bruno Haible  <bruno@clisp.org>
66884
66885         * m4/tls.m4: New file, from GNU gettext.
66886
66887 2005-08-16  Bruno Haible  <bruno@clisp.org>
66888
66889         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
66890         always.
66891         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
66892
66893 2005-08-16  Bruno Haible  <bruno@clisp.org>
66894
66895         * m4/mbiter.m4: New file.
66896
66897 2005-08-16  Bruno Haible  <bruno@clisp.org>
66898
66899         * m4/mbfile.m4: New file.
66900
66901 2005-08-16  Bruno Haible  <bruno@clisp.org>
66902
66903         * m4/mbchar.m4: New file.
66904
66905 2005-08-16  Bruno Haible  <bruno@clisp.org>
66906
66907         * lib/tls.h: New file, from GNU gettext.
66908         * lib/tls.c: New file, from GNU gettext.
66909
66910 2005-08-16  Bruno Haible  <bruno@clisp.org>
66911
66912         * lib/strnlen1.h: New file.
66913         * lib/strnlen1.c: New file.
66914
66915 2005-08-16  Bruno Haible  <bruno@clisp.org>
66916
66917         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
66918         (mbi_init): Update.
66919         (mbi_avail, mbi_advance): Let the iteration end before the terminating
66920         NUL byte, not after it.
66921
66922 2005-08-16  Bruno Haible  <bruno@clisp.org>
66923
66924         * lib/strcase.h (strcasecmp): Add note in comments.
66925         * lib/strncasecmp.c: Use code from strcasecmp.c.
66926         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
66927         (strcasecmp): Work correctly in multibyte locales.
66928
66929 2005-08-16  Bruno Haible  <bruno@clisp.org>
66930
66931         * lib/mbiter.h: New file.
66932
66933 2005-08-16  Bruno Haible  <bruno@clisp.org>
66934
66935         * lib/mbfile.h: New file.
66936
66937 2005-08-16  Bruno Haible  <bruno@clisp.org>
66938
66939         * lib/mbchar.h: New file.
66940         * lib/mbchar.c: New file.
66941
66942 2005-08-16  Bruno Haible  <bruno@clisp.org>
66943
66944         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
66945         the valid ones. Makes the comparison operations transitive:
66946         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
66947         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
66948
66949 2005-08-15  Simon Josefsson  <jas@extundo.com>
66950
66951         * modules/ssize_t (License): Change to 'unlimited'.
66952
66953         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
66954
66955 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66956
66957         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
66958         Add comments for each pending glibc patch.
66959
66960 2005-08-15  Bruno Haible  <bruno@clisp.org>
66961
66962         * lib/regex.h (__restrict_arr): Don't define to __restrict if
66963         __cplusplus is defined.
66964
66965 2005-08-14  Jim Meyering  <jim@meyering.net>
66966
66967         Sync from coreutils.
66968
66969         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
66970         Use the hash-table-based cycle-detection code not just when
66971         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
66972         Reported by James Youngman in
66973         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
66974         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
66975         FTS_TIGHT_CYCLE_CHECK.
66976         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
66977         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
66978         once again.
66979         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
66980         * lib/fts.c (fd_safer): Remove decl.
66981         Include fcntl--.h rather than unistd-safer.h
66982         (fts_safe_changedir): Don't call fd_safer; no longer needed
66983         now that we include fcntl--.h.
66984
66985 2005-08-12  Simon Josefsson  <jas@extundo.com>
66986
66987         * modules/getndelim2: Use ssize_t module.
66988         * modules/getnline: Likewise.
66989         * modules/safe-read: Likewise.
66990         * modules/xreadlink: Likewise.
66991
66992         * modules/ssize_t: New file.
66993
66994 2005-08-12  Simon Josefsson  <jas@extundo.com>
66995
66996         * m4/readline.m4: Look for termcap, curses or ncurses if required.
66997
66998 2005-08-12  Simon Josefsson  <jas@extundo.com>
66999
67000         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67001         ssize_t.
67002
67003 2005-08-12  Simon Josefsson  <jas@extundo.com>
67004
67005         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
67006         readline, getdelim and check_version.
67007         (Support for systems lacking ISO C 99: Sizes of integer types):
67008         Add size_max.
67009
67010 2005-08-12  Bruno Haible  <bruno@clisp.org>
67011
67012         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
67013
67014 2005-08-11  Simon Josefsson  <jas@extundo.com>
67015
67016         * modules/readline: New file.
67017
67018         * modules/strnlen (Files): Add strnlen.h.
67019
67020 2005-08-11  Simon Josefsson  <jas@extundo.com>
67021
67022         * m4/readline.m4: New file.
67023
67024 2005-08-11  Simon Josefsson  <jas@extundo.com>
67025
67026         * lib/readline.h, readline.c: New file.
67027
67028 2005-08-11  Simon Josefsson  <jas@extundo.com>
67029
67030         * doc/gnulib.texi (Initial import, Finishing touches): Mention
67031         gl_AVOID.
67032
67033 2005-08-11  Bruno Haible  <bruno@clisp.org>
67034
67035         * lib/strnlen.h (strnlen): Change parameter name to match comment.
67036
67037 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
67038
67039         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
67040
67041 2005-08-10  Simon Josefsson  <jas@extundo.com>
67042
67043         * tests/test-iconvme.c: New file.
67044
67045 2005-08-10  Simon Josefsson  <jas@extundo.com>
67046
67047         * m4/strnlen.m4: New file.
67048
67049         * m4/strndup.m4: Don't check for strnlen declaration, done in
67050         strnlen.m4.
67051
67052 2005-08-10  Simon Josefsson  <jas@extundo.com>
67053
67054         * lib/strndup.c: Use strnlen.h.
67055
67056         * lib/strnlen.h: New file.
67057
67058 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67059
67060         * README: Typos.
67061
67062 2005-08-02  Simon Josefsson  <jas@extundo.com>
67063
67064         * modules/readline: New file.
67065
67066 2005-08-02  Simon Josefsson  <jas@extundo.com>
67067
67068         * modules/getdelim: New file.
67069
67070         * modules/getline: Rewrite, don't use getndelim2.
67071
67072 2005-08-02  Simon Josefsson  <jas@extundo.com>
67073
67074         * m4/getline.m4: Separate out getdelim stuff into separate module.
67075
67076         * m4/getdelim.m4: New file.
67077
67078 2005-08-02  Simon Josefsson  <jas@extundo.com>
67079
67080         * lib/getline.h, getline.c: Rewrite.
67081
67082         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
67083
67084 2005-07-31  Bruno Haible  <bruno@clisp.org>
67085
67086         * lib/lock.h (gl_lock_initializer): New macro.
67087         (gl_lock_define_initialized): Use it.
67088         (gl_rwlock_initializer): New macro.
67089         (gl_rwlock_define_initialized): Use it.
67090         (gl_recursive_lock_initializer): New macro.
67091         (gl_recursive_lock_define_initialized): Use it.
67092
67093 2005-07-30  Karl Berry  <karl@gnu.org>
67094
67095         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
67096         Report from Ben Pfaff, regarding getopt.
67097
67098 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
67099
67100         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
67101         normal way.
67102         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
67103         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
67104         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
67105         (gl_GETOPT): Use the new macros.  Most of the implementation
67106         is moved to the new macros.  This is for programs like Emacs
67107         that don't want all the functionality of gl_GETOPT.
67108
67109 2005-07-26  Bruno Haible  <bruno@clisp.org>
67110
67111         * m4/lock.m4: Update from GNU gettext.
67112
67113 2005-07-26  Bruno Haible  <bruno@clisp.org>
67114
67115         * lib/lock.h: Update from GNU gettext.
67116         * lib/lock.c: Update from GNU gettext.
67117
67118 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
67119
67120         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
67121         obsolescent AC_TRY_RUN.  Include the default includes files, for
67122         'exit'.
67123
67124 2005-07-24  Bruno Haible  <bruno@clisp.org>
67125
67126         * modules/visibility: New file.
67127         * MODULES.html.sh (Misc): Add visibility.
67128
67129 2005-07-24  Bruno Haible  <bruno@clisp.org>
67130
67131         * m4/visibility.m4: New file.
67132
67133 2005-07-24  Bruno Haible  <bruno@clisp.org>
67134
67135         * doc/visibility.texi: New file.
67136
67137 2005-07-22  Bruno Haible  <bruno@clisp.org>
67138
67139         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
67140         $(ALLOCA_H), redundant through BUILT_SOURCES.
67141         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
67142         redundant through BUILT_SOURCES.
67143         * modules/byteswap (Makefile.am): Remove explicit dependency on
67144         $(BYTESWAP_H), redundant through BUILT_SOURCES.
67145         * modules/fnmatch (Makefile.am): Remove explicit dependency on
67146         $(FNMATCH_H), redundant through BUILT_SOURCES.
67147         * modules/getopt (Makefile.am): Remove explicit dependency on
67148         $(GETOPT_H), redundant through BUILT_SOURCES.
67149         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
67150         redundant through BUILT_SOURCES.
67151         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
67152         redundant through BUILT_SOURCES.
67153         * modules/stdbool (Makefile.am): Remove explicit dependency on
67154         $(STDBOOL_H), redundant through BUILT_SOURCES.
67155         * modules/stdint (Makefile.am): Remove explicit dependency on
67156         $(STDINT_H), redundant through BUILT_SOURCES.
67157         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
67158         Remove explicit dependency on $(SYSEXITS_H).
67159         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
67160
67161 2005-07-18  Simon Josefsson  <jas@extundo.com>
67162
67163         * lib/check-version.c (check_version): Accept identical versions too.
67164
67165 2005-07-18  Bruno Haible  <bruno@clisp.org>
67166
67167         * modules/lock: New file.
67168         * MODULES.html.sh (Multithreading): New section.
67169
67170 2005-07-18  Bruno Haible  <bruno@clisp.org>
67171
67172         * m4/lock.m4: New file, from GNU gettext.
67173
67174 2005-07-18  Bruno Haible  <bruno@clisp.org>
67175
67176         * lib/lock.h: New file, from GNU gettext.
67177         * lib/lock.c: New file, from GNU gettext.
67178
67179 2005-07-18  Bruno Haible  <bruno@clisp.org>
67180
67181         * lib/lock.h (gl_once_t): New type.
67182         (gl_once_define, gl_once): New macros.
67183         * lib/lock.c (fresh_once): New variable.
67184         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
67185         functions.
67186
67187 2005-07-16  Simon Josefsson  <jas@extundo.com>
67188
67189         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
67190         workaround, suggested by Bruno.
67191
67192 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67193
67194         * modules/xalloc (Depends-on): Add xalloc-die.
67195         * modules/xvasprintf (Depends-on): Add xalloc-die.
67196
67197 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67198
67199         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
67200         with a minor change.
67201
67202 2005-07-15  Bruno Haible  <bruno@clisp.org>
67203
67204         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
67205         When using lib/poll.c, define poll as rpl_poll.
67206
67207 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
67208
67209         * modules/argp (Depends-on): Remove unlocked-io.
67210
67211 2005-07-14  Derek Price  <derek@ximbiot.com>
67212
67213         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
67214         for glob symlink bug.
67215
67216 2005-07-14  Bruno Haible  <bruno@clisp.org>
67217
67218         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
67219         Instead, test for *_unlocked function declarations directly.
67220
67221 2005-07-11  Simon Josefsson  <jas@extundo.com>
67222
67223         * modules/size_max: New file.
67224
67225         * modules/xsize: Depend on size_max module for size_max.m4.
67226
67227 2005-07-11  Simon Josefsson  <jas@extundo.com>
67228
67229         * lib/size_max.h: New file.
67230
67231 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
67232
67233         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
67234         copyright symbol and the year.
67235         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
67236         (version_etc_va): Use parameterized copyright notice.
67237         Reword to conform to the current GNU coding standards.
67238
67239 2005-07-11  Karl Berry  <karl@gnu.org>
67240
67241         * doc/gnulib.texi (Quoting): new node.
67242         (Initial import): more info, from Patrice.
67243
67244 2005-07-11  Bruno Haible  <bruno@clisp.org>
67245
67246         * gnulib-tool (func_usage): Document option --avoid.
67247         (Command line options): Handle --avoid.
67248         (func_acceptable): New function.
67249         (func_modules_transitive_closure): Use it.
67250
67251 2005-07-11  Bruno Haible  <bruno@clisp.org>
67252
67253         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
67254         Reported by Jim Meyering.
67255
67256 2005-07-10  Bruno Haible  <bruno@clisp.org>
67257
67258         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
67259         Needed when size_t is smaller than 'unsigned int'.
67260         Reported by Paul Eggert.
67261
67262 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67263
67264         * modules/argp (Depends-on): Add unlocked-io
67265
67266 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67267
67268         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
67269         block of defines.
67270
67271 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67272
67273         * config/srclist.txt: Comment out regcomp.c, since we have a porting
67274         fix now.
67275
67276 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
67277         and Paul Eggert  <eggert@cs.ucla.edu>
67278
67279         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
67280         in wint_t, not wchar_t.  Remove now-unnecessary cast.
67281
67282 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67283
67284         * modules/regex (Files): Add lib/regex_internal.c,
67285         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
67286         (Depends-on): Add extensions.
67287         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
67288
67289 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67290
67291         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
67292         pathconf.
67293         * m4/same.m4 (gl_SAME): Likewise.
67294         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
67295
67296         * m4/regex.m4: Adjust to new libc regex implementation.
67297         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
67298         all the .c and .h parts of (the new) regex.
67299         Quote the m4 stuff better.
67300         Check for RE_ICASE bug of old gnulib.
67301         Check for REG_STARTEND of recent libc.
67302         Rename local variables from jm_* to gl_*.
67303         Quote operand of "test -f".
67304         Say "recent enough" version of libc, not "version 2".
67305         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
67306         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
67307         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
67308         Remove check for btowc, isascii.
67309         Require AM_LANGINFO_CODESET.
67310
67311 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67312
67313         * lib/regex.c, regex.h: Sync from libc.
67314         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
67315         * lib/regexec.c:
67316         New files, synced from libc, except that regex_internal.h
67317         currently has a small porting fix.
67318
67319 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67320
67321         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
67322         regex_internal.c, regexec.c.
67323         Add regex_internal.h too, but as a comment, since the libc version
67324         is currently broken in gnulib mode.
67325
67326 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67327
67328         Support programs like Emacs that use gnulib but not gettext.
67329         * MODULES.html.sh (Internationalization functions): Add gettext-h.
67330         * modules/gettext-h: New file.
67331         * modules/gettext (Files): Remove lib/gettext.h.
67332         (Depends-on): Add gettext-h.
67333         (Makefile.am): Remove lib_SOURCES.
67334         * modules/argmatch, modules/c-stack, modules/closeout:
67335         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
67336         * modules/execute, modules/file-type, modules/getaddrinfo:
67337         * modules/getopt, modules/human, modules/javacomp:
67338         * modules/javaexec, modules/mkdir-p, modules/obstack:
67339         * modules/openat, modules/pagealign_alloc, modules/pipe:
67340         * modules/quotearg, modules/regex, modules/rpmatch:
67341         * modules/unicodeio, modules/userspec, modules/version-etc:
67342         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
67343         * modules/xsetenv:
67344         Depend on gettext-h, not gettext.
67345
67346 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67347
67348         * gnulib-tool (func_import): Add support for 'public domain' license.
67349         * modules/alloca, modules/atexit, modules/memmove:
67350         Now public domain, not GPL.
67351         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
67352         * modules/realloc, modules/strerror, modules/strtod:
67353         Now LGPL, not GPL.
67354
67355 2005-07-05  Bruno Haible  <bruno@clisp.org>
67356
67357         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
67358         autoconf CVS. Needed for mingw.
67359
67360 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67361
67362         Remove the dependency of the strftime module on the tzset module.
67363         * modules/strftime (Depends-on): Remove dependency on tzset.
67364
67365 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67366
67367         Remove the dependency of the strftime module on the tzset module.
67368         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
67369         gl_FUNC_TZSET_CLOBBER.
67370
67371 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67372
67373         Remove the dependency of the strftime module on the tzset module.
67374         * lib/strftime.c (my_strftime)
67375         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
67376         Copy the input structure, to work around some of the bug with
67377         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
67378         Solaris releases, you should also use the tzset module, but we won't
67379         require it as a dependency any more since we don't want LGPLed code
67380         to depend on GPLed code.
67381
67382 2005-07-02  Jim Meyering  <jim@meyering.net>
67383
67384         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
67385         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
67386         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
67387         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
67388
67389 2005-07-02  Jim Meyering  <jim@meyering.net>
67390
67391         * lib/backupfile.c (backup_args): Change a `0' to NULL.
67392
67393 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67394
67395         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
67396         declares only 'struct timespec;' (!).
67397
67398 2005-07-01  Jim Meyering  <jim@meyering.net>
67399
67400         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
67401         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
67402         * lib/save-cwd.c, tempname.c:
67403         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67404         and don't include <sys/file.h>).
67405
67406 2005-06-29  Jim Meyering  <jim@meyering.net>
67407
67408         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
67409         type name.  Use the variable name instead.
67410         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
67411         Likewise.
67412
67413 2005-06-28  Simon Josefsson  <jas@extundo.com>
67414
67415         * modules/check-version (Files): Add check-version.m4.
67416
67417 2005-06-28  Simon Josefsson  <jas@extundo.com>
67418
67419         * m4/check-version.m4: New file, suggested by Jim Meyering
67420         <jim@meyering.net>.
67421
67422 2005-06-28  Simon Josefsson  <jas@extundo.com>
67423
67424         * lib/check-version.h, lib/check-version.c: New files.
67425
67426 2005-06-28  Simon Josefsson  <jas@extundo.com>
67427
67428         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
67429         collision with global variable.  Better indentation.  Don't
67430         increment buffer pointer beyond buffer end.  Based on comments
67431         from Paul Eggert <eggert@cs.ucla.edu>.
67432
67433         * lib/base64.h: Indent.
67434
67435 2005-06-28  Simon Josefsson  <jas@extundo.com>
67436
67437         * doc/gnulib.texi (Library version handling): New section.
67438
67439 2005-06-28  Jim Meyering  <jim@meyering.net>
67440
67441         * check-module (find_included_lib_files): Hard-code another
67442         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
67443         but modules/fts-lgpl (correctly) does not list those files.
67444
67445         * modules/canonicalize (Files): Add lib/pathmax.h.
67446
67447 2005-06-25  Simon Josefsson  <jas@extundo.com>
67448
67449         * modules/check-version: New file.
67450
67451 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
67452
67453         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
67454         initializer of struct addrinfo, as an indication that we don't
67455         care how many members the structure has.
67456
67457 2005-06-24  Derek Price  <derek@ximbiot.com>
67458         and Bruno Haible  <bruno@clisp.org>
67459
67460         Remove stat module & update lstat.
67461         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
67462         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67463         * m4/stat.m4: Remove this file.
67464
67465 2005-06-24  Derek Price  <derek@ximbiot.com>
67466         and Bruno Haible  <bruno@clisp.org>
67467
67468         Remove stat module & update lstat.
67469         * lib/stat.c: Remove this file...
67470         (slash_aware_lstat): ...moving this content and its support...
67471         * lib/lstat.c (rpl_lstat): ...into here.
67472         * lib/lstat.h: New file.
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         * config/srclist.txt (libc sources): Remove stat.
67479
67480 2005-06-24  Derek Price  <derek@ximbiot.com>
67481         and Bruno Haible  <bruno@clisp.org>
67482
67483         Remove stat module & update lstat.
67484         * MODULES.html.sh (stat): Remove.
67485         * MODULES.html: Regenerated.
67486         * modules/lstat (Description): Correct function name.
67487         (Files): Add "lstat.h".
67488         (Depends-on): Remove stat, add xalloc, stat-macros.
67489         * modules/stat: Remove this file.
67490         (Include): Add "lstat.h", remove <sys/stat.h>.
67491
67492 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67493
67494         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
67495         (ranged_convert): Don't save conversion in a temporary struct.
67496         This causes a warning with GCC 4.0.0, and anyway in the typical
67497         case it's not worth the extra 100 bytes or so of code.
67498         (ranged_convert, __mktime_internal): When calling a function via a
67499         pointer P, use P () rather than (*P) (), as we now assume C89 or
67500         better.
67501
67502 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67503
67504         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
67505         "who -r" failed to give output.  Problem reported by Tim Waugh.
67506
67507         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
67508         (xcalloc): Use it to avoid needless tests.
67509         Problem reported by Jim Meyering.
67510
67511 2005-06-20  Derek Price  <derek@ximbiot.com>
67512
67513         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
67514         unnecessary for Autoconfs > 2.59c.
67515
67516 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67517
67518         * lib/argp.h (__option_is_short): Check upper limit of
67519         __key. Isprint() requires its argument to have the value
67520         of an unsigned char or EOF.
67521
67522 2005-06-16  Jim Meyering  <jim@meyering.net>
67523
67524         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
67525         when either N or S is zero.
67526
67527 2005-06-16  Derek Price  <derek@ximbiot.com>
67528
67529         * m4/bison.m4: Declare YACC & YFLAGS precious.
67530
67531 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
67532
67533         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
67534         multibyte string or pattern, fall back on unibyte matching.
67535         Problem reported by James Youngman.
67536
67537 2005-06-08  Bruno Haible  <bruno@clisp.org>
67538
67539         * modules/csharpcomp: New file.
67540         * MODULES.html.sh (C#): Add csharpcomp.
67541
67542 2005-06-08  Bruno Haible  <bruno@clisp.org>
67543
67544         * m4/csharpcomp.m4: New file, from GNU gettext.
67545
67546 2005-06-08  Bruno Haible  <bruno@clisp.org>
67547
67548         * lib/csharpcomp.h: New file, from GNU gettext.
67549         * lib/csharpcomp.c: New file, from GNU gettext.
67550         * lib/csharpcomp.sh.in: New file, from GNU gettext.
67551
67552 2005-06-08  Bruno Haible  <bruno@clisp.org>
67553
67554         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
67555         warning on mingw.
67556
67557 2005-06-07  Derek Price  <derek@ximbiot.com>
67558
67559         Sync from CVS.
67560         * lib/glob_.h: Indent nested #ifdef.
67561
67562 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67563
67564         Sync from coreutils.
67565         Use "file name" when talking about file names, instead of "filename"
67566         or "path", as per the GNU coding standards.
67567         * lib/mkdir-p.c: Renamed from makepath.c.
67568         (make_dir_parents): Renamed from make_path.  All callers changed.
67569         * lib/mkdir-p.h: Likewise.  All includers changed.
67570         * lib/filenamecat.c: Renamed from path-concat.c.
67571         (file_name_concat): Renamed from path_concat.  All callers changed.
67572         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
67573         * lib/filenamecat.h: Likewise.  All includers changed.
67574         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
67575         in comments or local variable names.
67576         * lib/basename.c: Likewise.
67577         * lib/canonicalize.c, canonicalize.h: Likewise.
67578         * lib/dirname.c, dirname.h: Likewise.
67579         * lib/euidaccess.c: Likewise.
67580         * lib/exclude.c: Likewise
67581         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
67582         * lib/fsusage.c, fsuage.h: Likewise.
67583         * lib/fts.c, fts_.h: Likewise.
67584         * lib/getcwd.c: Likewise.
67585         * lib/getloadavg.c: Likewise.
67586         * lib/mkstemp.c: Likewise.
67587         * lib/mountlist.c, mountlist.h: Likewise.
67588         * lib/openat.c, openat.h: Likewise.
67589         * lib/readlink-stub.c: Likewise.
67590         * lib/readutmp.c, readutmp.h: Likewise.
67591         * lib/rename.c: Likewise.
67592         * lib/rmdir.c: Likewise.
67593         * lib/same.c: Likewise.
67594         * lib/savedir.c: Likewise.
67595         * lib/stripslash.c: Likewise.
67596         * lib/tempname.c: Likewise.
67597         * lib/xreadlink.c: Likewise.
67598         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
67599         All uses changed.
67600         * lib/exclude.h: Likewise.
67601
67602         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67603         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67604         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67605         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67606         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67607         files have been getting away with it for years (MORE/BSD 4.3
67608         is extinct now).
67609         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67610         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67611
67612         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67613         Define to 256, not 255, as per modern POSIX.
67614
67615 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67616
67617         Sync from coreutils.
67618         Use "file name" when talking about file names, instead of "filename"
67619         or "path", as per the GNU coding standards.
67620         * MODULES.html.sh: mkdir-p renamed from makepath.
67621         filenamecat renamed from path-concat.
67622         * modules/filenamecat: Renamed from modules/path-concat.
67623         (Files): filenamecat.h and filenamecat.c renamed from
67624         path-concat.h and path-concat.c.
67625         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67626         (Include): filenamecat.h, not path-concat.h.
67627         * modules/mkdir-p: Renamed from modules/makepath.
67628         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
67629         makepath.c.
67630         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
67631         (Include): mkdir-p.h, not makepath.h.
67632
67633 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67634
67635         Sync from coreutils.
67636         * m4/mkdir-p.m4: Renamed from makepath.m4.
67637         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
67638         Rename files from makepath.c to mkdir-p.c, and from
67639         makepath.h to mkdir-p.h.
67640         * m4/filenamecat.m4: Renamed from path-concat.m4.
67641         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
67642         Rename files from path-concat.c to filenamecat.c,
67643         and from path-concat.h to filenamecat.h.
67644         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
67645         "file name" in local variables or comments.
67646         * m4/rename.m4: Likewise.
67647
67648 2005-06-01  Bruno Haible  <bruno@clisp.org>
67649
67650         * modules/csharpexec: New file.
67651         * MODULES.html.sh (C#): New section.
67652
67653 2005-06-01  Bruno Haible  <bruno@clisp.org>
67654
67655         * m4/csharp.m4: New file, from GNU gettext.
67656         * m4/csharpexec.m4: New file, from GNU gettext.
67657
67658 2005-06-01  Bruno Haible  <bruno@clisp.org>
67659
67660         * lib/csharpexec.h: New file, from GNU gettext.
67661         * lib/csharpexec.c: New file, from GNU gettext.
67662         * lib/csharpexec.sh.in: New file, from GNU gettext.
67663
67664 2005-05-31  Derek Price  <derek@ximbiot.com>
67665             Paul Eggert  <eggert@cs.ucla.edu>
67666
67667         Sync from cvs.
67668         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67669
67670 2005-05-31  Derek Price  <derek@ximbiot.com>
67671             Paul Eggert  <eggert@cs.ucla.edu>
67672
67673         Sync from cvs.
67674         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67675
67676 2005-05-29  Derek Price  <derek@ximbiot.com>
67677
67678         * config/srclist.txt (glob_.h, glob.c): Add these files.
67679
67680 2005-05-29  Derek Price  <derek@ximbiot.com>
67681
67682         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
67683         * modules/glob: New file.
67684         * modules/getlogin_r: Add link to POSIX spec in description.
67685
67686 2005-05-29  Derek Price  <derek@ximbiot.com>
67687             Paul Eggert  <eggert@cs.ucla.edu>
67688
67689         * m4/glob.m4: New file.
67690
67691 2005-05-29  Derek Price  <derek@ximbiot.com>
67692             Paul Eggert  <eggert@cs.ucla.edu>
67693
67694         * lib/glob_.h, lib/glob.c: New files.
67695
67696 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67697
67698         * modules/fts (Files): Remove m4/inttypes-pri.m4.
67699         * modules/fts-lgpl (Depends-on): Remove gettext.
67700
67701 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67702
67703         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
67704         and don't require gt_INTTYPES_PRI.
67705
67706 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67707
67708         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
67709
67710         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
67711         the configuration hassle isn't worth it.
67712         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
67713         (LONGEST_MODIFIER, PRIuMAX): Remove.
67714
67715 2005-05-27  Bruno Haible  <bruno@clisp.org>
67716
67717         * lib/getlogin_r.h: Remove second include of <stddef.h>.
67718
67719 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
67720
67721         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
67722         _POSIX_PTHREAD_SEMANTICS for Solaris.
67723
67724 2005-05-25  Derek Price  <derek@ximbiot.com>
67725
67726         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
67727
67728 2005-05-25  Derek Price  <derek@ximbiot.com>
67729             Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         * modules/getlogin_r, m4/getlogin_r.m4: New files.
67732         * lib/getlogin_r.c, getlogin_r.h: New files.
67733
67734 2005-05-25  Bruno Haible  <bruno@clisp.org>
67735             Derek Price  <derek@ximbiot.com>
67736
67737         * lib/getlogin_r.h: Simplify API documentation.
67738
67739 2005-05-23  Derek Price  <derek@ximbiot.com>
67740
67741         * modules/minmax (Files): Add m4/minmax.m4.
67742         (configure.ac): Add gl_MINMAX.
67743
67744 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67745
67746         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
67747         so that unistd-safer.h (GPL'ed code) need not be included.
67748
67749 2005-05-22  Bruno Haible  <bruno@clisp.org>
67750
67751         * m4/minmax.m4: New file.
67752         Based on a patch by Derek Price <derek@ximbiot.com>.
67753
67754 2005-05-22  Bruno Haible  <bruno@clisp.org>
67755
67756         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
67757         (INT64_MIN): Fix definition.
67758         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
67759
67760         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
67761         NEED_SIGNED_INT_TYPES.
67762
67763         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
67764         HAVE_SYSTEM_INTTYPES.
67765
67766 2005-05-22  Bruno Haible  <bruno@clisp.org>
67767
67768         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
67769         Also include <sys/param.h> if it defines MIN, MAX.
67770         Based on a patch by Derek Price <derek@ximbiot.com>.
67771
67772 2005-05-21  Jim Meyering  <jim@meyering.net>
67773
67774         * modules/fts (Files): Add m4/inttypes-pri.m4.
67775         (Depends-on): Add lstat and remove gettext.  Alphabetize.
67776
67777 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67778
67779         New fts module.
67780         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
67781         (setup_dir, free_dir): New functions.
67782         (enter_dir, leave_dir): Define trivial
67783         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
67784         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
67785         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
67786         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
67787         Move to fts-cycle.c.
67788         (fts_open): Use setup_dir.
67789         (fts_close): Use free_dir.
67790         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
67791         This adds a label and some gotos, but the alternatives were messier.
67792         Check for memory allocation failure when entering a dir.
67793         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
67794         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
67795         (FTS): New member fts_cycle, that is a union that contains the
67796         old active_dir_ht and cycle_state.  All uses changed to mention
67797         fts_cycle.ht and fts_cycle.state.
67798         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
67799         fts.c, with the following changes:
67800         (setup_dir, free_dir): New functions.
67801         (enter_dir): Now returns bool.  Return true if successful, false
67802         if memory exhausted.  All callers changed.
67803         Do not bother partly cleaning up on
67804         memory allocation failure; that is free_dir's job.
67805         However, free ad if hash_insert fails, to avoid memory leak.
67806         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
67807         fts->fts_options to see which union member to use.
67808
67809 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67810
67811         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
67812         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
67813
67814 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67815
67816         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
67817
67818 2005-05-20  Jim Meyering  <jim@meyering.net>
67819
67820         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
67821         Now a macro, to pacify GCC.
67822
67823 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67824
67825         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
67826         of -1.
67827
67828 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67829
67830         * lib/chown.c (rpl_chown): Return -1 on failure.
67831
67832 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67833
67834         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
67835         Don't check for stddef.h.
67836         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
67837         don't use its results.
67838         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
67839         since we include them unconditionally.  Don't require
67840         AM_STDBOOL_H, since stdbool is a prerequisite.
67841         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
67842         since we assume C89 or better.
67843         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
67844         as we don't use their results.
67845         Don't check for fchdir, memmove, memset, strrchr, as we use
67846         them unconditionally.
67847         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
67848         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
67849
67850 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67851
67852         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
67853         Include <stddef.h> unconditionally, since we assume C89 now.
67854         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
67855         * lib/fts.c: Include fts_.h first, to check interface.
67856         Do not include intprops.h; no longer needed.
67857         Include cycle-check.h and hash.h, since fts_.h no longer does.
67858         Remove unnecessary casts of closedir to void.
67859         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
67860         decide whether to decrement nlinks.
67861         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
67862         (FTS): Use struct hash_table * instead of Hash_table, so that
67863         we no longer need to include hash.h here.
67864
67865 2005-05-18  Jim Meyering  <jim@meyering.net>
67866
67867         * modules/dirfd (License): Change to LGPL.  Most of the code
67868         is already in the public domain.
67869
67870 2005-05-18  Jim Meyering  <jim@meyering.net>
67871
67872         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
67873         Reported by Yoann Vandoorselaere.
67874
67875 2005-05-17  Jim Meyering  <jim@meyering.net>
67876
67877         * m4/fts.m4: New file, from coreutils.
67878
67879 2005-05-17  Jim Meyering  <jim@meyering.net>
67880
67881         * lib/fts.c, lib/fts_.h: New files, from coreutils.
67882
67883 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67884
67885         Sync from coreutils.
67886         * m4/unlinkdir.m4: New file.
67887
67888 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67889
67890         Sync from coreutils.
67891         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
67892         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
67893         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
67894         White space changes only.
67895         * lib/makepath.c (make_path): Port to hosts where leading "//" is
67896         special.
67897         * lib/yesno.c: Include getline.h, not ctype.h.
67898         (yesno): Don't remove leading white space; POSIX doesn't allow it.
67899         Use getline to remove arbitrary restriction on response length.
67900
67901 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67902
67903         * config/srclist-update: Spell out "Street" in FSF postal
67904         mail address; this is the style the FSF seems to prefer.
67905
67906         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
67907         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
67908         this updates FSF postal mail address.
67909
67910         Sync from coreutils.
67911         * modules/unlinkdir: New file.
67912         * modules/yesno (Depends-on): Add getline.
67913         * MODULES.html.sh (File system functions): Add unlinkdir.
67914
67915 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67916
67917         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
67918         lib/strsep.h:
67919         Change the initial comment to refer to GPL, not LGPL.
67920         gnulib-tool will change it to LGPL as needed.
67921
67922         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
67923         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
67924         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
67925         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
67926         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
67927         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
67928         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
67929         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
67930         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
67931         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
67932         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
67933         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
67934         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
67935         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
67936         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
67937         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
67938         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
67939         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
67940         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
67941         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
67942         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
67943         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
67944         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
67945         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
67946         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
67947         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
67948         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
67949         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
67950         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
67951         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
67952         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
67953         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
67954         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
67955         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
67956         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
67957         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
67958         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
67959         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
67960         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
67961         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
67962         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
67963         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
67964         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
67965         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
67966         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
67967         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
67968         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
67969         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
67970         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
67971         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
67972         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67973         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
67974         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
67975         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
67976         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
67977         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
67978         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
67979         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
67980         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
67981         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
67982         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
67983         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
67984         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
67985         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
67986         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
67987         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
67988         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
67989         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
67990         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
67991         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
67992         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
67993         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
67994         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
67995         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
67996         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
67997         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
67998         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
67999         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
68000         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
68001         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
68002         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
68003         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
68004         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
68005         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
68006         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
68007         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
68008         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
68009         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
68010         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
68011         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
68012         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
68013         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
68014         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
68015         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
68016         lib/yesno.c, lib/yesno.h:
68017         Update FSF postal mail address.
68018
68019 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68020
68021         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
68022         tests/test-memmem.c, tests/test-stpncpy.c:
68023         Update FSF postal mail address.
68024
68025 2005-05-13  Bruno Haible  <bruno@clisp.org>
68026
68027         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
68028         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
68029         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
68030         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
68031         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
68032         Add support for 64-bit integers in the MSVC compiler.
68033
68034 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68035
68036         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
68037
68038 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
68039
68040         * gnulib-tool (func_import): Sort and uniquify recommended includes.
68041
68042 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         * doc/getdate.texi (General date syntax): Don't say that date
68045         date --iso-8601=ns generates acceptable dates; it doesn't yet.
68046         Problem reported by Nic Ferrier.
68047
68048 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68049
68050         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
68051         specified in ai_socktype. Fix invalid ai_protocol
68052         check. ai_protocol is usually set to 0 or depending on
68053         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
68054         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
68055         ai_socktype / ai_protocol in the returned addrinfo structure.
68056
68057 2005-05-10  Simon Josefsson  <jas@extundo.com>
68058
68059         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
68060         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68061
68062 2005-05-10  Karl Berry  <karl@gnu.org>
68063
68064         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
68065         (from http://www.gnu.org/licenses).
68066         * doc/COPYING.LIB: also rename to COPYING.LESSER.
68067         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
68068         fdl.texi suffices.
68069
68070 2005-05-10  Karl Berry  <karl@gnu.org>
68071
68072         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
68073         (COPYING.DOC): remove.
68074
68075         * config/srclist-update: new FSF address.
68076
68077 2005-05-10  Derek Price  <derek@ximbiot.com>
68078
68079         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
68080         possible.
68081
68082 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68083             Bruno Haible  <bruno@clisp.org>
68084
68085         * modules/inet_ntop: New file.
68086         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68087         inet_ntop.
68088
68089 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68090             Bruno Haible  <bruno@clisp.org>
68091
68092         * m4/inet_ntop.m4: New file.
68093
68094 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68095             Bruno Haible  <bruno@clisp.org>
68096
68097         * lib/inet_ntop.h: New file.
68098         * lib/inet_ntop.c: New file, from glibc with modifications.
68099
68100 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
68101
68102         * modules/time_r (License): Change to LGPL.
68103         * modules/extensions (License): Change to LGPL.  Actually,
68104         the license is more permissive than that, but currently gnulib-tool
68105         doesn't know how to handle more-permissive licenses.
68106
68107         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
68108         Problem reported by Dave Love.
68109
68110 2005-05-08  Jim Meyering  <jim@meyering.net>
68111
68112         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
68113         blank.
68114
68115 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68116
68117         * modules/argmatch (Depends-on): Add stdbool.
68118         * modules/backupfile (Depends-on): Likewise.
68119         * modules/chdir-long (Depends-on): Likewise.
68120         * modules/closeout (Depends-on): Likewise.
68121         * modules/cycle-check (Depends-on): Likewise.
68122         * modules/dirname (Depends-on): Likewise.
68123         * modules/fnmatch (Depends-on): Likewise.
68124         * modules/fsusage (Depends-on): Likewise.
68125         * modules/fwriteerror (Depends-on): Likewise.
68126         * modules/getcwd (Depends-on): Likewise.
68127         * modules/getloadavg (Depends-on): Likewise.
68128         * modules/hard-locale (Depends-on): Likewise.
68129         * modules/makepath (Depends-on): Likewise.
68130         * modules/mountlist (Depends-on): Likewise.
68131         * modules/nanosleep (Depends-on): Likewise.
68132         * modules/posixtm (Depends-on): Likewise.
68133         * modules/quotearg (Depends-on): Likewise.
68134         * modules/readtokens (Depends-on): Likewise.
68135         * modules/readtokens0 (Depends-on): Likewise.
68136         * modules/readutmp (Depends-on): Likewise.
68137         * modules/save-cwd (Depends-on): Likewise.
68138         * modules/strftime (Depends-on): Likewise.
68139         * modules/userspec (Depends-on): Likewise.
68140         * modules/utimecmp (Depends-on): Likewise.
68141         * modules/xgetcwd (Depends-on): Likewise.
68142         * modules/xnanosleep (Depends-on): Likewise.
68143         * modules/xstrtod (Depends-on): Likewise.
68144         * modules/yesno (Depends-on): Likewise.
68145
68146 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68147
68148         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
68149         needless checks.
68150
68151 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68152
68153         Merge from coreutils.  Among other things,
68154         add bulletproofing for cases where stdin, stdout, or stderr are closed.
68155         * lib/fd-safer.c: New file.
68156         * lib/fcntl-safer.h, open-safer.c: Remove.
68157         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
68158         * lib/dup-safer.c: Include unistd-safer.h first.
68159         Don't include errno.h.
68160         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
68161         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
68162         * lib/file-type.c: Rely on file-type.h change.
68163         * lib/getloadavg.c: Include unistd-safer.h.
68164         (getloadavg): Use safer open.
68165         * lib/getusershell.c: Include "stdio-safer.h".
68166         (getusershell): Use safer fopen.
68167         * lib/long-options.c (long_options): Use NULL rather than 0.
68168         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
68169         'free'.
68170         * lib/modechange.c: Likewise.
68171         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
68172         (MODE_DONE): New constant.
68173         (struct mode_change): Remove 'next' member.
68174         (make_node_op_equals): New function; like the old one of the
68175         same name, except it allocates an array.
68176         (mode_compile, mode_create_from_ref): Use it.
68177         (mode_compile): Allocate result as an array, not a linked list.
68178         Parse octal string ourself, so that we catch mistakes like "+0".
68179         (mode_adjust): Arg is an array, not a linked list.
68180         * lib/modechange.c: Include stat-macros.h, xalloc.h.
68181         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
68182         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
68183         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
68184         Remove.  This is now stat-macros.h's job.
68185         (talloc): Remove.  All callers replaced by xalloc, so that
68186         our invokers don't have to worry about reporting memory failures.
68187         (make_node_op_equals): Remove.
68188         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68189         New constants.
68190         (struct mode_change): Moved here from modechange.h.
68191         (mode_append_entry): Remove.
68192         (mode_compile): Remove MASKED_OPS arg, since it encouraged
68193         apps to have incorrect behavior.  Use simpler algorithm for head
68194         and tail.  Don't futz with umask; that's now the job of mode_adjust.
68195         Detect more invalid usages rather than having somewhat-random behavior.
68196         Don't insert an "a=" action, as that leads to incorrect behavior.
68197         (mode_compile, mode_create_from_ref): Return NULL on error instead
68198         of an enum, since now there's only one way to have an error.  All
68199         callers changed.
68200         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
68201         at the correct time.  Simplify calculation of "+u" and its ilk.
68202         Don't mishandle "+X".
68203         (mode_free): Remove "register" and localize decls.
68204         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68205         (struct mode_change): Move to modechange.c; callers don't
68206         need to see this stuff.
68207         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
68208         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
68209         (mode_change, mode_adjust): Reflect the new signatures noted above.
68210         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
68211         that might redefine system include files.
68212         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
68213         (my_usleep): Use NULL rather than (void *) 0.
68214         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
68215         Use siginterrupt to specify that system calls should be interrupted.
68216         (rpl_nanosleep): Move initialization of suspended closer to call of
68217         my_usleep.
68218         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
68219         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
68220         (desirable_utmp_entry): New function.
68221         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
68222         using x2nrealloc, to simplify logic.
68223         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
68224         size calculation.  Do not assume utmp file is a regular file.
68225         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
68226         (READ_UTMP_CHECK_PIDS): New constant.
68227         * lib/save-cwd.c: Include unistd-safer.h.
68228         (save_cwd): Use fd_safer.
68229         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
68230         [!_LIBC] Include "stat-macros.h" instead.
68231         * lib/unistd-safer.h (fd_safer): New decl.
68232
68233 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68234
68235         * modules/getloadavg (Depends-on): Add unistd-safer.
68236         * modules/getusershell (Depends-on): Add stdio-safer.
68237         * modules/lstat (Depends-on): Remove xalloc.
68238         * modules/mkstemp (Depends-on): Add stat-macros.
68239         * modules/modechange (Depends-on): Remove xstrtol.
68240         Add stat-macros, xalloc.
68241         * modules/save-cwd (Depends-on): Add unistd-safer.
68242         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
68243         * modules/unistd-safer (Files): Add lib/fd-safer.c
68244         (Makefile.am): Remove lib_SOURCES.
68245
68246         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
68247         Remove fcntl-safer; unistd-safer supersedes it.
68248
68249 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68250
68251         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
68252         AC_HEADER_STAT.
68253         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
68254         (gl_PREREQ_CHOWN): Remove.
68255         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
68256         it.  Don't require AC_HEADER_STAT.
68257         (gl_PREREQ_LSTAT): Remove.
68258         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
68259         Don't require AC_HEADER_STAT.
68260         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
68261         (gl_PREREQ_RMDIR): Remove.
68262         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
68263         mention stat-macros.h or AC_HEADER_STAT, since we'll make
68264         the stat-macros module a prerequisite.
68265         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
68266         * m4/filemode.m4 (gl_FILEMODE): Likewise.
68267         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
68268         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
68269         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
68270         variable names.
68271         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
68272         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
68273         variable prefixes.
68274         * m4/fcntl-safer.m4: Remove.
68275         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
68276         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
68277         Invoke gl_PREREQ_FD_SAFER.
68278         (gl_PREREQ_FD_SAFER): New macro.
68279         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
68280         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
68281         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
68282         Remove duplicate call to AC_LIBOBJ(readutmp).
68283         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
68284
68285         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
68286         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
68287
68288 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * MODULES.html.sh (Misc): Add byteswap.
68291
68292 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68293
68294         * modules/getcwd (Depends-on): Add extensions.
68295         * modules/openat (Depends-on): Likewise.
68296
68297 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68298
68299         * modules/byteswap: New file.
68300
68301 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68302
68303         * m4/byteswap.m4: New file.
68304
68305 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68306
68307         * lib/byteswap_.h: New file.
68308
68309 2005-04-25  Karl Berry  <karl@gnu.org>
68310
68311         * m4/gettext.m4: Update from GNU gettext 0.14.4.
68312
68313 2005-04-25  Albert Chin  <china@thewrittenword.com>
68314
68315         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
68316         Toolkit C bug.
68317
68318 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
68319
68320         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
68321         (func_ln_if_changed): Remove forcibly for no error message
68322         in case file does not exist.
68323
68324 2005-04-19  Simon Josefsson  <jas@extundo.com>
68325
68326         * gnulib-tool (Options): Make --symlink mean --symbolic.
68327
68328 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
68329
68330         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
68331
68332 2005-04-16  Simon Josefsson  <jas@extundo.com>
68333
68334         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
68335
68336 2005-04-15  Simon Josefsson  <jas@extundo.com>
68337
68338         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
68339
68340 2005-04-15  Simon Josefsson  <jas@extundo.com>
68341
68342         * gnulib-tool: Rename --symlink to --symbolic.
68343
68344 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
68345
68346         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
68347         symbolic links to files instead of copying/moving.  Add --aux-dir,
68348         specifying directory relative --dir where auxiliary build tools
68349         are placed.
68350
68351 2005-04-14  Bruno Haible  <bruno@clisp.org>
68352
68353         * modules/allocsa (License): Change to LGPL.
68354         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
68355
68356 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68357
68358         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
68359         that "UTC +1 second" continues to work.  Problem reported
68360         by Dmitry V. Levin.
68361         (relunit_snumber): New rule.
68362         (relunit): Use it.
68363
68364 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68365
68366         * lib/getdate.y (universal_time_zone_table): New constant.
68367         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
68368         universal_time_zone_table.
68369         (lookup_zone): Prefer universal_time_zone_table to
68370         local_time_zone_table, so that "GMT" time stamps are allowed in
68371         London during the summer.  Problem reported by Ian Abbott.
68372
68373 2005-04-12  Jim Meyering  <jim@meyering.net>
68374
68375         * lib/human.c (humblock): Set *options even when returning due to
68376         xstrtoumax conversion failure.  Thanks to a used-uninitialized
68377         warning from gcc-4.
68378
68379 2005-04-09  Jim Meyering  <jim@meyering.net>
68380
68381         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
68382         -Wuninitialized: initialize tm0.tm_year.
68383
68384 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68385
68386         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
68387         count, since there's no maximum.  All uses changed.
68388         Add member dsts_seen.
68389         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
68390         not being INT_MAX.
68391         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
68392         Use pc_rels_seen to decide whther a date is absolute.
68393
68394         * lib/getdate.y (number): Don't overwrite year.
68395         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
68396         check.
68397
68398 2005-04-02  Simon Josefsson  <jas@extundo.com>
68399
68400         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
68401         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
68402
68403 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
68404
68405         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
68406         where no absolute path name can be longer than PATH_MAX.
68407
68408 2005-03-27  Jim Meyering  <jim@meyering.net>
68409
68410         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
68411
68412 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68413
68414         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
68415         "one's complement" -> "ones' complement" in comment, as per Knuth.
68416         "value of type" -> "type or expression" in comment.
68417         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
68418
68419 2005-03-26  Jim Meyering  <jim@meyering.net>
68420
68421         Comment nits.
68422         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
68423         Correct typos: s/or/of/.
68424
68425 2005-03-26  Jim Meyering  <jim@meyering.net>
68426
68427         * modules/check-include-files: Move to ../ and rename to...
68428         * check-module: ...this.
68429
68430 2005-03-25  Jim Meyering  <jim@meyering.net>
68431
68432         * modules/xvasprintf (Files): Add xalloc.h.
68433
68434 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68435
68436         * modules/gettext (Files): config/config.rpath ->
68437         build-aux/config.rpath
68438         * modules/iconv (Files): Likewise.
68439         Problem reported by Oskar Liljeblad.
68440
68441 2005-03-23  Jim Meyering  <jim@meyering.net>
68442
68443         * modules/check-include-files: New script to check for
68444         missing dependencies, multiple includes, etc.
68445
68446         * modules/c-strtold (Depends-on): Add xalloc.
68447         * modules/c-strtod (Depends-on): Add xalloc.
68448         * modules/hash (Depends-on): Add xalloc.
68449         (Files): Remove lib/xalloc.h.
68450
68451         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
68452         * modules/userspec (Files): Add lib/inttostr.h.
68453
68454 2005-03-23  Jim Meyering  <jim@meyering.net>
68455
68456         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
68457
68458 2005-03-22  Jim Meyering  <jim@meyering.net>
68459
68460         * modules/stat-macros: New module.
68461         * modules/canonicalize, modules/euidaccess, modules/file-type,
68462         * modules/filemode, modules/lchown, modules/makepath,
68463         * modules/rmdir, modules/stat: Depend on new stat-macros module
68464         rather than listing lib/stat-macros.h manually.
68465         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
68466
68467 2005-03-22  Jim Meyering  <jim@meyering.net>
68468
68469         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
68470
68471 2005-03-22  Bruno Haible  <bruno@clisp.org>
68472
68473         * config/srclist.txt: Replace target directory 'config' with
68474         'build-aux'.
68475         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
68476         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
68477         ../build-aux/.
68478
68479 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
68480
68481         * modules/chdir-long (Depends-on): Add mempcpy.
68482
68483         * modules/acl, modules/backupfile, modules/c-strtod,
68484         modules/c-strtold, modules/canon-host, modules/canonicalize,
68485         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
68486         modules/exclude, modules/exitfail, modules/file-type,
68487         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
68488         modules/getdate, modules/getline, modules/getpagesize,
68489         modules/getpass, modules/getugroups, modules/group-member,
68490         modules/hard-locale, modules/hash, modules/human, modules/idcache,
68491         modules/inttostr, modules/long-options, modules/makepath,
68492         modules/md5, modules/memcasecmp, modules/memcoll,
68493         modules/modechange, modules/mountlist, modules/path-concat,
68494         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
68495         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
68496         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
68497         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
68498         modules/strftime, modules/strndup, modules/strverscmp,
68499         modules/timespec, modules/unlocked-io, modules/userspec,
68500         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
68501         modules/yesno:
68502         Remove lib_SOURCES line from Makefile.am section, as this is now
68503         done automatically by the corresponding Autoconf macro.
68504
68505 2005-03-21  Jim Meyering  <jim@meyering.net>
68506
68507         Changes imported from coreutils.
68508
68509         * lib/cycle-check.c: Don't include xalloc.h.
68510
68511         * lib/path-concat.c: Don't include assert.h.
68512         (path_concat): Remove assertion that would have triggered
68513         for ABASE starting with more than one slash.
68514         Reported by Andreas Schwab.
68515
68516         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
68517         properly when ABASE is an absolute file name.
68518         Correct the description of this function.
68519         Include <assert.h>.
68520         Add an assertion and a test driver.
68521         This fixes a bug introduced on 2004-07-02.
68522         Andreas Schwab reported the resulting failure of cp --parents:
68523         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
68524
68525 2005-03-21  Jim Meyering  <jim@meyering.net>
68526
68527         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
68528         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
68529
68530 2005-03-21  Jim Meyering  <jim@meyering.net>
68531         and  Paul Eggert  <eggert@cs.ucla.edu>
68532
68533         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
68534         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
68535         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
68536         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
68537         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
68538         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
68539         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
68540         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
68541         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
68542         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
68543         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
68544         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
68545         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
68546         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
68547         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
68548         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
68549         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
68550         for these modules.
68551
68552 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
68553
68554         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
68555         (which shouldn't happen), generate nothing instead of returning 0
68556         immediately, so that nstrftime (NULL, ...) doesn't return 0.
68557
68558 2005-03-16  Bruno Haible  <bruno@clisp.org>
68559
68560         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
68561         HAVE_LONGLONG_64BIT.
68562
68563 2005-03-16  Bruno Haible  <bruno@clisp.org>
68564
68565         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
68566         HAVE_LONGLONG_64BIT.
68567
68568 2005-03-16  Bruno Haible  <bruno@clisp.org>
68569
68570         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
68571         HAVE_LONGLONG_64BIT.
68572
68573 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68574
68575         * lib/strftime.c (my_strftime): Prepend space to format so that we can
68576         reliably distinguish strftime failure from empty output on POSIX
68577         hosts.
68578
68579 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68580
68581         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
68582         (iconv_string): Don't guess a size-zero buffer, as that might cause
68583         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
68584         result would be 'too large', where 'too large' is (heuristically)
68585         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
68586         overflow concerns.  This will prevent some unwanted malloc failures
68587         when the inputs are very large.
68588
68589 2005-03-15  Karl Berry  <karl@gnu.org>
68590
68591         * config/srclist.txt (config.rpath): from gettext.
68592         * config/config.rpath: update.
68593
68594 2005-03-15  Bruno Haible  <bruno@clisp.org>
68595
68596         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
68597         to 'negate'.
68598
68599         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68600         variable.
68601
68602         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68603         results.
68604
68605 2005-03-14  Simon Josefsson  <jas@extundo.com>
68606
68607         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68608         <fx@gnu.org>.
68609
68610 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68611
68612         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68613         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68614         intprops.h.
68615         * lib/strtol.c: Likewise.
68616
68617 2005-03-14  Jim Meyering  <jim@meyering.net>
68618
68619         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68620         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68621         to be nonzero so that we (and caller) can detect the difference
68622         between a valid zero-length expansion and an error return, even
68623         when the underlying strftime fails before writing anything into
68624         that location.
68625
68626 2005-03-14  Bruno Haible  <bruno@clisp.org>
68627
68628         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
68629         Update from GNU gettext 0.14.3.
68630
68631 2005-03-10  Jim Meyering  <jim@meyering.net>
68632
68633         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
68634
68635 2005-03-10  Jim Meyering  <jim@meyering.net>
68636
68637         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
68638         so that this module works on systems without fchdir.
68639
68640 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
68641
68642         Factor int-properties macros into a single file, except for
68643         glibc-related files.
68644         * lib/intprops.h: New file.
68645         * lib/getloadavg.c: Include it instead of limits.h.
68646         (INT_STRLEN_BOUND): Remove.
68647         * lib/human.c: Include intprops.h.
68648         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
68649         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
68650         302/1000.
68651         * lib/inttostr.h: Include intprops.h instead of limits.h.
68652         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
68653         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
68654         for consistency with intprops.h.
68655         (time_t_is_integer, twos_complement_arithmetic): Use them.
68656         * lib/sig2str.h: Include <signal.h>, intprops.h.
68657         (INT_STRLEN_BOUND): Remove.
68658         * lib/strftime.c (TYPE_SIGNED): Remove.
68659         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
68660         * lib/strtol.c: Adjust comments to match intprops.h.
68661         * lib/userspec.c: Include intprops.h.
68662         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
68663         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
68664         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
68665         instead of rolling our own expressions.
68666         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
68667
68668         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
68669         instead of int.
68670         (my_strftime): Do not mishandle years close to INT_MAX, by doing
68671         the right thing even if adding 1900 would overflow.  Similarly
68672         for tm_mon + 1 and tm_yday + 1.
68673         Make %Y always equivalent to %C%y, and similarly for %G and %g.
68674         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
68675         (DO_SIGNED_NUMBER): New macro.
68676         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
68677
68678 2005-03-07  Bruno Haible  <bruno@clisp.org>
68679
68680         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
68681
68682 2005-03-07  Bruno Haible  <bruno@clisp.org>
68683
68684         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
68685
68686 2005-03-04  Derek R. Price  <derek@ximbiot.com>
68687
68688         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
68689         (func_import): Only replace files via --import when they have actually
68690         changed.
68691
68692 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68693
68694         * m4/mmap-anon.m4: New file.
68695         * m4/pagealign_alloc.m4: New file.
68696
68697 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68698             Bruno Haible  <bruno@clisp.org>
68699
68700         * modules/pagealign_alloc: New file.
68701         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
68702
68703 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68704             Bruno Haible  <bruno@clisp.org>
68705
68706         * lib/pagealign_alloc.h: New file.
68707         * lib/pagealign_alloc.c: New file.
68708
68709 2005-03-03  Bruno Haible  <bruno@clisp.org>
68710
68711         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
68712         Use an all-permissive copyright notice, recommended by RMS.
68713
68714 2005-03-02  Bruno Haible  <bruno@clisp.org>
68715
68716         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
68717         of AIX, the replacement has to be done only after <string.h> is
68718         included, therefore not in config.h. stpncpy.h does the replacement,
68719         and stpncpy.c uses it.
68720
68721 2005-03-02  Bruno Haible  <bruno@clisp.org>
68722
68723         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
68724         stpncpy.c uses it.
68725
68726 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68727
68728         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
68729         The workaround isn't strictly needed for POSIX conformance, and
68730         it's too much of a pain to configure and maintain.  We'll ask
68731         people to fix their kernels instead.
68732         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
68733         (NANOSLEEP_BUG_WORKAROUND): Remove.
68734         (xnanosleep): Remove the workaround.
68735
68736 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68737
68738         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
68739         Reported by Derek Price.
68740         (Include): Add "timespec.h".
68741
68742         * modules/xnanosleep (Depends-on): Remove gethrxtime.
68743
68744 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68745
68746         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
68747         to detect nanosleep bug.
68748
68749 2005-03-01  Bruno Haible  <bruno@clisp.org>
68750
68751         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
68752
68753 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         * modules/gethrxtime: New file.
68756         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
68757         (Depends-on): Add gethrxtime.
68758         (configure.ac): Add gl_XNANOSLEEP.
68759         (Makefile.am): Remove lib_SOURCES line.
68760
68761 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
68764         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
68765
68766 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68767
68768         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
68769         * lib/timespec.h (gettime): Return void, since it always
68770         succeeds now.  All uses changed.
68771         * lib/gettime.c (gettime): Likewise.
68772         [HAVE_NANOTIME]: Prefer nanotime.
68773         Assume gettimeofday succeeds, as POSIX requires.
68774         Assime time () succeeds, since other code already does.
68775         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
68776         (timespec_subtract): Remove.
68777         (NANOSLEEP_BUG_WORKAROUND): New constant.
68778         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
68779         things considerably.  Use it only on GNU/Linux hosts, since the
68780         workaround shouldn't be needed elsewhere.
68781
68782 2005-02-24  Bruno Haible  <bruno@clisp.org>
68783
68784         * modules/gettext (Files): Add m4/glibc2.m4.
68785
68786 2005-02-24  Bruno Haible  <bruno@clisp.org>
68787
68788         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
68789         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
68790         * m4/progtest.m4:
68791         Update from GNU gettext 0.14.2.
68792         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
68793
68794 2005-02-24  Bruno Haible  <bruno@clisp.org>
68795
68796         * lib/localcharset.c: Update from GNU gettext 0.14.2.
68797         * lib/config.charset: Update from GNU gettext 0.14.2.
68798
68799 2005-02-24  Bruno Haible  <bruno@clisp.org>
68800
68801         * lib/gettext.h: Update from GNU gettext 0.14.2.
68802
68803 2005-02-23  Simon Josefsson  <jas@extundo.com>
68804
68805         * m4/iconvme.m4: New file.
68806
68807 2005-02-23  Jim Meyering  <jim@meyering.net>
68808
68809         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
68810         change.
68811         Thanks to Bruno Haible for catching it.
68812
68813 2005-02-22  Simon Josefsson  <jas@extundo.com>
68814
68815         * modules/iconvme: New file.
68816
68817         * MODULES.html.sh: Add iconvme.
68818
68819 2005-02-22  Simon Josefsson  <jas@extundo.com>
68820
68821         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
68822
68823 2005-02-22  Simon Josefsson  <jas@extundo.com>
68824
68825         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
68826
68827 2005-02-22  Jim Meyering  <jim@meyering.net>
68828
68829         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
68830         s/ifndef/ifdef/.
68831
68832 2005-02-20  Neil Conway  <neilc@samurai.com>
68833
68834         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
68835         returned by OSX/Darwin if the specified buffer is not large
68836         enough for the hostname.
68837
68838 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68839
68840         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
68841         pass it to _help, otherwise the latter coredumps trying to
68842         dereference state.root_argp.
68843
68844 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68845
68846         * modules/chdir-long (Depends-on): Add memrchr.
68847         * modules/memrchr (Files): Add lib/memrchr.h.
68848         (Include): "memrchr.h".
68849
68850 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68851
68852         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
68853
68854 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         * lib/memrchr.h: New file.
68857         * lib/chdir-long.c: Include it.
68858         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
68859         Don't bother including stddef.h.
68860
68861 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68862
68863         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
68864         inclusion.
68865         Include <sys/types.h>, for dev_t.
68866         (ME_DUMMY, ME_REMOTE): Move from here....
68867         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
68868         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
68869         Dmitry V. Levin.
68870         Include mountlist.h first, to test the interface.
68871
68872 2005-01-29  Bruno Haible  <bruno@clisp.org>
68873
68874         * lib/progname.c (program_name): Initialize.
68875         Needed when linking statically on MacOS X.
68876
68877 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68878
68879         Sync from coreutils.
68880         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
68881         (Depends-on): Add c-strtod.
68882         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
68883
68884 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68885
68886         Sync from coreutils.
68887         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
68888
68889         Remove files that are specific to coreutils.
68890         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
68891
68892 2005-01-28  Bruno Haible  <bruno@clisp.org>
68893
68894         * modules/javacomp: New file.
68895         * MODULES.html.sh (Java): Add javacomp.
68896
68897 2005-01-28  Bruno Haible  <bruno@clisp.org>
68898
68899         * m4/javacomp.m4: New file, from GNU gettext.
68900
68901 2005-01-28  Bruno Haible  <bruno@clisp.org>
68902
68903         * lib/javacomp.sh.in: New file, from GNU gettext.
68904         * lib/javacomp.h: New file, from GNU gettext.
68905         * lib/javacomp.c: New file, from GNU gettext.
68906
68907 2005-01-26  Simon Josefsson  <jas@extundo.com>
68908
68909         * lib/gai_strerror.c: Use GPL in header.
68910
68911 2005-01-26  Bruno Haible  <bruno@clisp.org>
68912
68913         * modules/javaexec: New file.
68914         * MODULES.html.sh (Java): Add javaexec.
68915
68916 2005-01-26  Bruno Haible  <bruno@clisp.org>
68917
68918         * m4/javaexec.m4: New file, from GNU gettext.
68919
68920 2005-01-26  Bruno Haible  <bruno@clisp.org>
68921
68922         * lib/javaexec.sh.in: New file, from GNU gettext.
68923         * lib/javaexec.h: New file, from GNU gettext.
68924         * lib/javaexec.c: New file, from GNU gettext.
68925
68926 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68927
68928         * modules/lchown (Depends-on): Remove lchown.h
68929
68930 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68931
68932         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
68933         must be defined if the header file was not found, in order
68934         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
68935
68936 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68937
68938         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
68939         initializers for struct pentry_state.
68940         (__argp_error): Check return value of __asprintf
68941         (__argp_failure): Translate error message
68942
68943         * lib/argp-parse.c: Removed braces around the expansion of N_()
68944
68945 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68946
68947         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
68948         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
68949         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
68950         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
68951         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
68952         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
68953         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
68954         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
68955         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
68956         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
68957         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
68958         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
68959         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
68960         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
68961         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
68962         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
68963         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
68964         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
68965         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
68966         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
68967         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
68968         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
68969         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
68970         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
68971         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
68972         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
68973         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
68974         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
68975         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
68976         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
68977         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
68978         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
68979         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
68980         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
68981         xstrtol.m4, xstrtoumax.m4, yesno.m4:
68982         Use an all-permissive copyright notice, recommended by RMS.
68983
68984 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
68985
68986         * modules/chdir-long (Depends-on): Remove mempcpy.
68987
68988 2005-01-21  Jim Meyering  <jim@meyering.net>
68989
68990         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
68991         same value as for Solaris 9.
68992
68993         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
68994         component length.  This included changing the parameter to be
68995         of type `char *' rather than `char const *'.
68996         * lib/chdir-long.h (chdir_long): Update prototype.
68997
68998         * lib/openat.c (fdopendir, fstatat): New functions.
68999         * lib/openat.h: Include headers required for use of DIR and struct
69000         stat.
69001         [AT_SYMLINK_NOFOLLOW]: Define.
69002         (fdopendir, fstatat): Add prototypes.
69003
69004 2005-01-21  Bruno Haible  <bruno@clisp.org>
69005
69006         * modules/classpath: New file.
69007         * MODULES.html.sh (Java): Add classpath.
69008
69009 2005-01-21  Bruno Haible  <bruno@clisp.org>
69010
69011         * lib/classpath.h: New file, from GNU gettext.
69012         * lib/classpath.c: New file, from GNU gettext.
69013
69014 2005-01-20  Simon Josefsson  <jas@extundo.com>
69015
69016         * modules/version-etc-fsf: New file.
69017
69018 2005-01-20  Simon Josefsson  <jas@extundo.com>
69019
69020         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
69021         * lib/version-etc.c: Remove version_etc_copyright.
69022         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
69023         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
69024
69025 2005-01-20  Simon Josefsson  <jas@extundo.com>
69026
69027         * lib/base64.h (isbase64): Add.
69028
69029         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
69030         using a unsigned prototype, don't inline.
69031         (base64_decode): Use it.
69032
69033 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69034
69035         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
69036         it.
69037
69038 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69039
69040         * lib/save-cwd.c (save_cwd): Remove code to support the case
69041         where fchdir is missing or flaky.
69042
69043 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69044
69045         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
69046
69047 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69048
69049         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
69050         AC_LIBSOURCES now does this.
69051         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
69052         with new ullong_max module.
69053
69054 2005-01-19  Bruno Haible  <bruno@clisp.org>
69055
69056         * modules/sh-quote: New file.
69057         * MODULES.html.sh (Executing programs): Add sh-quote.
69058
69059 2005-01-19  Bruno Haible  <bruno@clisp.org>
69060
69061         * lib/sh-quote.h: New file, from GNU gettext.
69062         * lib/sh-quote.c: New file, from GNU gettext.
69063
69064 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69065
69066         Merge from coreutils.
69067         * m4/ullong_max.m4: New file.
69068         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
69069         (gl_MACROS): Assume localeconv exists.
69070
69071 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69072
69073         Merge changes from coreutils, as described below in several
69074         changelogs dated today.
69075
69076         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
69077         (O_DIRECTORY): Remove; not needed here, since "." must be
69078         a directory.  All uses removed.
69079         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
69080         universal on Suns, and we also need to test for IRIX.
69081         Revamp code to use 'if' rather than '#if'.
69082         Avoid unnecessary comparison of cwd->desc to 0.
69083
69084         * lib/utimens.c (futimens): Robustify the previous patch, by checking
69085         for known valid error numbers rather than observed invalid ones.
69086
69087 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69088
69089         * modules/ullong_max: New file.
69090
69091         * modules/chdir-long, modules/openat: New files.
69092         * modules/save-cwd (Depends-on): Depend on chdir-long.
69093         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
69094
69095 2005-01-18  Jim Meyering  <jim@meyering.net>
69096
69097         Merge from coreutils.
69098         * m4/chdir-long.m4, m4/openat.m4: New files.
69099         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
69100         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
69101         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
69102         is sane and DOES follow symlinks.  Besides, testing 20 different
69103         systems found no broken chown implementations.
69104         Prompted by a change in rsync's copy of this macro.
69105         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
69106
69107         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
69108
69109         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
69110         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
69111         NULL-means-set-to-current-time semantics.
69112         Remove temporary file immediately, rather than waiting
69113         for configure's at-exit trap code to do it.
69114
69115 2005-01-18  Jim Meyering  <jim@meyering.net>
69116
69117         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69118
69119         * lib/utimens.c (futimens): Account for the fact that futimes
69120         can also fail with errno == ENOSYS or errno == ENOENT.
69121         Patch from Dmitry V. Levin.
69122
69123         Change the name of the robust chdir function from chdir to chdir_long.
69124         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
69125         (restore_cwd): Use chdir_long, not chdir.
69126         * lib/chdir-long.c: Renamed from chdir.c.
69127         * lib/chdir-long.h: Renamed from chdir.h.
69128         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
69129         Hurd.
69130
69131 2005-01-18  Bruno Haible  <bruno@clisp.org>
69132
69133         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
69134         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
69135         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
69136         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
69137         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
69138         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
69139         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
69140         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
69141         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
69142         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
69143         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
69144         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
69145         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
69146         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
69147         Use an all-permissive copyright notice, recommended by RMS.
69148
69149 2005-01-18  Bob Proulx  <bob@proulx.com>
69150
69151         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
69152         simplify offsetof() macro construct to avoid compile failure with
69153         native HP-UX 11.0 ANSI C compiler.
69154
69155 2005-01-17  Bruno Haible  <bruno@clisp.org>
69156
69157         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
69158         redundant because stpncpy.m4 takes care of it.
69159
69160 2005-01-17  Bruno Haible  <bruno@clisp.org>
69161
69162         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
69163
69164 2005-01-17  Bruno Haible  <bruno@clisp.org>
69165
69166         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
69167         used.
69168
69169 2005-01-17  Bruno Haible  <bruno@clisp.org>
69170
69171         * lib/fwriteerror.h (fwriteerror): Change specification to include
69172         fclose.
69173         * lib/fwriteerror.c: Include <stdbool.h>.
69174         (fwriteerror): At the end, close the file stream. Record whether
69175         stdout was already closed.
69176
69177 2005-01-17  Bruno Haible  <bruno@clisp.org>
69178
69179         * lib/execute.c (environ): Declare if needed.
69180         * lib/pipe.c (environ): Likewise.
69181         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
69182
69183 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69184
69185         * modules/argp: Depend on vsnprintf
69186
69187 2005-01-10  Jim Meyering  <jim@meyering.net>
69188
69189         * modules/closeout (Depends-on): Add atexit.
69190
69191 2005-01-06  Bruno Haible  <bruno@clisp.org>
69192
69193         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
69194
69195 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69196
69197         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
69198         definitions to be after all include files, to avoid collisions.
69199         Problem reported by Bob Proulx.
69200
69201 2005-01-04  Jim Meyering  <jim@meyering.net>
69202
69203         Changes imported from coreutils.
69204         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
69205         as the mkstemp template, use a temporary directory and an
69206         8.3-friendly template to avoid trouble on systems like DJGPP.
69207         Reported by Juan M. Guerrero via Stepan Kasal.
69208         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
69209         close. Remove the temporary directory right away, rather than waiting
69210         for configure's at-exit trap code to do it.
69211         Suggestion from Stepan Kasal.
69212
69213 2005-01-01  Simon Josefsson  <jas@extundo.com>
69214
69215         * gnulib-tool: Print #include directives when --import'ing.
69216
69217 2004-12-28  Simon Josefsson  <jas@extundo.com>
69218
69219         * tests/test-base64.c: Include required header files.  Remove
69220         unused variables.
69221
69222 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69223
69224         * modules/error (Depends-on): Remove gettext.
69225
69226 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69227
69228         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
69229         not needed.  This removes a dependency on the gettext module.
69230         [defined _LIBC]: Do not include <libintl.h>; not needed.
69231
69232 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69233
69234         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
69235         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
69236
69237 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69238
69239         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
69240         HAVE_DECL_STRTOLD.
69241
69242 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69243
69244         * modules/getdate (Depends-on): Remove alloca-opt.
69245
69246 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69247
69248         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
69249
69250 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69251
69252         * lib/argp-parse.c: Include <stddef.h>.
69253         (alignof, alignto): New macros.
69254         (parser_init): Don't assume that void * is aligned sufficiently
69255         for struct option.
69256
69257         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
69258         need to extend the stack.
69259         (YYINITDEPTH): New macro, so that the initial stack isn't overly
69260         large.
69261
69262 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69263
69264         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
69265
69266 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69267
69268         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
69269         (2004-10-24) change.  Apparently this was a false alarm.
69270
69271         * modules/getdate: Depend on alloca-opt, not alloca.
69272
69273 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69274
69275         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
69276         Remove now-obsolete comment about AIX.
69277         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
69278         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
69279         (YYMAXDEPTH): New macro.
69280
69281 2004-12-18  Simon Josefsson  <jas@extundo.com>
69282
69283         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
69284
69285 2004-12-18  Bruno Haible  <bruno@clisp.org>
69286
69287         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
69288
69289 2004-12-18  Bruno Haible  <bruno@clisp.org>
69290
69291         * lib/fatal-signal.c (fatal_signals): Make non-const.
69292         (init_fatal_signals): New function.
69293         (uninstall_handlers, install_handlers): Ignore signals that were set to
69294         SIG_IGN.
69295         (at_fatal_signal): Call init_fatal_signals.
69296         (init_fatal_signal_set): Likewise. Ignore signals that were set to
69297         SIG_IGN.
69298         Reported by Paul Eggert.
69299
69300 2004-12-18  Bruno Haible  <bruno@clisp.org>
69301
69302         * doc/alloca.texi: New file.
69303         * doc/alloca-opt.texi: New file.
69304
69305 2004-12-17  Jim Meyering  <jim@meyering.net>
69306
69307         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
69308         Otherwise, install-sh could exit with improper exit status when
69309         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
69310
69311 2004-12-16  Simon Josefsson  <jas@extundo.com>
69312
69313         * tests/test-base64.c: Add license.
69314
69315 2004-12-15  Stepan Kasal  <address@hidden>
69316
69317         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
69318
69319 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
69320
69321         * modules/getcwd (Files): Add m4/d-ino.m4.
69322         Suggested by Mark D. Baushke.
69323
69324 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69325
69326         * lib/getdate.y (textint): New member "negative".
69327         (time_zone_hhmm): New function.
69328         Expect 14 shift-reduce conflicts, not 13.
69329         (o_colon_minutes): New rule.
69330         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
69331         (yylex): Set the "negative" member of signed numbers.
69332
69333 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         * doc/getdate.texi (Time of day items, Time zone items):
69336         Describe new formats +00:00, UTC+00:00.
69337
69338 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69339
69340         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
69341         spurious "-l"s.  Problem reported by Stepan Kasal.
69342
69343 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
69344
69345         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
69346         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
69347
69348 2004-12-04  Simon Josefsson  <jas@extundo.com>
69349
69350         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
69351         Vandoorselaere <yoann@prelude-ids.org>.
69352
69353 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69354
69355         Changes imported from coreutils.
69356         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
69357         exist.
69358         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
69359
69360 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69361
69362         Changes imported from coreutils.
69363         * lib/hard-locale.c: Assume <locale.h> exists.
69364         Include "strdup.h".
69365         (GLIBC_VERSION): New macro.
69366         (hard_locale): Assume setlocale exists.
69367         Rewrite to avoid #ifdef.
69368         Use strdup rather than malloc + strcpy.
69369         * lib/human.c: Assume <locale.h> exists.
69370         (human_readable): Assume localeconv exists.
69371
69372 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69373
69374         * modules/hard-locale (Depends-on): Add strdup.
69375
69376 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69377
69378         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
69379         convert T2, not T.  (Imported from libc.)
69380
69381 2004-11-30  Simon Josefsson  <jas@extundo.com>
69382
69383         * modules/restrict (License): Change to LGPL.
69384
69385 2004-11-30  Simon Josefsson  <jas@extundo.com>
69386
69387         * m4/restrict.m4: Add copyright and copying conditions.
69388
69389 2004-11-30  Simon Josefsson  <jas@extundo.com>
69390
69391         * m4/base64.m4: New file.
69392
69393 2004-11-30  Simon Josefsson  <jas@extundo.com>
69394
69395         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
69396         base64.
69397
69398         * tests/test-base64.c: New file.
69399
69400         * modules/base64: New file.
69401
69402 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69403
69404         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
69405         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
69406
69407         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
69408
69409 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69410
69411         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
69412         (__getcwd.c): Don't restore errno; glibc doesn't.
69413         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
69414         first, falling back to our code only if its results look suspicious.
69415         Ensure that the resulting buffer is only as large as necessary.
69416
69417         * lib/readutmp.c: Include readutmp.h first.
69418         Include <errno.h>, since readutmp.h no longer does that.
69419         * lib/readutmp.h: Don't include <errno.h>,
69420         <sys/param.h>, <time.h>; not needed to establish interface.
69421         (errno): Remove decl.
69422         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
69423         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
69424         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
69425
69426 2004-11-28  Simon Josefsson  <jas@extundo.com>
69427
69428         * lib/base64.h, base64.c: New file.
69429
69430 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69431
69432         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
69433
69434 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69435
69436         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
69437         (Depends-on): Remove pathmax, same.  Add mempcpy.
69438         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
69439         (Makefile.am): Append getcwd.h to lib_SOURCES.
69440         (Include): Add getcwd.h.
69441         (Maintainer): Change from Jim Meyering to "all, glibc",
69442         since getdate now uses intended-for-glibc code.
69443         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
69444         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
69445
69446 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69447
69448         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
69449         HP's ANSI C compiler.
69450         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
69451         Declaring int functions causes warnings on some modern systems and
69452         shouldn't be needed to compile on ancient ones.
69453         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
69454         defined.
69455
69456         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
69457         with the following changes.
69458         (__set_errno): Parenthesize properly.
69459         Include <stdbool.h>.
69460         (MIN, MAX, MATCHING_INO): New macros.
69461         (__getcwd): Define with prototype, not K&R form.
69462         Use heuristics to allocate default buffer on stack if possible.
69463         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
69464         behavior, and to avoid the PATH_MAX limit when computing
69465         ../../../../...
69466         Use MATCHING_INO to compare inode number to file.
69467         Check for arithmetic overflow in size calculations.
69468         Fix bug in reallocation of dot array that caused getcwd to fail
69469         on directories nested deeper than 75.
69470         Be more careful about saving errno on error.
69471         Do not use realloc; use only free+malloc, as this is a bit
69472         more flexible and avoids a needless copy operation.
69473         Do not inspect st_dev and st_ino for symbolic links; POSIX
69474         doesn't specify the latter.
69475         Check for closedir errors.
69476         Avoid needless casts.
69477         Use "#ifdef weak_alias" around weak_alias, to be like other
69478         glibc code.
69479         The following changes to getcwd.c have effect only when used in
69480         gnulib; they have no effect inside glibc proper.
69481         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
69482         as alloca isn't used.
69483         (alloca, __alloca): Likewise.
69484         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
69485         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69486         unconditionally, as gnulib assumes C89 or better.
69487         Do not include <sys/param.h>.
69488         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
69489         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
69490         better.
69491         (NULL) [!defined NULL]: Remove; we assume C89 or better.
69492         Include <dirent.h> in a way that is compatible with modern Autoconf.
69493         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
69494         New macros, if not already defined.
69495         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
69496         Use "_LIBC", not "defined _LIBC", for consistency.
69497         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
69498         a mempcpy module.
69499         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
69500         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
69501         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
69502         credit only to Jim Meyering and adjust the copyright dates.
69503         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
69504         <stdlib.h>, <unistd.h>, "pathmax.h".
69505         Instead, include "xgetcwd.h" (first) and "getcwd.h".
69506         (INITIAL_BUFFER_SIZE): Remove.
69507         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
69508
69509 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69510
69511         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
69512         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
69513         Use the _ONCE methods, for efficiency.
69514         Check for fcntl.h.  In test program, include <errno.h>
69515         and <fcntl.h> if available.  Remove old K&R cruft from
69516         test program.  Check for common errors in GNU/Linux,
69517         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
69518         don't do AC_LIBOBJ, as that's getcwd.m4's job.
69519         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
69520         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
69521         name accordingly.
69522         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
69523         accommodate new getcwd.c.
69524         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
69525         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
69526         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
69527         that's all we need now.
69528
69529 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69530
69531         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
69532         argp-parse.c depends on getopt internals, that means we should
69533         always use our getopt, to be on the safe side.
69534         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
69535         order not to spoil the result of an eventual previous invocation
69536         of gl_GETOPT_SUBSTITUTE.
69537
69538 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69539
69540         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
69541         redefinition warnings. To avoid them, include the defines
69542         in `#if !defined __need_getopt ... #endif'. The only place
69543         where __getopt_argv_const is used is in definitions
69544         of getopt_long and getopt_long_only below, which are as well
69545         protected by `#ifndef __need_getopt'.
69546         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
69547         __need_getopt after including <stdio.h> and <unistd.h> These
69548         headers might have defined it.
69549
69550 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69551
69552         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
69553
69554 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69555
69556         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
69557         (futimens): New function, which uses futimes if available.
69558         (futimens, utimens): Support timespec==NULL, with same semantics
69559         as utime and utimens.
69560         * lib/utimens.h (futimens): New decl.
69561
69562 2004-11-23  Jim Meyering  <jim@meyering.net>
69563
69564         * lib/getopt_.h: Remove trailing blanks.
69565
69566 2004-11-23  Jim Meyering  <jim@meyering.net>
69567
69568         * lib/__fpending.c: Add comment.
69569
69570 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
69571
69572         * modules/canonicalize (Depends-on): Add xreadlink.
69573         Problem reported by James Youngman.
69574
69575 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69576
69577         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
69578         New macros.
69579         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
69580         optopt): Use them instead of invoking ## directly; otherwise, the
69581         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
69582
69583 2004-11-19  Bruno Haible  <bruno@clisp.org>
69584
69585         * lib/strtok_r.c: Move comments from here...
69586         * lib/strtok_r.h: ... to here.
69587
69588 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69589
69590         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
69591         implementations that mishandle size_t overflow.
69592
69593 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69594
69595         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
69596         might fail.  Problem reported by Yoann Vandoorselaere.
69597         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
69598         implementations that mishandle size_t overflow.
69599
69600 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69601
69602         * modules/canon-host (Depends-on): Add strdup.
69603
69604 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69605
69606         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69607
69608 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * lib/canon-host.c: Include "strdup.h".
69611         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69612         Use strdup instead of malloc/strcpy to duplicate strings.
69613
69614         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69615         (human_space_before_unit): New constant.
69616         * lib/human.c (human_readable): Support it.
69617
69618         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69619         (xgetcwd): Set errno correctly when failing.
69620         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69621         the failure is actually due to a PATH_MAX problem.
69622
69623         Further getopt changes to make it more likely that glibc will
69624         buy the changes back.
69625         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69626         (getopt): Use it, so to preserve glibc semantic
69627         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69628         when compiling for libc.
69629         * lib/getopt_.h (__getopt_argv_const): Bring it back.
69630         (getopt_long, getopt_long_only): Use it.
69631
69632         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69633         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
69634         (getopt): Argv is now char * const *, as per standard.
69635         (_getopt_internal_r, _getopt_internal): Argv is now char **,
69636         not char *__getopt_argv_const *.
69637         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69638         _getopt_long_only_r): Likewise.
69639         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
69640         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69641         _getopt_long_r, _getopt_long_only_r): Likewise.
69642         * lib/getopt_.h (__getopt_argv_const): Remove.
69643         (getopt): Argv is now char * const *, as per standard.
69644
69645         * lib/getdate.y (tORDINAL): New token.
69646         (day, relunit): Allow it for relative times.
69647         (relative_time_table): Use tORDINAL for ordinals.
69648
69649 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69650
69651         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
69652         Document that "second" isn't allowed as an ordinal number.
69653
69654 2004-11-16  Jim Meyering  <jim@meyering.net>
69655
69656         * modules/closeout (Depends-on): Add fpending.
69657
69658 2004-11-15  Jim Meyering  <jim@meyering.net>
69659
69660         * lib/closeout.c: Include "__fpending.h" once again.
69661         Include <stdbool.h>.
69662         (close_stdout): Don't fail just because stdout was closed initially,
69663         since some programs don't write to stdout in the normal course of
69664         operation (other than --version and --help), and we don't want this
69665         function to make e.g. `touch file >&-' fail.
69666         But do fail if it was closed and someone has tried to write to it.
69667         E.g., `printf foo >&-' must fail.
69668
69669 2004-11-13  Jim Meyering  <jim@meyering.net>
69670
69671         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
69672
69673 2004-11-12  Simon Josefsson  <jas@extundo.com>
69674
69675         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
69676         small doc fix is still pending.
69677
69678 2004-11-11  Simon Josefsson  <jas@extundo.com>
69679
69680         * modules/strtok_r: New file.
69681
69682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69683         strtok_r.
69684
69685 2004-11-11  Simon Josefsson  <jas@extundo.com>
69686
69687         * m4/strtok_r.m4: New file.
69688
69689         * m4/getopt.m4: Replace opterr.
69690
69691 2004-11-11  Simon Josefsson  <jas@extundo.com>
69692
69693         * lib/strtok_r.h, strtok_r.c: New file.
69694
69695 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69696
69697         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
69698         of replacing opterr, getopt, etc.  This should handle the
69699         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
69700
69701 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69702
69703         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
69704         we can stop lying to compilers about the constness of argv when we
69705         are compiled outside glibc.
69706         (getopt, getopt_long, getopt_long_only): Use it.
69707         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69708         _getopt_internal, getopt): Likewise.
69709         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69710         _getopt_long_only_r): Likewise.
69711         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69712         _getopt_long_r, _getopt_long_only_r): Likewise.
69713
69714         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
69715         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
69716         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
69717         the other external symbols.
69718         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
69719         declaration, since the above renaming now works around collisions.
69720
69721 2004-11-11  Jim Meyering  <jim@meyering.net>
69722
69723         * lib/linebreak.c: Remove trailing blanks.
69724         * lib/alloca_.h: Likewise.
69725         * lib/acosl.c: Likewise.
69726         * lib/euidaccess.c: Likewise.
69727         * lib/allocsa.h: Likewise.
69728
69729 2004-11-10  Simon Josefsson  <jas@extundo.com>
69730
69731         * m4/getaddrinfo.m4: New file.
69732
69733 2004-11-10  Simon Josefsson  <jas@extundo.com>
69734
69735         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
69736
69737 2004-11-10  Simon Josefsson  <jas@extundo.com>
69738
69739         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69740         getaddrinfo.
69741
69742         * modules/getaddrinfo: New file.
69743
69744 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69745
69746         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
69747
69748 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69749
69750         * lib/mktime.c (SHR): New macro, which is a portable
69751         substitute for >> that should work even on Crays.
69752         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
69753         Problem reported by Mark D. Baushke in
69754         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
69755         * lib/getdate.y (SHR): Likewise.
69756         (tm_diff): Use it.
69757         * lib/strftime.c (SHR): Likewise.
69758         (tm_diff): Use it.
69759         * lib/quotearg.c (struct quoting_options): Use unsigned int for
69760         quote_these_too, so that right shifts are well defined.  All uses
69761         changed.
69762
69763 2004-11-10  Jim Meyering  <jim@meyering.net>
69764
69765         Ensure that no close failure goes unreported.
69766         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
69767         return early when it seems there's nothing to flush.
69768         Don't include __fpending.h.
69769
69770 2004-11-10  Jim Meyering  <jim@meyering.net>
69771
69772         * modules/closeout (Depends-on): Remove fpending.
69773
69774 2004-11-10  Jim Meyering  <jim@meyering.net>
69775
69776         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
69777
69778 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69779
69780         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
69781         gl_FUNC_STRFTIME.
69782         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
69783         and AC_REQUIRE when possible, to avoid duplicate checks.
69784         Check for <wchar.h>.
69785
69786 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69787
69788         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
69789
69790 2004-11-09  Bruno Haible  <bruno@clisp.org>
69791
69792         * m4/sockpfaf.m4: New file.
69793
69794 2004-11-05  Bruno Haible  <bruno@clisp.org>
69795
69796         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
69797         Reported by Mark D. Baushke <mdb@cvshome.org>.
69798
69799 2004-11-04  Bruno Haible  <bruno@clisp.org>
69800
69801         2004-09-11  Bruno Haible  <bruno@clisp.org>
69802                 * allocsa.valgrind: New file.
69803         2004-02-06  Bruno Haible  <bruno@clisp.org>
69804                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
69805                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
69806                 Reported by Christopher Seip <chris.seip@hp.com>.
69807
69808 2004-11-04  Bruno Haible  <bruno@clisp.org>
69809
69810         * modules/allocsa (Files): Add lib/allocsa.valgrind.
69811         (Makefile.am): Distribute it.
69812
69813 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69814
69815         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
69816         with errno == ERANGE if the buffer is too small.
69817         Problem reported by Mark D. Baushke.
69818
69819 2004-11-03  Albert Chin  <china@thewrittenword.com>
69820             Paul Eggert  <eggert@cs.ucla.edu>
69821
69822         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
69823         equivalent, substitute $ac_type for equivalent type rather than
69824         blindly using uint32_t *always* which won't work if uint32_t is not
69825         available.  Define _UINT32_T to work around typedef of uint32_t if
69826         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
69827         2.5.1.
69828
69829 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69830
69831         * m4/jm-macros.m4: Sync from coreutils.
69832         (gl_MACROS): Check for mbrlen, for pathchk.
69833         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
69834
69835 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69836
69837         * lib/xreadlink.c (MAXSIZE): New macro.
69838         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
69839         size does not exceed MAXSIZE.  Avoid cast.
69840         As suggested by Mark D. Baushke in
69841         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
69842         if readlink fails with buffer size just under MAXSIZE, try again
69843         with MAXSIZE.
69844
69845 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
69848
69849 2004-11-02  Derek R. Price  <derek@ximbiot.com>
69850         and  Paul Eggert  <eggert@cs.ucla.edu>
69851
69852         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
69853         (get_date): Overparenthesize to avoid GCC warning.
69854
69855 2004-11-02  Bruno Haible  <bruno@clisp.org>
69856
69857         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
69858         returns void.
69859
69860 2004-11-02  Bruno Haible  <bruno@clisp.org>
69861
69862         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
69863         function returns void.
69864
69865 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69866
69867         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
69868         fflush_unlocked, flockfile, funlockfile, funlockfile,
69869         fputs_unlocked, putc_unlocked.
69870
69871 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69872
69873         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69874         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
69875         already declared.
69876
69877 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69878
69879         * modules/getdate (Files): Add doc/getdate.texi.
69880         (Depends-on): Add setenv, xalloc.
69881
69882 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69883
69884         * lib/getdate.y: Add support for TZ="foo" within a date string.
69885         Fix some bugs near time_t boundaries.  Reject dates with
69886         out-of-range components, e.g., "Sept 31".
69887         Include <stdlib.h>, "setenv.h", "xalloc.h".
69888         (ISDIGIT_LOCALE): Remove; unused.
69889         Note that the TZ and time functions used here are not reentrant.
69890         (mktime_ok, get_tz): New functions.
69891         (TZBUFSIZE): New constant.
69892         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
69893         This requires that we sometimes generate our own TZ="XXX..." setting.
69894
69895 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         * doc/getdate.texi: New file, from coreutils with modifications for
69898         the new TZ parsing.
69899
69900 2004-10-27  Derek R. Price  <derek@ximbiot.com>
69901
69902         * lib/mktime.c (not_equal_tm): Remove redundant check.
69903
69904 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69905
69906         * modules/regex (lib_SOURCES): Add regex.c.
69907         Reported by James Youngman in
69908         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
69909
69910 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69911
69912         * lib/getdate.y: Use Bison 1.875 features, and some minor
69913         code cleanups.  This change does not affect semantics.
69914         Don't include <stdlib.h>; no longer needed.
69915         Don't include unlocked-io.h; only the "#if TEST" code uses
69916         stdio, and performance isn't crucial there.
69917         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
69918         Bison 1.875 features as described below.
69919         All uses of "PC." replaced by "pc->".
69920         (YYSTYPE): Add a forward declaration.
69921         (yylex, yyerror): Use full prototypes in forward decls.
69922         Use "%pure-parser" rather than obsolescent "%pure_parser".
69923         Use %parse-param and %lex-param instead of obsolescent
69924         YYPARSE_PARAM and YYLEX_PARAM.
69925         (meridian_table, month_and_day_table, time_units_table,
69926         relative_time_table, time_zone_table, military_table,
69927         lookup_zone, lookup_word, get_date):
69928         Use NULL instead of 0 where appropriate.
69929         (to_hour): Avoid abort (), to avoid a dependency on
69930         stdlib.h.
69931         (yyerror, yylex): Now accepts parser_control * arg.
69932         (main) [TEST]: Use '\0' rather than 0 for char.
69933
69934 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69935
69936         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
69937
69938 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69939
69940         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
69941         It's now the caller's responsibility to handle the case where
69942         !HAVE_GETPAGESIZE && !defined getpagesize.
69943
69944         * lib/mktime.c (leapyear): Arg is long int, not int.
69945
69946 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
69947
69948         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
69949
69950 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69951
69952         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
69953         missing.  Problem reported by James Youngman.
69954
69955 2004-10-16  Simon Josefsson  <jas@extundo.com>
69956
69957         * gnulib-tool: Fix comments.  Fix parse problem.
69958         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
69959
69960 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
69963         implementation of getopt_long.  Problem reported by Alexander Taler in:
69964         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
69965
69966 2004-10-15  Bruno Haible  <bruno@clisp.org>
69967
69968         * gnulib-tool: Untabify. Initialize supplied_libname.
69969         (func_usage): More homogenous output.
69970         (func_modules_transitive_closure, func_modules_to_filelist,
69971         func_emit_lib_Makefile_am): New functions.
69972         (func_import): New function, extracted from big case statement. Use
69973         func_get_license, func_modules_transitive_closure,
69974         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
69975         opt_lgpl. Don't use test -a, as it's not portable.
69976         (func_create_testdir): Use func_modules_transitive_closure,
69977         func_modules_to_filelist, func_emit_lib_Makefile_am.
69978
69979 2004-10-15  Bruno Haible  <bruno@clisp.org>
69980
69981         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
69982
69983 2004-10-15  Bruno Haible  <bruno@clisp.org>
69984
69985         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
69986         the portions belonging to each module.
69987         Suggested by Derek Robert Price <derek@ximbiot.com>.
69988
69989 2004-10-12  Simon Josefsson  <jas@extundo.com>
69990
69991         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69992         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
69993         to real functions.
69994
69995 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69996
69997         * modules/vsnprintf: New file.
69998
69999 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70000
70001         * m4/vsnprintf.m4: New file.
70002
70003 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70004
70005         * lib/vsnprintf.h: New file.
70006         * lib/vsnprintf.c: New file.
70007
70008 2004-10-11  Bruno Haible  <bruno@clisp.org>
70009
70010         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
70011         vsnprintf.
70012
70013 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70014
70015         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
70016
70017 2004-10-07  Bruno Haible  <bruno@clisp.org>
70018
70019         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
70020         fits into the provided buffer.
70021
70022 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70023
70024         * lib/diacrit.c, diacrit.h: Add GPL notice.
70025
70026         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
70027         notice.
70028         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
70029         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
70030         This avoids a potential constant-folding bug.
70031
70032 2004-10-05  Bruno Haible  <bruno@clisp.org>
70033
70034         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
70035         for the declaration of strsep.
70036
70037 2004-10-05  Bruno Haible  <bruno@clisp.org>
70038
70039         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
70040
70041 2004-10-04  Simon Josefsson  <jas@extundo.com>
70042
70043         * modules/memmem: New file.
70044         * tests/test-memmem.c: New file.
70045         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
70046
70047 2004-10-04  Simon Josefsson  <jas@extundo.com>
70048
70049         * m4/memmem.m4: New file.
70050
70051 2004-10-04  Simon Josefsson  <jas@extundo.com>
70052
70053         * lib/memmem.h: New file.
70054         * lib/memmem.c: New file, taken from glibc.
70055
70056 2004-10-04  Simon Josefsson  <jas@extundo.com>
70057
70058         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
70059         '#ifdef USE_UNLOCKED_IO'.
70060
70061 2004-10-04  Simon Josefsson  <jas@extundo.com>
70062
70063         * config/srclist.txt: Add memmem from glibc.
70064
70065 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70066
70067         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
70068
70069         * modules/argmatch, modules/argp, modules/closeout, modules/error,
70070         modules/exclude, modules/getdate, modules/getline,
70071         modules/getndelim2, modules/getpass, modules/getpass-gnu,
70072         modules/getusershell, modules/linebuffer, modules/md5,
70073         modules/mountlist, modules/posixtm, modules/readtokens,
70074         modules/readutmp, modules/regex, modules/sha1,
70075         modules/version-etc, modules/yesno:
70076         Remove dependency on unlocked-io.
70077
70078 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70079
70080         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
70081
70082         * m4/unlocked-io.m4: Add copyright notice.
70083         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
70084
70085 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70086
70087         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
70088         * lib/xmalloc.c (xmemdup): Likewise.
70089         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
70090         XFREE): Remove these long-obsolescent macros.
70091         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
70092         * lib/xstrdup.c: Remove.
70093
70094         * lib/regex.c (re_comp): Cast gettext return value to char *,
70095         Problem reported by Martin Neitzel via Mark D. Baushke.
70096
70097 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70098
70099         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
70100         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
70101         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
70102         regex.c, sha1.c, version-etc.c, yesno.c:
70103         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
70104         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
70105         the includer's responsibility.
70106
70107         Sync from coreutils.
70108
70109         * lib/modechange.c (mode_compile): Don't decrement a pointer that
70110         points to the start of a string, as the C Standard says the
70111         resulting behavior is undefined.
70112
70113         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
70114         simple -> simple_backups, numbered_existing ->
70115         numbered_existing_backups, numbered -> numbered_backups
70116         to avoid shadowing problems.  All uses changed.
70117         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
70118         * lib/backupfile.c (check_extension, numbered_backup):
70119         Rename locals to avoid shadowing 'basename'.
70120         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
70121         once.
70122
70123         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
70124         * lib/.cvsignore: Add getopt.h.
70125
70126 2004-10-04  Bruno Haible  <bruno@clisp.org>
70127
70128         * modules/README: New file.
70129         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
70130         not a module.
70131
70132 2004-10-02  Jim Meyering  <jim@meyering.net>
70133
70134         * lib/dirfd.h, getpagesize.h: Add copyright notice.
70135
70136 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70137
70138         * modules/strsep: New file.
70139
70140 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70141
70142         * m4/strsep.m4: New file.
70143
70144 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70145
70146         * lib/strsep.h: New file.
70147         * lib/strsep.c: New file.
70148
70149 2004-10-01  Simon Josefsson  <jas@extundo.com>
70150
70151         * lib/snprintf.c (snprintf): Handle size==0.
70152
70153 2004-10-01  Simon Josefsson  <jas@extundo.com>
70154             Bruno Haible  <bruno@clisp.org>
70155
70156         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
70157         (snprintf): Declare 'args'.
70158
70159 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
70160
70161         * lib/snprintf.c: Remove comments as to why each header is needed.
70162
70163 2004-10-01  Bruno Haible  <bruno@clisp.org>
70164
70165         * MODULES.html.sh: Add strsep.
70166
70167 2004-09-30  Simon Josefsson  <jas@extundo.com>
70168
70169         * modules/snprintf: New file.
70170
70171 2004-09-30  Simon Josefsson  <jas@extundo.com>
70172
70173         * m4/snprintf.m4: New file.
70174
70175 2004-09-30  Simon Josefsson  <jas@extundo.com>
70176
70177         * lib/snprintf.h, lib/snprintf.c: New files.
70178
70179 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70180
70181         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
70182         (hol_entry_help): Never translate an empty string.
70183         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
70184         * lib/argp.h (OPTION_NO_TRANS): New option.
70185
70186 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70187
70188         * modules/argp (Maintainer): Replace Simon Josefsson
70189         by Sergey Poznyakoff.
70190
70191 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70192
70193         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
70194         changes merged back into glibc.
70195
70196 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
70199
70200 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70201
70202         * lib/xvasprintf.c: Include xalloc.h.
70203         (xvasprintf): Use xalloc_die, not xmalloc_die.
70204
70205 2004-09-29  Bruno Haible  <bruno@clisp.org>
70206
70207         * modules/alloca-opt: New file, derived from modules/alloca.
70208         * modules/allocsa: Depend on alloca-opt instead of alloca.
70209         * modules/setenv: Likewise.
70210         * modules/vasnprintf: Likewise.
70211         * MODULES.html.sh: Add alloca-opt.
70212
70213 2004-09-28  Simon Josefsson  <jas@extundo.com>
70214
70215         * gnulib-tool: New parameter --lgpl, to asseert that modules are
70216         LGPL, and to replace license template from GPL to LGPL.
70217
70218 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70219
70220         * modules/dummy: Change license to LGPL.
70221
70222 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70223
70224         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
70225
70226 2004-09-24  Simon Josefsson  <jas@extundo.com>
70227
70228         * modules/minmax (License): Change from GPL to LGPL.
70229
70230 2004-09-23  Simon Josefsson  <jas@extundo.com>
70231
70232         * gnulib-tool (--import): Typo.
70233
70234 2004-09-23  Simon Josefsson  <jas@extundo.com>
70235
70236         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
70237
70238 2004-09-22  Bruno Haible  <bruno@clisp.org>
70239
70240         * modules/*: Add 'License' field.
70241         * gnulib-tool: Accept --extract-license option.
70242         (func_get_license): New function.
70243
70244 2004-09-21  Bruno Haible  <bruno@clisp.org>
70245
70246         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
70247         Reported by Simon Josefsson.
70248
70249 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70250
70251         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
70252         gl_AC_TYPE_LONG_LONG.
70253
70254 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70255
70256         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
70257
70258 2004-09-18  Simon Josefsson  <jas@extundo.com>
70259         and  Paul Eggert  <eggert@cs.ucla.edu>
70260
70261         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
70262         calls with autoreconf.  Define GL_LIB.
70263
70264 2004-09-14  Karl Berry  <karl@gnu.org>
70265
70266         * config/srclist.txt: unsync setenv.c, sigh.
70267
70268 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70269
70270         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
70271         Problem reported by Bruno Haible in:
70272         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
70273
70274 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70275
70276         * config/srclist.txt: Comment out argp-pvh.c.
70277
70278 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
70279
70280         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
70281         in case some system header has #define'd it.  Problem reported by
70282         Soeren D. Schulze in
70283         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
70284
70285 2004-09-09  Karl Berry  <karl@gnu.org>
70286
70287         * regex.[ch]: delete from the root.  These were supposed to be
70288                 synced with emacs cvs, but this has not happened for about
70289                 a year, and anyway nothing else uses emacs regex.[ch].
70290                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
70291                 lib/regex[.ch] is untouched.
70292
70293 2004-09-09  Bruno Haible  <bruno@clisp.org>
70294
70295         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
70296
70297 2004-09-09  Bruno Haible  <bruno@clisp.org>
70298
70299         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
70300         modifications.
70301         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
70302
70303 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70304
70305         * modules/xvasprintf: New file.
70306         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
70307
70308 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70309
70310         * lib/xvasprintf.h: New file.
70311         * lib/xvasprintf.c: New file.
70312         * lib/xasprintf.c: New file.
70313
70314 2004-09-08  Bruno Haible  <bruno@clisp.org>
70315
70316         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
70317
70318 2004-09-08  Bruno Haible  <bruno@clisp.org>
70319
70320         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
70321         length is > INT_MAX.
70322         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
70323         more.
70324
70325 2004-09-08  Bruno Haible  <bruno@clisp.org>
70326
70327         * lib/stdint_.h: New file, taken from GNU clisp.
70328
70329 2004-09-08  Bruno Haible  <bruno@clisp.org>
70330             Oskar Liljeblad  <oskar@osk.mine.nu>
70331
70332         * modules/stdint: New file.
70333         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
70334
70335 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70336
70337         Import from coreutils.
70338         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
70339         strings on unbounded length.  alloca's performance benefits aren't
70340         that important here.
70341         (V_STRDUP): Remove.
70342         (parse_with_separator): New function, with most of the internals
70343         of the old parse_user_spec.  Allow user to omit both user and group,
70344         for compatibility with FreeBSD.
70345         Clone only the user name, not the entire spec.
70346         Do not set *uid, *gid unless entirely successful.
70347         Avoid memory leak in some failing cases.
70348         Fix regression for USER.GROUP reported by Dmitry V. Levin in
70349         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
70350         (parse_user_spec): Rewrite to use parse_with_separator.
70351
70352 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70353
70354         * modules/userspec: Don't depend on alloca.
70355
70356 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
70359
70360 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70361
70362         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
70363         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
70364         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
70365
70366 2004-08-16  Simon Josefsson  <jas@extundo.com>
70367
70368         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
70369         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
70370         Add --dry-run for --import.
70371         Let user provided command line parameters override configure.ac
70372         settings.
70373
70374 2004-08-12  Simon Josefsson  <jas@extundo.com>
70375
70376         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
70377         as discussed with Paul Eggert in threads rooted at
70378         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
70379         and
70380         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
70381         Before, the test was empty, and relied on ELIDE_CODE in source
70382         code.)
70383         (gl_PREREQ_GETOPT): New macro.
70384         (gl_GETOPT): Use them.
70385
70386 2004-08-12  Simon Josefsson  <jas@extundo.com>
70387
70388         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
70389         * lib/getopt_.h: Renamed from getopt.h.
70390
70391 2004-08-12  Simon Josefsson  <jas@extundo.com>
70392
70393         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
70394         Change default library name from libfoo to libgnu.
70395         Now, if you have a configure.ac that says:
70396                 gl_SOURCE_BASE(gl)
70397                 gl_M4_BASE(gl/m4)
70398                 gl_MODULES(error getopt etcetera)
70399                 gl_INIT
70400         you can import all you need by running:
70401                 ../gnulib/gnulib-tool --import
70402
70403         * modules/getopt (Files): Rename getopt.h to getopt_.h.
70404         (Makefile.am): Rewrite, use logic from argz.
70405         (Include): Use <getopt.h> instead of "getopt.h".
70406
70407 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70408
70409         * modules/argp (Files): Add m4/unlocked-io.m4.
70410         (Depends-on): Add extensions.
70411
70412 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70413
70414         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
70415         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
70416         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
70417         Check for program_invocation_name, program_invocation_short_name,
70418         flockfile, funlockfile, features.h, _getopt_long_only_r.
70419
70420 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
70423         its complicated substitute.
70424         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
70425         and program_invocation_name.
70426         (__argp_basename) [!_LIBC]: Remove; the only use was
70427         replaced by its body.
70428         (__argp_short_program_name): Change condition from
70429         !defined __argp_short_program_name to
70430         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
70431         to match argp-namefrob.h.
70432         (__argp_failure): Don't assume strerror_r returns char *.
70433         * lib/argp-parse.c (N_): Define unconditionally.
70434         (argp_default_options): Fill out initializers with 0 to avoid
70435         gcc warnings.
70436
70437 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70438
70439         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
70440         getopt1.c.
70441
70442 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70443
70444         Merge from coreutils.
70445
70446         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
70447
70448         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
70449         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
70450
70451 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70452
70453         Merge from coreutils.
70454
70455         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
70456         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
70457         for Reliant Unix 5.43.
70458
70459         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
70460         (union fooround): Use uintmax_t, not long int.
70461         The rest is a merge from libc:
70462         [defined _LIBC]: Include <shlib-compat.h>.
70463         (_obstack) [defined _LIBC]: Remove after 2.3.4.
70464
70465         * lib/settime.c (settime): Recode to avoid warning with
70466         Sun Forte C 6U2.
70467
70468         * lib/strverscmp.c: Convert to UTF-8.
70469
70470 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70473         m4/uintmax_t.m4.
70474
70475 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70476
70477         * modules/xalloc-die: New file.
70478         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
70479
70480         * modules/md5 (Files): Add m4/uint32_t.m4.
70481         * modules/sha1: Renamed from modules/sha.
70482         (Files):
70483         Rename lib/sha.h to lib/sha1.h.
70484         Rename lib/sha.c to lib/sha1.c.
70485         Rename m4/sha.m4 to m4/sha1.m4.
70486         (lib_SOURCES): Likewise.
70487         (configure.ac): Rename gl_SHA to gl_SHA1.
70488         (Include): sha.h -> sha1.h.
70489
70490 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70491
70492         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
70493         * m4/sha1.m4: Renamed from sha.m4.
70494         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
70495
70496 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70497
70498         * lib/obstack.h (obstack_empty_p):
70499         Don't assume that chunk->contents is suitably aligned.
70500         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
70501         Likewise. Problem reported by Benno in
70502         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
70503
70504         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
70505         readable.  This could be improved further but it'd take some work.
70506
70507 2004-08-08  Simon Josefsson  <jas@extundo.com>
70508
70509         * modules/xgethostname (Depends-on): Remove exit and error (not
70510         used).
70511
70512         * modules/getpass-gnu: Add getpass.h.
70513         (Depends-on): Add stdbool.
70514         * modules/getpass: Add getpass.h.
70515
70516 2004-08-08  Simon Josefsson  <jas@extundo.com>
70517
70518         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
70519         Check getpass declaration.
70520
70521 2004-08-08  Simon Josefsson  <jas@extundo.com>
70522
70523         * lib/xgethostname.c: Don't include error.h (not used).
70524
70525         * lib/getpass.h: Add.
70526         * lib/getpass.c: Include getpass.h first.
70527
70528 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
70529
70530         * lib/xalloc-die.c: New file.
70531         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
70532         All uses removed.
70533         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
70534         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
70535         xalloc-die.c.
70536         (_, N_, xalloc_die): Move to xalloc-die.c.
70537         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
70538         so that we needn't mess with xalloc_msg_memory_exhausted.
70539
70540         * lib/sha1.h: Renamed from sha.h.
70541         (SHA1_H): Renamed from _SHA_H.
70542         (sha1_ctx): Renamed from sha_ctx.
70543         (sha1_init_ctx): Renamed from sha_init_ctx.
70544         (sha1_process_block): Renamed from sha_process_block.
70545         (sha1_process_bytes): Renamed from sha_process_bytes.
70546         (sha1_finish_ctx): Renamed from sha_finish_ctx.
70547         (sha1_read_ctx): Renamed from sha_read_ctx.
70548         (sha1_stream): Renamed from sha_stream.
70549         (sha1_buffer): Renamed from sha_buffer.
70550         * lib/sha1.c: Likewise; renamed from sha.c.
70551         Do not include <sys/types.h>.
70552         Include <stddef.h> rather than <stdlib.h>.
70553
70554 2004-08-08  Bruno Haible  <bruno@clisp.org>
70555
70556         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
70557         FILESYSTEM_PREFIX_LEN.
70558         * lib/progreloc.c: Likewise.
70559         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
70560
70561 2004-08-06  Simon Josefsson  <jas@extundo.com>
70562
70563         * modules/progname (Depends-on): Don't depend on stdbool.
70564
70565 2004-08-06  Simon Josefsson  <jas@extundo.com>
70566
70567         * modules/getsubopt: New file.
70568         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70569         getsubopt.
70570
70571 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70572
70573         More merge from coreutils.
70574
70575         * m4/utimens.m4, m4/utimecmp.m4: New files.
70576         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
70577         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
70578         prereq.m4, sha.m4: Import changes from coreutils.
70579
70580 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70581
70582         More merge from coreutils.
70583         * modules/raise, modules/readtokens0, modules/utimens:
70584         * modules/utimecmp, module/xnanosleep: New files.
70585         * modules/strftime: Add lib/strftime.h.
70586         Change include from <time.h> to "strftime.h".
70587         * modules/yesno: Add lib/yesno.h.
70588         * modules/backupfile: Remove lib/addext.c.
70589         * modules/euidaccess: Add stat-macros.h.
70590         * modules/canonicalize, modules/euidaccess,
70591         modules/filemode, modules/lchown, modules/makepath,
70592         modules/rmdir, modules/stat: Likewise.
70593
70594 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70595
70596         Merge from tar.
70597         * lib/argp-help.c (make_hol, hol_append): Don't assume that
70598         SIZE_MAX is a valid preprocessor constant.
70599         (__argp_basename): Change from "#ifndef _LIBC"
70600         to "#ifndef __argp_short_program_name", so that
70601         we don't compile these functions for tar.
70602
70603         More merges from coreutils.
70604         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70605         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70606         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70607         * lib/addext.c: Remove; no longer needed.
70608         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70609         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70610         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70611         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70612         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70613         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70614         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70615         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70616         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70617         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70618         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70619         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70620         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70621         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70622         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70623         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70624         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70625         Import changes from coreutils.
70626
70627 2004-08-05  Simon Josefsson  <jas@extundo.com>
70628
70629         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
70630
70631 2004-08-05  Simon Josefsson  <jas@extundo.com>
70632
70633         * m4/getsubopt.m4: New file.
70634
70635 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70636
70637         Merge from coreutils.
70638
70639         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
70640         * m4/getcwd-path-max.m4: New files.
70641
70642         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
70643         FILESYSTEM_PREFIX_LEN ->
70644         FILE_SYSTEM_PREFIX_LEN.
70645         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
70646         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
70647         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
70648         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
70649
70650         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
70651         prerequisite modules now handle the DOS stuff.
70652         Don't check for unistd.h.
70653
70654 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70655
70656         Merge from coreutils.
70657
70658         * lib/.gdb-history: Remove; this doesn't belong here.
70659
70660         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
70661         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
70662         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
70663         * lib/getcwd.c: New files.
70664
70665         * lib/dirname.h: Include <stdbool.h>.
70666         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
70667         for consistency with POSIX terminology.  All uses changed.
70668         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
70669         (strip_trailing_slashes): Use bool for booleans.
70670         * lib/stripslash.c (strip_trailing_slashes): Likewise.
70671
70672         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
70673         sometimes returns a positive errno value even when it succeeds.
70674         (print_errno_message) [!LIBC]: Fall back on strerror if
70675         __strerror_r fails.
70676
70677         * lib/path-concat.c (mempcpy): Don't define if a system header defines
70678         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
70679         (longest_relative_suffix): New function.
70680         (path_concat): Use it.  Assume first argument is not NULL.
70681         Port to DOS.  Omit redundant separators.
70682         Report an error instead of returning NULL.
70683         Use mempcpy instead of memcpy.
70684         (xpath_concat): Remove: not declared or used.
70685
70686         * lib/same.h: Include <stdbool.h>
70687         (same_name): Return bool, not int.
70688         * lib/same.c (same_name): Likewise.
70689         (errno): Don't declare; we assume C89 or better now.
70690
70691         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
70692         if not already defined.
70693
70694         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
70695         * lib/dup-safer.c (errno): Likewise.
70696
70697 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70698
70699         Merge from coreutils.
70700         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
70701         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
70702         * modules/path-concat: Don't depend on strdup.
70703
70704 2004-08-03  Simon Josefsson  <jas@extundo.com>
70705
70706         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
70707         * lib/progname.h: Don't include stdbool.h.
70708
70709 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70710
70711         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
70712         * MODULES.html.sh (func_all_modules): Remove fatal.
70713
70714 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
70717
70718 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
70721         working.
70722
70723 2004-08-02  Simon Josefsson  <jas@extundo.com>
70724
70725         * lib/getsubopt.h: New file, with comments from Bruno Haible.
70726         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
70727         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
70728
70729 2004-08-01  Simon Josefsson  <jas@extundo.com>
70730
70731         * lib/xgetdomainname.c: Include stdlib.h, for free().
70732
70733 2004-07-19  Bruno Haible  <bruno@clisp.org>
70734
70735         * MODULES.html.sh (func_all_modules): Add dummy.
70736
70737 2004-07-16  Simon Josefsson  <jas@extundo.com>
70738
70739         * modules/dummy: New file.
70740
70741 2004-07-16  Simon Josefsson  <jas@extundo.com>
70742
70743         * lib/dummy.c: New file.
70744
70745 2004-07-16  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/backupfile.h: Add extern "C" for C++.
70748         * lib/closeout.h: Likewise.
70749         * lib/copy-file.h: Likewise.
70750         * lib/findprog.h: Likewise.
70751         * lib/full-write.h: Likewise.
70752         * lib/pathname.h: Likewise.
70753         * lib/progname.h: Likewise.
70754         * lib/stpcpy.h: Likewise.
70755         * lib/stpncpy.h: Likewise.
70756         * lib/strcase.h: Likewise.
70757         * lib/strstr.h: Likewise.
70758         * lib/xalloc.h: Likewise.
70759
70760         * lib/mbswidth.h: Add extern "C" for C++.
70761         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
70762
70763 2004-07-13  Robert Millan  <robertmh@gnu.org>
70764
70765         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
70766
70767 2004-07-09  Simon Josefsson  <jas@extundo.com>
70768
70769         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
70770         failed without this.)
70771
70772 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * modules/chown (Files): Add lib/fchown-stub.c, since
70775         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
70776
70777 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70778
70779         * lib/fchown-stub.c: New file.
70780
70781 2004-06-24  Jim Meyering  <jim@meyering.net>
70782
70783         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
70784
70785 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70786
70787         * modules/argz: Omit "#include".
70788
70789         * MODULES.html.sh (func_all_modules): Add calloc, to match
70790         2004-06-01 addition of calloc module.
70791
70792 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70793
70794         * m4/argz.m4: New file, which is autoupdated from libtool.
70795
70796 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70797
70798         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
70799         libtool.
70800
70801 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70802
70803         * config/srclist-update: Don't insist on "USA." before the
70804         close-comment, as libtool omits the period and puts the */ on a
70805         separate line.
70806         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
70807         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
70808
70809 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
70810
70811         * modules/argz: New file.
70812         * MODULES.html.sh (func_all_modules): Add argz.
70813
70814 2004-06-12  Jim Meyering  <jim@meyering.net>
70815         and  Paul Eggert  <eggert@cs.ucla.edu>
70816
70817         * modules/hash (Files): Add lib/xalloc.h.
70818         * modules/pipe (Depends-on): Add wait-process.
70819         * modules/stat (Depends-on): Add xalloc.
70820         * modules/userspec (Files): Add lib/userspec.h.
70821         * modules/xstrto
70822
70823         Upgrade from gettext-0.13.
70824         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
70825         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
70826         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
70827
70828 2004-06-10  Jim Meyering  <jim@meyering.net>
70829
70830         * lib/calloc.c: New file.
70831
70832 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
70833
70834         * lib/getdate.y (yylex): Allow space between sign and number.
70835         Problem reported by Dan Jacobson.
70836
70837 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70838
70839         Merge from coreutils CVS.
70840
70841         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
70842         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
70843         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
70844         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
70845         xstrtol.m4: Fix copyright date and/or serial number.
70846
70847         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
70848         See if we need an fchown replacement.
70849         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
70850         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
70851         and use the replacement function if we detect either defect.
70852
70853         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
70854         gl_UTIMECMP.
70855
70856 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70857         and  Jim Meyering  <jim@meyering.net>
70858
70859         Merge from coreutils CVS.
70860
70861         * lib/stat-macros.h: New file, with contents from file-type.h
70862         and coreutils' system.h.
70863         * lib/file-type.c: Include "stat-macros.h".
70864         * lib/file-type.h (file_type): Move all macro definitions to new file,
70865         stat-macros.h.
70866
70867         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
70868         Wrap old code with this conditional.
70869         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
70870         function that does not dereference symlinks.
70871         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
70872
70873         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
70874         dependency problems.
70875         (xreadlink): Accept new arg SIZE, for efficiency.
70876         All decls and uses changed.
70877         * lib/xreadlink.h: Include <stddef.h>, for size_t.
70878
70879         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
70880         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
70881
70882         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
70883         sysexits.h.
70884
70885 2004-06-01  Jim Meyering  <jim@meyering.net>
70886
70887         * m4/calloc.m4: New file.
70888
70889 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
70890
70891         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
70892         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
70893         Also, fix a typo in a diagnostic.
70894
70895 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70896
70897         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
70898         or AC_FUNC_REALLOC.
70899
70900 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70901
70902         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
70903         macros to be defined.
70904         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
70905         the allocator returns NULL because the requested size is zero.
70906
70907 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70908
70909         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
70910         var.  Add comment explaining why libc still defines it.  This
70911         merges the following patch from glibc:
70912         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
70913
70914 2004-05-20  Andreas Schwab  <schwab@suse.de>
70915
70916         * m4/free.m4: Replace free if it not known to work, not the other
70917         way round.
70918
70919 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70920
70921         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
70922         present in glibc since revision 1.1 of this file.
70923         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
70924         obstack_alignment_mask, obstack_alloc, obstack_base,
70925         obstack_blank, obstack_blank_fast, obstack_chunk_size,
70926         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
70927         obstack_grow0, obstack_init, obstack_int_grow,
70928         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
70929         obstack_next_free, obstack_object_size, obstack_ptr_grow,
70930         obstack_ptr_grow_fast, obstack_room): Remove declarations of
70931         nonexistent functions.
70932
70933 2004-05-18  Karl Berry  <karl@gnu.org>
70934
70935         * config/srclist.txt: break link for vasnprintf.c.
70936
70937 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70938
70939         Port obstack to the AS/400, where pointers are 16 bytes wide and
70940         you cannot cast an integer to a valid pointer.  This patch is
70941         currently waiting to be integrated into glibc; see
70942         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
70943
70944         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
70945         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
70946         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
70947         (struct obstack): temp member is now a union of a pointer and
70948         an integer, instead of an integer.  All integer uses changed.
70949         This does not affect the physical layout of struct obstack,
70950         except on hosts (like the AS/400) where the size or alignment of
70951         void * is greater than that of ptrdiff_t.
70952         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
70953         __STDC__)]: Store temporary in pointer member of union, not
70954         integer member.
70955         * lib/obstack.c: Include <stddef.h>, for offsetof.
70956         (struct fooalign): Remove; it doesn't need a name.
70957         (union fooround): Change double to long double, and add void *.
70958         (DEFAULT_ALIGNMENT): Use offsetof to compute.
70959         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
70960         not a macro.  Hence the values are always int; so remove all
70961         casts-to-int in uses.
70962
70963 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70964
70965         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
70966         we can get this patch merged into glibc.
70967
70968 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70969             Paul Eggert  <eggert@cs.ucla.edu>
70970
70971         * m4/argp: Depend on alloca.
70972
70973 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70974             Paul Eggert  <eggert@cs.ucla.edu>
70975
70976         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
70977         freecoding.
70978
70979 2004-05-17  Bruno Haible  <bruno@clisp.org>
70980
70981         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
70982         precision that consists of a '.' followed by an empty digit string.
70983         Patch by Tor Lillqvist <tml@iki.fi>.
70984
70985 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70986
70987         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
70988         for backward compatibility with older code.  We need our own
70989         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
70990         it under some other name, and our alloca.h will define it.
70991
70992 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70993             Derek Price  <derek@ximbiot.com>
70994
70995         * lib/alloca.c: Include <alloca.h>, to get our interface.
70996         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
70997         include <alloca.h> first.  Use C89 prototype for alloca; this
70998         requires including <stddef.h> for size_t.  Use extern "C" if C++.
70999         Use #elif for simplicity, since we can assume C89 now.
71000         Don't try to source the system alloca.h since it will not be found
71001         and to prevent recursively including its replacement.
71002         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
71003         * lib/regex.c: Likewise.
71004
71005 2004-05-16  Derek Price  <derek@ximbiot.com>
71006             Paul Eggert  <eggert@cs.ucla.edu>
71007
71008         getline cleanup.  This changes the getndelim2 API: both order of
71009         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
71010         no delimiter).
71011
71012         * lib/getline.c: Don't include stddef.h or stdio.h, since our
71013         interface does that.
71014         (getline): Always use getdelim, so that we don't have two
71015         copies of this code.
71016         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
71017         if available.
71018         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
71019         (GETNDELIM2_MAXIMUM): New macro.
71020         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
71021         instead of the old practice of delim2==0.  All callers changed.
71022         Return -1 on overflow, instead of returning junk.
71023         Do not set *linesize unless allocation succeeds.
71024         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
71025         that we include sys/types.h.
71026         * lib/getnline.h: Likewise.
71027         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
71028         (getndelim2): Reorder arguments.
71029         * lib/getnline.c (getnline, getndelim):
71030         Don't discard the NMAX argument.
71031         (getnline): Invoke getndelim, to avoid code duplication.
71032         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
71033         of (size_t) -1 by callers of the getnline family.
71034
71035 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71036
71037         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
71038         Check for gettimeofday.
71039         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
71040         Check for settimeofday, stime.
71041
71042 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71043
71044         * lib/nanosleep.c (suspended): Change its type from int to
71045         sig_atomic_t volatile.
71046         (first_call): Make it private to rpl_nanosleep, and have it
71047         be zero initially as that's a bit faster.
71048         (my_usleep): Round up fractional times instead of truncating them,
71049         as this is the usual meaning for 'sleep'.
71050
71051         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
71052         doesn't work.
71053         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
71054         (ENOSYS): Define if not defined.
71055         (settime): Fall back on stime if it exists and settimeofday fails.
71056         But don't bother with fallbacks if a method fails with errno == EPERM.
71057
71058 2004-05-11  Jim Meyering  <jim@meyering.net>
71059
71060         Prior to this change, the save_cwd caller required read access to the
71061         current directory on most systems (ones with the fchdir function).
71062
71063         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
71064         fails, try write-only, and finally, resort to using xgetcwd.
71065
71066 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
71067
71068         * lib/obstack.c, obstack.h: Import changes from libc.
71069
71070 2004-04-28  Bruno Haible  <bruno@clisp.org>
71071
71072         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
71073         also implicitly appends .exe to executables.
71074         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
71075         accepts Windows pathnames.
71076         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71077         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71078         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71079         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71080         Reported by Derek Robert Price <derek@ximbiot.com>.
71081
71082 2004-04-21  Karl Berry  <karl@gnu.org>
71083
71084         * config/srclist.txt (localcharset.c): break sync.
71085
71086 2004-04-20  Paul Eggert  <eggert@twinsun.com>
71087
71088         * m4/host-os.m4: Add a copyright notice.
71089
71090 2004-04-20  Jim Meyering  <jim@meyering.net>
71091
71092         Change UTILS_ to gl_ in AC_DEFINE'd names.
71093         Change utils_- and jm_-prefixed variables, too.
71094         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
71095         UTILS_FUNC_MKDIR_TRAILING_SLASH.
71096         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
71097
71098         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
71099         Don't emit trailing blanks.
71100         Also rename jm_-prefixed variables to have gl_ prefix.
71101
71102         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
71103         Also rename jm_-prefixed variables to have gl_ prefix.
71104
71105         * m4/jm-macros.m4: Reflect the renamings.
71106         * m4/prereq.m4: Likewise.
71107
71108 2004-04-20  Jim Meyering  <jim@meyering.net>
71109
71110         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
71111         memory.
71112
71113 2004-04-20  Jim Meyering  <jim@meyering.net>
71114             Bruno Haible  <bruno@clisp.org>
71115
71116         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
71117         memory when realloc fails.
71118
71119 2004-04-19  Jim Meyering  <jim@meyering.net>
71120
71121         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
71122         now that readutmp.c may call `free (0)'.
71123
71124 2004-04-19  Bruno Haible  <bruno@clisp.org>
71125
71126         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
71127         * m4/inttypes_h.m4: Likewise.
71128         * m4/stdint_h.m4: Likewise.
71129         * m4/intmax_t.m4: Likewise.
71130         * m4/uintmax_t.m4: Likewise.
71131
71132 2004-04-18  Jim Meyering  <jim@meyering.net>
71133
71134         * m4/prereq.m4: Don't forbid jm_ prefix.
71135
71136         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
71137         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
71138         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
71139         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
71140         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
71141         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
71142         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
71143         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
71144         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
71145         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
71146         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
71147         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
71148         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
71149         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
71150         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
71151         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
71152         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
71153         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
71154         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
71155
71156 2004-04-18  Jim Meyering  <jim@meyering.net>
71157
71158         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
71159         failure, don't leak memory and do call END_UTMP_ENT.
71160
71161 2004-04-16  Jim Meyering  <jim@meyering.net>
71162
71163         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
71164         coreutils' stat program.
71165         (gl_PREREQ): Don't require jm_PREREQ_STAT.
71166
71167 2004-04-11  Paul Eggert  <eggert@twinsun.com>
71168
71169         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
71170         C89.
71171         (CHAR_BIT): Remove, since we assume C89.
71172         Include <stdint.h> if available, as per current Autoconf CVS advice.
71173
71174 2004-03-31  Jim Meyering  <jim@meyering.net>
71175
71176         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
71177         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
71178         * m4/xalloc.m4: Likewise.
71179
71180 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71181
71182         Merge from coreutils.
71183
71184         * m4/inttostr.m4: New file.
71185         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
71186         Require AM_STDBOOL_H and gl_TIMESPEC instead.
71187         Require gl_CLOCK_TIME.
71188         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
71189
71190 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71191
71192         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
71193         not bool, to be more consistent with Unix conventions.
71194         Suggested by Bruno Haible.
71195
71196         Merge from coreutils.
71197
71198         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
71199         * lib/umaxtostr.c: New files.
71200
71201         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
71202         the usual <time.h> dance.
71203         (get_date): Change signature to support fractional time stamps.
71204         All callers changed.
71205         * lib/getdate.y: Include "getdate.h" first, as we can now
71206         assume C89 and don't need to worry about 'const'.
71207         Similarly, include "unlocked-io.h" near start, not in middle.
71208         Include <limits.h>.
71209         (textint.value): Use long int rather than int.
71210         (textint.digits): Use size_t rather than int.
71211         (BILLION, LOG10_BILLION): New constants.
71212         (parser_control): New member rel_ns.  Members day_ordinal,
71213         time_zone, month, day, hour, minutes, rel_year, rel_month,
71214         rel_day, rel_hour, rel_minutes, rel_seconds
71215         are now long int, not int.  Member seconds is now struct timespec,
71216         not int.  New member timespec_seen.  Members dates_seen, days_seen,
71217         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
71218         not int.
71219         (%union.intval): Now long int, not int.
71220         New member timespec.
71221         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
71222         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
71223         (spec): Now is a timespec or an item list.
71224         (timespec, items): New nonterminals.
71225         (time, rel, relunit, number, get_date):
71226         Add support for fractional seconds.
71227         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
71228         (gmtime, localtime, mktime): Remove decls; not needed with C89.
71229         (to_hour): First arg is now long int, not int.
71230         (to_year): Returns long int, not int.
71231         Don't treat year -70 like 70.
71232         (tm_diff): Returns long int, not int.
71233         (lookup_word): Use bool instead of int when appropriate.
71234         (yylex): Use size_t for count, not int.
71235         Detect overflow when parsing large integer constants.
71236         Add support for fractions.
71237         (get_date): Make pointers 'const' if possible.
71238         Use more-portable code to detect integer overflow.
71239         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
71240         Don't use ctime; it's not reliable if the year has >4 digits.
71241
71242         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
71243         This is for compatibility with BSD.
71244
71245         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
71246         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
71247         From coreutils' system.h.
71248
71249         * lib/userspec.c: Don't include "posixver.h".
71250         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
71251         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
71252         compatible extension.  Simplify code by removing a boolean int
71253         that was always nonzero if a string was nonnull.
71254
71255 2004-03-30  Jim Meyering  <jim@meyering.net>
71256
71257         Merge from coreutils.
71258
71259         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
71260         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
71261         on some systems one must include <grp.h> before it.
71262         Reported by Christian Krackowizer.
71263
71264 2004-03-30  Jim Meyering  <jim@meyering.net>
71265
71266         Merge from coreutils.
71267
71268         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
71269
71270         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
71271         an empty input stream.
71272
71273         * lib/readtokens.c: Include <stdbool.h>.
71274         (readtoken): Use `size_t' rather than int/long.
71275         All callers adjusted.
71276         Use `bool' rather than `int' where appropriate.
71277         Use memset rather than an explicit loop.
71278         Use x2nrealloc rather than xrealloc.
71279         Allow the use of `\0' as a delimiter.
71280         (readtokens): Likewise.
71281         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
71282
71283 2004-03-30  Jim Meyering  <jim@meyering.net>
71284
71285         * m4/realloc.m4: Remove file, since now it does no more than
71286         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
71287         the `configure.ac' section of module/realloc.
71288         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
71289
71290 2004-03-30  Bruno Haible  <bruno@clisp.org>
71291
71292         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
71293         nonnull.
71294
71295 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71296
71297         Merge changes to getloadavg.c from coreutils and Emacs.
71298
71299         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
71300         Define to an expression, not to the empty string.
71301         Include cloexec.h and xalloc.h.
71302         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
71303         Use set_cloexec_flag rather than rolling our own.
71304         * lib/cloexec.c, lib/cloexec.h: New files.
71305
71306 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71307
71308         * m4/cloexec.m4: New file.
71309
71310 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71311
71312         * lib/getopt.h: Sync with libc CVS.
71313
71314 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71315             Bruno Haible  <bruno@clisp.org>
71316
71317         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
71318         mbswidth.
71319
71320 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71321             Bruno Haible  <bruno@clisp.org>
71322
71323         * lib/mbswidth.h: Include <wchar.h> only if
71324         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
71325         <wchar.h>.
71326         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
71327
71328 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71329
71330         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
71331         Sync with libc CVS.
71332         * lib/getopt_int.h: New file, also synced from libc.
71333
71334 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71335
71336         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
71337         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
71338         Bring back getopt.c, getopt.h, getopt1.c.
71339
71340 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71341
71342         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
71343         All uses changed.  Check for sa_sigaction member; this fixes
71344         a bug first reported by Jason Andrade in
71345         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71346
71347 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71348
71349         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
71350         '#if' expressions.  Unlike the code it replaces, it does not
71351         depend on (defined _SC_PAGESIZE).  However, it does depend on
71352         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
71353         first reported by Jason Andrade in
71354         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71355
71356 2004-02-25  Simon Josefsson  <jas@extundo.com>
71357
71358         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
71359
71360 2004-02-25  Simon Josefsson  <jas@extundo.com>
71361
71362         * lib/strdup.h: New file.
71363         * lib/strdup.c: Include it.
71364         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
71365         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
71366
71367 2004-02-23  Karl Berry  <karl@gnu.org>
71368
71369         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
71370         (from fencepost.gnu.org:/gd/gnuorg).
71371
71372 2004-02-23  Karl Berry  <karl@gnu.org>
71373
71374         * config/srclistvars.sh (GNUORG) [karl]: redefine.
71375         * config/srclist.txt: add maintain/standards documents.
71376
71377 2004-02-18  Bruno Haible  <bruno@clisp.org>
71378
71379         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
71380         Reported by Derek Robert Price <derek@ximbiot.com>.
71381
71382 2004-02-16  Karl Berry  <karl@gnu.org>
71383
71384         * config/mkinstalldirs, install-sh: update from automake.
71385
71386 2004-02-06  Karl Berry  <karl@gnu.org>
71387
71388         * m4/po.m4: update from gettext 0.14.1.
71389
71390 2004-02-06  Karl Berry  <karl@gnu.org>
71391
71392         * lib/config.charset: update from gettext 0.14.1.
71393
71394 2004-02-05  Paul Eggert  <eggert@twinsun.com>
71395
71396         Add comments and code, prompted by suggestions from Bruno Haible
71397         for sh-quote.
71398         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
71399         describing the enum quoting_style values.
71400         * lib/quotearg.c (quotearg_alloc): New function.
71401         (quotearg_buffer_restyled): Treat lone { and } as special.
71402         Treat = as special.  Work around bug with older shells
71403         that "see" a '\' that is really the 2nd byte of a multibyte char.
71404         Quote empty string with shell_quoting_style.
71405
71406 2004-02-03  Bruno Haible  <bruno@clisp.org>
71407
71408         * m4/pipe.m4: New file, from GNU gettext.
71409
71410 2004-02-03  Bruno Haible  <bruno@clisp.org>
71411
71412         * lib/pipe.h: New file, from GNU gettext.
71413         * lib/pipe.c: New file, from GNU gettext.
71414
71415 2004-01-27  Bruno Haible  <bruno@clisp.org>
71416
71417         * m4/execute.m4: New file, from GNU gettext.
71418
71419 2004-01-27  Bruno Haible  <bruno@clisp.org>
71420
71421         * lib/execute.h: New file, from GNU gettext.
71422         * lib/execute.c: New file, from GNU gettext.
71423         * lib/w32spawn.h: New file, from GNU gettext.
71424
71425 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71426
71427         Merge from diffutils.
71428
71429         * lib/file-type.c (file_type): Add typed memory objects.
71430         * lib/file-type.h (S_TYPEISTMO): New macro.
71431
71432         * lib/c-stack.h (c_stack_action): Remove argv argument.
71433         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
71434         (die): Don't calculate message unless segv_action returns.
71435         (get_stack_location, min_address_from_argv, max_address_from_argv,
71436         volatile stack_base, volatile_stack_size): Remove.
71437         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
71438         that every segmentation violation is a stack overflow.  (Ouch!)
71439         See Debian bug 136249 (still outstanding) for more info about why
71440         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
71441
71442 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71443
71444         Exit-status fix from coreutils.
71445
71446         Use exit_failure consistently in place of EXIT_FAILURE,
71447         so that program exit statuses are consistent on failure.
71448
71449         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
71450         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
71451         * lib/argmatch.h: Comment fix to match the above.
71452         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
71453         Now a macro referring to exit_failure, instead of a separate
71454         variable.  Include "exitfail.h" to get it.
71455         * lib/xstrtol.h: Include "exitfail.h".
71456         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
71457
71458         * lib/long-options.c (parse_long_options): Use prototype
71459         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
71460         for clarity.
71461
71462 2004-01-21  Jim Meyering  <jim@meyering.net>
71463
71464         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
71465         so as not to conflict with a different-sized __mktime_internal
71466         function in GNU libc.
71467         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
71468         Problem building statically-linked `ls' reported by Michael Brunnbauer.
71469
71470 2004-01-20  Karl Berry  <karl@gnu.org>
71471
71472         * config/config.guess: update from config.
71473
71474         * config/srclistvars.sh: GNUWWWLICENSES for karl.
71475
71476 2004-01-20  Bruno Haible  <bruno@clisp.org>
71477
71478         Safer stack allocation.
71479         * lib/setenv.c: Include allocsa.h.
71480         (alloca): Remove fallback definition.
71481         (freea): Remove macro.
71482         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
71483         instead of freea.
71484
71485 2004-01-20  Bruno Haible  <bruno@clisp.org>
71486
71487         * m4/eealloc.m4: New file, from GNU gettext.
71488
71489 2004-01-20  Bruno Haible  <bruno@clisp.org>
71490
71491         * m4/allocsa.m4: New file, from GNU gettext.
71492
71493 2004-01-20  Bruno Haible  <bruno@clisp.org>
71494
71495         * lib/xallocsa.h: New file, from GNU gettext.
71496         * lib/xallocsa.c: New file, from GNU gettext.
71497
71498 2004-01-20  Bruno Haible  <bruno@clisp.org>
71499
71500         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
71501
71502 2004-01-20  Bruno Haible  <bruno@clisp.org>
71503
71504         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
71505         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
71506         specially.
71507
71508 2004-01-20  Bruno Haible  <bruno@clisp.org>
71509
71510         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
71511         patch.
71512
71513 2004-01-20  Bruno Haible  <bruno@clisp.org>
71514
71515         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
71516
71517 2004-01-20  Bruno Haible  <bruno@clisp.org>
71518
71519         * lib/eealloc.h: New file.
71520
71521 2004-01-20  Bruno Haible  <bruno@clisp.org>
71522
71523         * lib/binary-io.h: Avoid warnings on Cygwin.
71524
71525 2004-01-20  Bruno Haible  <bruno@clisp.org>
71526
71527         * lib/allocsa.h: New file, from GNU gettext.
71528         * lib/allocsa.c: New file, from GNU gettext.
71529
71530 2004-01-18  Karl Berry  <karl@gnu.org>
71531
71532         * doc/gpl.texi, doc/lgpl.texi: new files.
71533
71534 2004-01-18  Karl Berry  <karl@gnu.org>
71535
71536         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
71537         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
71538
71539 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71540
71541         Merge from coreutils.
71542
71543         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
71544         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
71545         (gl_DEFAULT_POSIX2_VERSION): Move
71546         the documentation from 'configure' into 'config.hin',
71547         so that 'configure --help' isn't burdened by it and
71548         we don't have to worry about its formatting there.
71549         Reword the documentation so that it's more succinct
71550         and can be run together into a single paragraph.
71551         * m4/same.m4 (gl_SAME): Check for pathconf.
71552
71553 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71554
71555         Merge from coreutils.
71556
71557         * lib/posixver.c: Include posixver.h.
71558
71559         * lib/same.c: Include <stdbool.h>, <limits.h>.
71560         (_POSIX_NAME_MAX): Define if not defined.
71561         (MIN): New macro.
71562         (same_name): If file names are silently truncated, report
71563         that the file names are the same if they are the same after
71564         the silent truncation.
71565
71566         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
71567         conversion function.
71568         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
71569         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
71570         longer needed.
71571
71572 2004-01-15  Jim Meyering  <jim@meyering.net>
71573
71574         Merge from coreutils.
71575
71576         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
71577         if no library is required.
71578         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
71579         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
71580         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
71581         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
71582         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
71583         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
71584         value, $ac_cv_search_crypt, if it's "none required".
71585         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
71586         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
71587         not gl_FUNC_GETLOADAVG.
71588         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
71589         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
71590
71591 2004-01-15  Jim Meyering  <jim@meyering.net>
71592
71593         Merge from coreutils.
71594
71595         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
71596         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
71597         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
71598
71599         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71600         optional configure-time default.
71601
71602         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71603
71604         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71605
71606 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71607
71608         Merge from coreutils.
71609
71610         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71611         value, $ac_cv_search_nanosleep, if it's "none required".
71612
71613 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71614
71615         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71616         with like-named macro in fnmatch.c.
71617         (EXT): Use an internal constant instead.
71618
71619         Merge fnmatch patches from glibc.
71620         * lib/fnmatch.c (mbsinit): Remove define.
71621         Add libc_hidden_ver (__fnmatch, fnmatch).
71622         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71623         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71624
71625 2004-01-14  Karl Berry  <karl@gnu.org>
71626
71627         * config/install-sh: update from automake.
71628
71629 2004-01-13  Karl Berry  <karl@gnu.org>
71630
71631         * config/install-sh: update from automake.
71632
71633 2004-01-09  Karl Berry  <karl@gnu.org>
71634
71635         * config/install-sh: update from automake.
71636
71637 2004-01-05  Karl Berry  <karl@gnu.org>
71638
71639         * config/config.{sub,guess}: update from config.
71640
71641 2003-12-31  Karl Berry  <karl@gnu.org>
71642
71643         * config/depcomp: update from automake.
71644
71645 2003-12-14  Karl Berry  <karl@gnu.org>
71646
71647         * lib/config.charset: update from gettext-runtime.
71648
71649 2003-12-03  Paul Eggert  <eggert@twinsun.com>
71650
71651         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
71652         Bug reported by Alfred M. Szmidt.
71653
71654 2003-12-03  Bruno Haible  <bruno@clisp.org>
71655
71656         * m4/gettext.m4: Upgrade from gettext-0.13.
71657         * m4/po.m4: Upgrade from gettext-0.13.
71658         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
71659         * m4/intmax.m4: New file, from gettext-0.13.
71660         * m4/printf-posix.m4: New file, from gettext-0.13.
71661
71662 2003-11-29  Karl Berry  <karl@gnu.org>
71663
71664         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
71665
71666 2003-11-25  Paul Eggert  <eggert@twinsun.com>
71667             Bruno Haible  <bruno@clisp.org>
71668
71669         * lib/printf-parse.h: Don't include sys/types.h.
71670         (ARG_NONE): New macro.
71671         (char_directive): Change type of *arg_index fields to size_t.
71672         * lib/printf-parse.c: Don't include sys/types.h.
71673         (SSIZE_MAX): Remove macro.
71674         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
71675         Remove unnecessary overflow check.
71676         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
71677         fields.
71678
71679 2003-11-25  Bruno Haible  <bruno@clisp.org>
71680
71681         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
71682
71683 2003-11-25  Bruno Haible  <bruno@clisp.org>
71684
71685         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
71686         gt_TYPE_SSIZE_T.
71687
71688 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71689
71690         * modules/alloca: Remove dependency on xalloc.
71691
71692 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71693
71694         * lib/alloca.c: Remove dependency on xalloc module.
71695         (xalloc_die): Remove.
71696         (memory_full) [!defined emacs]: New macro.
71697         [!defined emacs]: Don't include xalloc.h.
71698         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
71699         address arithmetic overflows.  Change datatypes a bit to avoid
71700         unnecessary casts.
71701
71702 2003-11-22  Jim Meyering  <jim@meyering.net>
71703
71704         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
71705         s/size/size_t/.
71706
71707 2003-11-21  Karl Berry  <karl@gnu.org>
71708
71709         * config/config.{sub,guess}: update from config.
71710
71711 2003-11-18  Karl Berry  <karl@gnu.org>
71712
71713         * config/config.{sub,guess}: update from config.
71714
71715         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
71716
71717 2003-11-17  Paul Eggert  <eggert@twinsun.com>
71718
71719         * README: Mention that S+T cannot overflow if S is the size of
71720         an existing object and T is sufficiently small.
71721
71722 2003-11-17  Jim Meyering  <jim@meyering.net>
71723
71724         On systems without utime and without a utimes function capable of
71725         dealing with a NULL struct utimbuf* argument, this utime replacement
71726         could -- in unusual circumstances -- leak a file descriptor.
71727         * lib/utime.c: Include <unistd.h> and <errno.h>.
71728         (utime_null): Be sure to close `fd' and to preserve errno.
71729         Reported by Geoff Collyer via Arnold Robbins.
71730
71731 2003-11-17  Bruno Haible  <bruno@clisp.org>
71732
71733         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
71734         (Depends-on): Add xsize.
71735
71736 2003-11-17  Bruno Haible  <bruno@clisp.org>
71737
71738         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
71739
71740 2003-11-17  Bruno Haible  <bruno@clisp.org>
71741
71742         * lib/vasnprintf.c (alloca): Remove fallback definition.
71743         (freea): Remove definition.
71744         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
71745         Reported by Paul Eggert.
71746
71747 2003-11-16  Paul Eggert  <eggert@twinsun.com>
71748             Bruno Haible  <bruno@clisp.org>
71749
71750         Protect against address arithmetic overflow.
71751         * lib/printf-args.h: Include stddef.h.
71752         (arguments): Change type of field 'count' to size_t.
71753         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
71754         'unsigned int' where appropriate.
71755         * lib/printf-parse.h: Include sys/types.h.
71756         (char_directive): Change type of *arg_index fields to ssize_t.
71757         (char_directives): Change type of fields 'count', max_*_length to
71758         size_t.
71759         * lib/printf-parse.c: Include sys/types.h and xsize.h.
71760         (SSIZE_MAX): Define fallback value.
71761         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
71762         instead of 'int' where appropriate. Check a_allocated, d_allocated
71763         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
71764         * lib/vasnprintf.c: Include xsize.h.
71765         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
71766         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
71767         overflow. Avoid wraparound when converting a width or precision from
71768         decimal to binary.
71769
71770 2003-11-16  Bruno Haible  <bruno@clisp.org>
71771
71772         Update from GNU gettext.
71773         * lib/printf-parse.c: Generalize to it can be compiled for wide
71774         strings.
71775         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
71776         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
71777         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
71778         SNPRINTF): New macros.
71779         Don't include <alloca.h> if the file is used inside libintl.
71780         (local_wcslen): New function, for Solaris 2.5.1.
71781         (VASNPRINTF): Use it instead of wcslen.
71782
71783 2003-11-16  Bruno Haible  <bruno@clisp.org>
71784
71785         * lib/xsize.h (xmax): New function.
71786         (xsum, xsum3, xsum4): Declare as "pure" functions.
71787
71788 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71789
71790         * modules/xalloc (Files): Undo latest change, since xalloc.h
71791         no longer needs SIZE_MAX or PTRDIFF_MAX.
71792
71793 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71794
71795         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
71796         gl_PTRDIFF_MAX.
71797
71798 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71799
71800         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
71801         "return", to pacify some unknown compiler.  Problem reported
71802         by Joerg Schilling.
71803
71804 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71805
71806         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
71807         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
71808         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
71809         heuristic is just as accurate as far as we know, and it removes a
71810         dependency on size_max.m4 and ptrdiff_max.m4.
71811
71812 2003-11-11  Bruno Haible  <bruno@clisp.org>
71813
71814         * modules/xsize (Files): Add m4/size_max.m4.
71815         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
71816
71817 2003-11-11  Bruno Haible  <bruno@clisp.org>
71818
71819         * m4/size_max.m4: New file.
71820         * m4/ptrdiff_max.m4: New file.
71821         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
71822         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
71823         (gl_XALLOC): Invoke it.
71824
71825 2003-11-11  Bruno Haible  <bruno@clisp.org>
71826
71827         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
71828         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
71829         defined.
71830
71831 2003-11-10  Paul Eggert  <eggert@twinsun.com>
71832
71833         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
71834         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
71835         rejected some allocations of exactly SIZE_MAX - 2 bytes.
71836         From Bruno Haible.
71837         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
71838         not (size_t) -1, since it's defined here.
71839
71840 2003-11-09  Karl Berry  <karl@gnu.org>
71841
71842         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
71843
71844 2003-11-06  Paul Eggert  <eggert@twinsun.com>
71845
71846         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
71847         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
71848         Reject sizes of exactly SIZE_MAX bytes.
71849         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
71850         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
71851
71852 2003-11-05  Bruno Haible  <bruno@clisp.org>
71853
71854         * lib/xsize.h: Include limits.h, to avoid a possible collision with
71855         SIZE_MAX defined in <limits.h> on Solaris.
71856
71857 2003-11-04  Jim Meyering  <jim@meyering.net>
71858
71859         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
71860         variable names, rather than @VAR@.
71861         * modules/poll: Likewise.
71862
71863 2003-11-04  Bruno Haible  <bruno@clisp.org>
71864
71865         * modules/xsize: New file.
71866         * modules/linebreak: Depend on xsize.
71867         * MODULES.html.sh (func_all_modules): Add xsize.
71868
71869 2003-11-04  Bruno Haible  <bruno@clisp.org>
71870
71871         * m4/xsize.m4: New file.
71872
71873 2003-11-04  Bruno Haible  <bruno@clisp.org>
71874
71875         * lib/xsize.h: New file.
71876         * lib/linebreak.c: Include xsize.h.
71877         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
71878         argument for overflow.
71879         Suggested by Paul Eggert.
71880
71881 2003-11-03  Karl Berry  <karl@gnu.org>
71882
71883         * config/config.{guess,sub}: update from config.
71884
71885 2003-11-03  Jim Meyering  <jim@meyering.net>
71886
71887         * modules/userspec (lib_SOURCES): Add userspec.h.
71888         (Include): Add "userspec.h".
71889         Improve description.
71890
71891 2003-11-03  Jim Meyering  <jim@meyering.net>
71892
71893         * lib/userspec.c: Include "userspec.h".
71894         * lib/userspec.h: New file.
71895
71896 2003-11-03  Bruno Haible  <bruno@clisp.org>
71897
71898         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
71899
71900 2003-11-03  Bruno Haible  <bruno@clisp.org>
71901
71902         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
71903         available, to avoid (extremely rare) race condition.
71904         Suggested by Paul Eggert.
71905
71906 2003-11-02  Karl Berry  <karl@gnu.org>
71907
71908         * config/srclist.txt (vasprintf.c): sync broken, sigh.
71909
71910 2003-10-31  Paul Eggert  <eggert@twinsun.com>
71911
71912         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
71913         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
71914         (read_filesystem_list): Set and use me_type_malloced.
71915         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
71916         whatever the type happens to be), for brevity and consistency.
71917         Check for size calculation overflow on Alphas running OSF/1.
71918
71919 2003-10-31  Jim Meyering  <jim@meyering.net>
71920
71921         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
71922
71923         * lib/linebuffer.c: Include <string.h> for declaration of memset.
71924
71925 2003-10-30  Paul Eggert  <eggert@twinsun.com>
71926             Bruno Haible  <bruno@clisp.org>
71927
71928         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
71929         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
71930
71931 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71932
71933         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
71934         netbsd*-gnu*.  Suggested by Robert Millan.
71935
71936 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71937
71938         * modules/group-member: Depend on stdbool.
71939
71940 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71941
71942         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
71943
71944 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71945
71946         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
71947         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
71948         after the 'gnu' in these cases.  This fixes some bugs in the
71949         previous change, and is based on suggestions by Robert Millan.
71950
71951 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71952
71953         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
71954         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
71955         no longer needed.
71956         * lib/quotearg.c (quotearg_n_options): Use it.
71957         * lib/group-member.c: Include <stdbool.h>.
71958         (free_group_info): Arg is now const *; don't free arg.
71959         (get_group_info): Now returns bool and accepts struct group_info *,
71960         rather than returning a malloc'ed struct group_info *.
71961         All uses changed.  Check for overflow in internal size calculation.
71962
71963         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
71964         rather than xmalloc/xrealloc.
71965         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
71966         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
71967         conformance bug: the old code used a pointer after freeing the
71968         storage that it addressed.
71969         * lib/hash.c (hash_initialize): Simplify the code by using
71970         xalloc_oversized rather than doing it by hand.
71971         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
71972         the buffer preserved.  Use free and xmalloc instead.
71973         * lib/quotearg.c (quotearg_n_options): Likewise.
71974         Use a simpler test for size overflow.  Don't use xalloc_oversized
71975         because unsigned int might be wider than size_t (!); this suggests
71976         that we should switch from unsigned int to size_t for slot numbers.
71977
71978 2003-10-28  Paul Eggert  <eggert@twinsun.com>
71979
71980         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
71981         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
71982         NetBSD kernels.  Requested by Richard Stallman.
71983
71984 2003-10-27  Paul Eggert  <eggert@twinsun.com>
71985
71986         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
71987         to allocate the returned structure.  Do not allocate a subarray,
71988         as x2nrealloc will do that.
71989         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
71990         instead of xnrealloc.
71991         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
71992
71993 2003-10-27  Bruno Haible  <bruno@clisp.org>
71994
71995         * lib/stdbool_.h: Better support for BeOS.
71996
71997 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71998
71999         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
72000         now uses inline.
72001
72002 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72003
72004         * lib/xalloc.h (xalloc_oversized): New static inline function, for
72005         callers that want to do their own size-overflow checking.  Include
72006         <stdbool.h>, since xalloc_oversized returns bool.
72007         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
72008         to use xalloc_oversized.
72009
72010         Add two functions x2realloc, x2nrealloc, for programs that grow
72011         arrays dynamically by doubling their sizes.
72012         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
72013         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
72014         New functions.
72015
72016         Port to C99 semantics for 'inline' of external functions.
72017         Bug reported by Bruno Haible.
72018         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
72019         with the old contents of xnmalloc.
72020         (xnmalloc, xmalloc): Use it.
72021         (xnrealloc_inline): New static inline function,
72022         with the old contents of xnrealloc.
72023         (xnrealloc, xrealloc): Use it.
72024
72025         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
72026         that.
72027
72028 2003-10-26  Karl Berry  <karl@gnu.org>
72029
72030         * config/srclist.txt (COPYING.DOC): no longer available from
72031         /gd/gnuorg; don't know where the ultimate source is.
72032
72033 2003-10-25  Paul Eggert  <eggert@twinsun.com>
72034
72035         Fix several address-calculation bugs in the hash modules,
72036         plus some minor code cleanup.
72037
72038         * lib/hash.h: Include <stdbool.h>, for bool.
72039         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
72040         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
72041         hash_get_n_entries, hash_get_max_bucket_length,
72042         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
72043         hash_rehash): Use size_t rather than unsigned.
72044         * lib/hash.c (struct hash_table, hash_get_n_buckets,
72045         hash_get_n_buckets_used, hash_get_n_entries,
72046         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
72047         hash_get_entries, hash_do_for_each, hash_string, is_prime,
72048         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
72049         Likewise.
72050         (SIZE_MAX): Define if not defined.
72051         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
72052         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
72053         hash_print):
72054         Use const * when possible.
72055         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
72056         (check_tuning): Fix bug: if tuning parameters were very close to
72057         0 or 1, rounding errors could have caused subscript violations.
72058         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
72059         (hash_initialize): Add 'fail:' label
72060         to free table and return NULL, and use it to simplify code.
72061         Use calloc rather than clearing the storage ourself.
72062         (hash_initialize, hash_rehash): Check for arithmetic overflow in
72063         buffer size calculations.
72064         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
72065         Include <stddef.h>, for size_t.
72066         * lib/hash-pjw.c (hash_pjw): Likewise.
72067         Switch to method described by Bruno Haible.
72068         Include <limits.h>, for CHAR_BIT.
72069         (SIZE_BITS): New macro.
72070
72071 2003-10-23  Paul Eggert  <eggert@twinsun.com>
72072
72073         * m4/getline.m4 (AM_FUNC_GETLINE):
72074         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
72075         hosts.  Problem reported by Derek Robert Price in
72076         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
72077         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
72078         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
72079
72080 2003-10-21  Paul Eggert  <eggert@twinsun.com>
72081
72082         * lib/getndelim2.c (getndelim2): When size calculation overflows,
72083         ceiling the allocation at NMAX bytes rather than silently
72084         discarding input bytes before NMAX is reached.  This makes
72085         a difference only if NMAX exceeds SIZE_MAX / 2.
72086
72087         * lib/obstack.c: Merge from glibc.
72088         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
72089         Add libc_hidden_def (_obstack_newchunk).
72090         (_obstack_free) [! defined _LIBC]: Remove.
72091         [defined _LIBC]: Make a strong alias from obstack_free, rather than
72092         a clone of the function body.
72093         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
72094         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
72095
72096         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
72097         glibc.
72098         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
72099         arg to memcpy.
72100
72101         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
72102         (obstack_ptr_grow_fast, obstack_int_grow_fast):
72103         Don't use lvalue casts, as GCC plans to remove support for them
72104         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
72105         was also present in the non-GCC version, indicating that this
72106         code had always been buggy and had never been widely used.
72107         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
72108         Use the fast variant of each macro, rather than copying the
72109         definiens of the fast variant; that way, we'll be more likely to
72110         catch future bugs in the fast variants.
72111
72112 2003-10-20  Bruno Haible  <bruno@clisp.org>
72113
72114         * modules/wait-process: New file.
72115         * MODULES.html.sh (func_all_modules): Add wait-process.
72116
72117 2003-10-20  Bruno Haible  <bruno@clisp.org>
72118
72119         * m4/wait-process.m4: New file.
72120
72121 2003-10-20  Bruno Haible  <bruno@clisp.org>
72122
72123         * lib/wait-process.h: New file, from GNU gettext.
72124         * lib/wait-process.c: New file, from GNU gettext.
72125
72126 2003-10-19  Jim Meyering  <jim@meyering.net>
72127
72128         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
72129         HPUX 10.20.
72130
72131 2003-10-18  Karl Berry  <karl@gnu.org>
72132
72133         * config/config.guess: update from config.
72134
72135 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72136
72137         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
72138         (getgroups): First arg is int, not size_t.
72139         Don't let 'free' mangle errno.
72140
72141 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72142
72143         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
72144
72145 2003-10-16  Karl Berry  <karl@gnu.org>
72146
72147         * config/config.{guess,sub}: update from config.
72148
72149 2003-10-16  Jim Meyering  <jim@meyering.net>
72150
72151         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
72152         memcpy.
72153
72154 2003-10-15  Paul Eggert  <eggert@twinsun.com>
72155
72156         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
72157         (SIZE_MAX): Remove.
72158         (new_exclude, add_exclude_file): Initial size no longer needs to
72159         be a power of 2.
72160         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
72161         our own address arithmetic overflow checking.
72162
72163         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
72164         (fnmatch): Do not alloca more than 2000 wide characters;
72165         instead, use malloc for large buffers.
72166         Check for address arithmetic overflow, and return -1
72167         with errno set to ENOMEM in that case.
72168         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
72169         (NEW_PATTERN): Do not alloca more than 8000 bytes;
72170         instead, return -1.  Check for address arithmetic overflow.
72171
72172 2003-10-14  Paul Eggert  <eggert@twinsun.com>
72173
72174         Handle invalid suffixes and overflow independently, so that
72175         callers can treat them independently as needed.  Fix some bugs in
72176         suffix handling, e.g., "100k@" was not diagnosed as an invalid
72177         suffix for a human-readable blocksize.  The major caller-visible
72178         change is the addition of a new
72179         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
72180         that both overflow and suffix chars were found.
72181
72182         * lib/human.c (humblock): Don't check separately for invalid suffix
72183         char; that is xstrtoumax's job (now that its bug is fixed).
72184         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
72185         INTMAX_MAX]: New macros.
72186         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
72187         TYPE_MAXIMUM): New macros.
72188         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
72189         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
72190         if overflow occurs, as it's what __strtol does and it's more useful
72191         in practice.
72192         (__xstrtol): If __strtol reports some error other than ERANGE,
72193         reflect it to the caller as LONGINT_INVALID.  If it reports
72194         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
72195         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
72196         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
72197         value.
72198         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
72199         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
72200         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
72201         [defined UINTMAX_MAX]: New macros.
72202
72203 2003-10-14  Bruno Haible  <bruno@clisp.org>
72204
72205         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
72206
72207 2003-10-14  Bruno Haible  <bruno@clisp.org>
72208
72209         * m4/sig_atomic_t: New file, from GNU gettext.
72210         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
72211
72212 2003-10-14  Bruno Haible  <bruno@clisp.org>
72213
72214         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
72215         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
72216         Also use volatile where needed.
72217
72218 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72219
72220         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
72221         Change maintainer from Bruno Haible to 'all'.
72222
72223 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72224
72225         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
72226
72227 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72228
72229         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
72230         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
72231         and define in terms of the other primitives.
72232         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
72233         (SIZE_MAX): Define if not already defined.
72234         (array_size_overflow): New function.
72235         (xalloc_die): Abort instead of exiting if 'error' returns.
72236         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
72237         (xmalloc, xrealloc): Use them.
72238         (xcalloc): Check for address arithmetic overflow.
72239         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
72240         a bit faster than strcpy.
72241
72242 2003-10-10  Simon Josefsson  <jas@extundo.com>
72243
72244         * modules/argp (Depends-on): Add restrict and strcase.
72245
72246 2003-10-10  Simon Josefsson  <jas@extundo.com>
72247
72248         * m4/argp.m4: Add AC_C_INLINE.
72249
72250 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72251
72252         Merge getpass from libc, plus a few fixes.
72253
72254         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
72255         Include <stdbool.h>.
72256         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
72257         __fsetlocking to empty.
72258         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
72259         do include <bits/libc-lock.h>.
72260         Do not include <fcntl.h>; not needed.
72261         [_LIBC]: Include <wchar.h>.
72262         (NOTCANCEL_MODE): New macro.
72263         (flockfile, funlockfile) [_LIBC]: New macros.
72264         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
72265         [!_LIBC]: New macros.
72266         (call_fclose): New function.
72267         (getpass): Use it.  Save tty stream separately; this simplifies the
72268         code and makes it more reliable if stdin happens to equal stdout.
72269         Invoke __fsetlocking on tty.
72270         Handle thread cancellation if needed.
72271         Namespace cleanup (use __tcgetattr, __getline).
72272         Use bool for Booleans.
72273         [USE_IN_LIBIO]: Handle wide streams.
72274         [!_LIBC]: Unconditionally do the fseek, since we don't know what
72275         stream might go where.
72276
72277         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
72278         doesn't have to include <stdio.h> before us.
72279         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
72280         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
72281         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
72282         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
72283         if not declared, so that we can use getpass.c code from libc without
72284         rewriting it.
72285         (flockfile, ftrylockfile, funlockfile): New macros.
72286
72287 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72288
72289         * modules/getpass: Depend on stdbool.
72290
72291 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72292
72293         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
72294
72295 2003-10-07  Karl Berry  <karl@gnu.org>
72296
72297         * config/config.{guess,sub}: update from config.
72298
72299 2003-10-06  Jim Meyering  <jim@meyering.net>
72300             Bruno Haible  <bruno@clisp.org>
72301
72302         This lets translators provide better translations for the
72303         "Written by ..." part of --version output.
72304         * lib/version-etc.h: Include stdarg.h.
72305         (version_etc_copyright): Declare as readonly.
72306         (version_etc): Make this function variadic with a NULL-terminated list
72307         of author name strings.
72308         (version_etc_va): New declaration.
72309         * lib/version-etc.c: Include stdarg.h, stdlib.h.
72310         (version_etc_copyright): Declare as readonly.
72311         (version_etc_va): New function. Provide a different translatable string
72312         for each possible number of authors < 10. Abbreviate when there are 10
72313         authors or more.
72314         (version_etc): Make this function variadic. Call version_etc_va.
72315         Suggestion from Gary V. Vaughan.
72316
72317         * lib/long-options.h (parse_long_options): Change prototype: the
72318         authors string is moved to the end and becomes variadic.
72319         * lib/long-options.c: Include stdarg.h.
72320         (parse_long_options): Make this function variadic, too.
72321         Call version_etc_va, not version_etc.
72322
72323 2003-10-06  Bruno Haible  <bruno@clisp.org>
72324
72325         * modules/version-etc-2: Remove file.
72326         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
72327
72328 2003-10-06  Bruno Haible  <bruno@clisp.org>
72329
72330         * modules/fatal-signal: New file.
72331         * MODULES.html.sh (func_all_modules): Add fatal-signal.
72332
72333 2003-10-06  Bruno Haible  <bruno@clisp.org>
72334
72335         * m4/fatal-signal.m4: New file.
72336         * m4/signalblocking.m4: New file, from GNU gettext.
72337
72338 2003-10-06  Bruno Haible  <bruno@clisp.org>
72339
72340         * lib/version-etc-2.h: Remove file.
72341         * lib/version-etc-2.c: Remove file.
72342
72343 2003-10-06  Bruno Haible  <bruno@clisp.org>
72344
72345         * lib/fatal-signal.h: New file, from GNU gettext.
72346         * lib/fatal-signal.c: New file, from GNU gettext.
72347
72348 2003-10-05  Paul Eggert  <eggert@twinsun.com>
72349
72350         * README: Rework advice for preventing empty .o files.
72351         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
72352         not <sys/types.h>.
72353
72354 2003-10-04  Karl Berry  <karl@gnu.org>
72355
72356         * lib/argp*: update from libc.
72357
72358 2003-10-04  Karl Berry  <karl@gnu.org>
72359
72360         * config/config.{guess,sub}: update from config.
72361
72362 2003-10-02  Bruno Haible  <bruno@clisp.org>
72363
72364         * modules/lchown (Include): Add lchown.h.
72365         * modules/time_r (Include): Use "..." syntax.
72366         * modules/xgetdomainname (Include): Add xgetdomainname.h.
72367
72368 2003-10-01  Simon Josefsson  <jas@extundo.com>
72369
72370         * MODULES.html.sh (func_all_modules): Move gethostname from section
72371         'based on' to section 'lacking' POSIX:2001.
72372
72373 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
72374
72375         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
72376         to output mode on the same stream.
72377
72378 2003-09-29  Paul Eggert  <eggert@twinsun.com>
72379
72380         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
72381         Fix arg typo in previous patch.
72382
72383 2003-09-28  Jim Meyering  <jim@meyering.net>
72384
72385         * lib/error.c: Correct cpp indentation.
72386
72387 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72388
72389         * modules/free: New file.
72390
72391 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72392
72393         * m4/free.m4: New file.
72394
72395 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72396
72397         * lib/minmax.h (MIN, MAX)
72398         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
72399         Omit the special code that used __typeof__, since we worry that
72400         it could be more trouble than it's worth.  See:
72401         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
72402         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
72403
72404         * lib/free.c: New file.
72405
72406 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
72407
72408         Trivial fixes to Makefile.am parts of module listings.
72409         * modules/strstr: Append strstr.h to lib_SOURCES.
72410         * modules/strcase: Likewise, for strcase.h.
72411
72412 2003-09-27  Karl Berry  <karl@gnu.org>
72413
72414         * config/mkinstalldirs: update from automake.
72415
72416 2003-09-26  Paul Eggert  <eggert@twinsun.com>
72417
72418         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
72419         (error_tail): Do not loop, reallocating temporary buffer, since
72420         the output cannot contain more wide characters than the input
72421         contains bytes, the size must be big enough already.  This avoids
72422         one potential size overflow calculation.  Check for size overflow
72423         when calculating temporary buffer size.  Free temporary buffer
72424         when done, if it was allocated with malloc; this plugs a memory
72425         leak.  Remove casts from void * to pointers, that are no longer
72426         needed now that we're assuming C89 or better.
72427
72428         Merge error changes from glibc.
72429
72430         * lib/error.c, error.h: Update copyright notice header to match glibc.
72431         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
72432         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
72433         Disable cancellation while printing error.
72434         * lib/error.h: Prepend __ to parameter names.
72435
72436 2003-09-26  Jim Meyering  <jim@meyering.net>
72437
72438         * lib/error.c (error_tail): Move some declarations
72439         into inner scope where the local variables are used.
72440
72441 2003-09-26  Bruno Haible  <bruno@clisp.org>
72442
72443         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
72444         stpncpy().
72445         Don't define stpncpy through config.h; it's now done through stpncpy.h.
72446
72447 2003-09-26  Bruno Haible  <bruno@clisp.org>
72448
72449         * lib/stpncpy.h (gnu_stpncpy): New declaration.
72450         (stpncpy): Define as alias for gnu_stpncpy.
72451         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
72452
72453 2003-09-25  Simon Josefsson  <jas@extundo.com>
72454
72455         * lib/xgetdomainname.h: New file.
72456         * lib/xgetdomainname.c: New file.
72457
72458 2003-09-25  Simon Josefsson  <jas@extundo.com>
72459             Bruno Haible  <bruno@clisp.org>
72460
72461         * modules/getdomainname: New file.
72462         * modules/xgetdomainname: New file.
72463         * MODULES.html.sh (func_all_modules): Add getdomainname,
72464         xgetdomainname.
72465
72466 2003-09-25  Simon Josefsson  <jas@extundo.com>
72467             Bruno Haible  <bruno@clisp.org>
72468
72469         * m4/getdomainname.m4: New file.
72470
72471 2003-09-25  Simon Josefsson  <jas@extundo.com>
72472             Bruno Haible  <bruno@clisp.org>
72473
72474         * lib/getdomainname.h: New file.
72475         * lib/getdomainname.c: New file.
72476
72477 2003-09-25  Karl Berry  <karl@gnu.org>
72478
72479         * lib/argp-fmtstream.c, argp-help.c: update from libc.
72480
72481 2003-09-25  Karl Berry  <karl@gnu.org>
72482
72483         * config/install-sh: update from automake.
72484
72485 2003-09-25  Bruno Haible  <bruno@clisp.org>
72486
72487         * modules/version-etc-2: New file, from modules/version-etc with
72488         modifications.
72489         * MODULES.html.sh (func_all_modules): Add version-etc-2.
72490
72491 2003-09-25  Bruno Haible  <bruno@clisp.org>
72492
72493         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
72494         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
72495
72496 2003-09-24  Simon Josefsson  <jas@extundo.com>
72497
72498         * modules/xgethostname: Add xgethostname.h.
72499
72500 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72501
72502         * lib/linebuffer.c (freebuffer): Don't free the argument, just
72503         the buffer associated with the argument.  Bug reported by
72504         Simon Josefsson.
72505
72506 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72507
72508         * README: Document assumptions that 'int' is at least 32 bits
72509         wide, that integer arithmetic is 2's complement without overflow,
72510         that there are no holes in integer values, that adding sizes of
72511         two nonoverlapping objects can't overflow, and that all-bits-zero
72512         yields scalar zero.  Fix spelling and capitalization typos.
72513
72514 2003-09-19  Karl Berry  <karl@gnu.org>
72515
72516         * lib/argp.h: update from libc.
72517
72518 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72519
72520         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
72521         to avoid spurious warnings like "AC_RUN_IFELSE was called before
72522         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
72523
72524 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72525
72526         * gnulib-tool: Use "test -h", not "test -L", for portability
72527         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
72528         (tags_regexp): Remove, since \| doesn't conform to POSIX.
72529         (sed_extract_prog): Issue s commands one-by-one, rather than
72530         using \| in one s command.
72531
72532 2003-09-16  Paul Eggert  <eggert@twinsun.com>
72533
72534         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
72535         input error, instead of returning NULL the next time we are called
72536         (and therefore losing track of errno).
72537
72538 2003-09-16  Bruno Haible  <bruno@clisp.org>
72539
72540         * gnulib-tool (func_create_testdir): Warn about duplicated
72541         dependencies.
72542
72543 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72544
72545         * modules/argmatch, modules/fatal, modules/obstack,
72546         modules/xalloc, modules/xgethostname: Sort dependencies by
72547         importance, not alphabetically.
72548
72549 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72550
72551         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
72552         fails, so that the caller gets the proper errno.
72553
72554         * lib/readutmp.c (read_utmp): Likewise.
72555         Check for fstat error.  Close stream and free storage
72556         when failing.
72557
72558 2003-09-14  Karl Berry  <karl@gnu.org>
72559
72560         * config/srclist.txt (strdup.c): disable for c89 changes.
72561
72562 2003-09-14  Jim Meyering  <jim@meyering.net>
72563
72564         * lib/getloadavg.c: Correct cpp indentation.
72565         * lib/strdup.c: Likewise.
72566         * lib/vasnprintf.c: Likewise.
72567
72568 2003-09-14  Bruno Haible  <bruno@clisp.org>
72569
72570         * modules/fwriteerror: New file.
72571         * MODULES.html.sh (func_all_modules): Add fwriteerror.
72572
72573 2003-09-14  Bruno Haible  <bruno@clisp.org>
72574
72575         * lib/fwriteerror.h: New file.
72576         * lib/fwriteerror.c: New file.
72577
72578 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72579
72580         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
72581         modules/xgethostname, modules/xalloc: Depend on exit.
72582
72583 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72584
72585         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
72586
72587         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
72588         and AC_MINIX, too, so that their extensions are available.
72589
72590         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
72591         This macro has been superseded by gl_BACKUPFILE.
72592
72593         More patches to assume C89 or better.
72594
72595         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
72596
72597         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
72598         unconditionally.
72599         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72600         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72601         Include <string.h>, <stdlib.h> unconditionally.
72602         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72603         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72604         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72605         headers or for string.h.
72606         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72607         or strtoul.
72608
72609         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72610         headers.
72611         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72612         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72613         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72614         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72615         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72616         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72617         memcpy, memset.
72618         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72619         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72620         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72621         strtol.
72622         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72623         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72624         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72625         strtoul.
72626
72627 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72628
72629         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
72630         * lib/obstack.c [!defined _LIBC]: Likewise.
72631         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
72632         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
72633         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
72634
72635         More changes to assume C89 or better.
72636
72637         * lib/error.c (error_tail): Assume vprintf.
72638
72639         * lib/argmatch.c (getenv): Remove decl.
72640         * lib/progreloc.c (get_full_program_name): Define via prototype.
72641         * lib/setenv.c (clearenv): Likewise.
72642         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
72643         needed.
72644         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
72645         (malloc, memcpy): Remove decls.
72646         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
72647         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
72648         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72649         (memcpy): Remove macro.
72650         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
72651         (__P): Remove.  All uses removed.
72652         (PTR): Remove.  All uses changed to void *.
72653         (CHAR_BIT, NULL): Remove.
72654         (spaces, zeros, memset_space, memset_zero)
72655         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
72656         Remove.
72657         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
72658         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
72659         Define with prototype.
72660         Remove now-unnecessary prototype decl.
72661         (extra_args_spec): Assume ANSI C.  All uses changed.
72662         (extra_args_spec_iso): Remove.
72663         (my_strftime, emacs_strftimeu): Define via prototype.
72664         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
72665         unconditionally.
72666         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
72667         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
72668         (strtoul, strtol): Remove decls.
72669         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
72670         LONG_MAX): Remove.
72671         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72672         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
72673         (LOCALE_PARAM_PROTO): New macro.
72674         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
72675         (INTERNAL (strtol), strtol): Define with a prototype.
72676         (PARAMS): Remove.  All uses removed.
72677         * lib/tempname.c: Include <string.h> unconditionally.
72678         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
72679         * lib/xgethostname.c (main): Define with a prototype.
72680         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
72681         Include <stdlib.h> unconditionally.
72682         (calloc, malloc, realloc, free): Remove decls.
72683         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
72684         Include <stdlib.h> unconditionally.  Sort include file names.
72685         (strtod): Remove.
72686         (xstrtod): Define with a prototype.
72687         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
72688         (strtol, strtoul): Remove decls.
72689
72690 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72691
72692         More patches to assume C89 or better.
72693         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
72694         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
72695         string.h, memchr, STDC_HEADERS.
72696
72697 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72698
72699         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
72700         Include <stdlib.h>, <string.h> unconditionally.
72701         Remove now-unnecessary cast to char *.
72702         * lib/strnlen.c: Include <string.h> unconditionally.
72703         * lib/yesno.c (yesno): Define with a prototype.
72704
72705 2003-09-11  Bruno Haible  <bruno@clisp.org>
72706
72707         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
72708
72709 2003-09-10  Jim Meyering  <jim@meyering.net>
72710
72711         * lib/error.c: Correct indentation of cpp directives.
72712
72713 2003-09-10  Bruno Haible  <bruno@clisp.org>
72714
72715         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
72716         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
72717         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
72718         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
72719         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
72720         <stdlib.h> and <string.h> checks.
72721         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
72722         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
72723
72724 2003-09-10  Bruno Haible  <bruno@clisp.org>
72725
72726         * lib/strcspn.c: Include <string.h> unconditionally.
72727         * lib/strpbrk.c: Include <string.h> unconditionally.
72728         * lib/strstr.c: Include <string.h> unconditionally.
72729         * lib/unicodeio.c: Include <string.h> unconditionally.
72730         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
72731         * lib/unsetenv.c: Likewise.
72732         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
72733         * lib/yesno.c: Include <stdlib.h> unconditionally.
72734         (rpmatch): Add prototype.
72735
72736 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72737
72738         More patches to assume C89 or better.
72739         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
72740         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
72741         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
72742         or for string.h.
72743         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
72744         stdlib.h.
72745         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
72746         C headers.
72747         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
72748         string.h.
72749         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
72750         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
72751         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
72752         or for string.h.
72753         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
72754         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
72755         C headers.
72756         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
72757         memcpy.
72758         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
72759         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
72760         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
72761         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
72762         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
72763         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
72764         string.h, free.
72765         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
72766         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
72767         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
72768         C headers, or for string.h.
72769         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
72770         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
72771         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
72772         headers, memory.h, stdlib.h, string.h, strings.h.
72773         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
72774         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
72775         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
72776         strchr.
72777         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
72778         headers, memory.h, string.h.
72779         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
72780         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
72781         free.
72782         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
72783         headers.
72784         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
72785         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
72786         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
72787         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
72788         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
72789
72790 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72791
72792         More K&R removal.
72793
72794         * lib/acosl.c (main): Use a prototype.
72795         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
72796         tanl.c: Likewise.
72797
72798         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
72799
72800         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
72801         (getopt, etopt_long, getopt_long_only, _getopt_internal)
72802         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
72803         with a prototype.
72804         * lib/getopt.c (const): Remove macro.
72805         Include <string.h> unconditionally.
72806         (my_index): Remove; all uses changed to strchr.
72807         (strlen): Remove decl.
72808         (exchange): Remove forward decl; no longer needed.
72809         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
72810         Define with prototype.
72811         * lib/getopt1.c (const): Remove macro.
72812         (getopt_long, getopt_long_only, main): Define with prototype.
72813
72814         * lib/getugroups.c: Include <string.h> unconditionally.
72815
72816         * lib/getusershell.c: Include <stdlib.h> unconditionally.
72817         (getusershell, setusershell, endusershell, readname, main):
72818         Define with prototypes.
72819
72820         * lib/group-member.c: Include group-member.h first.
72821         Include <stdlib.h> unconditionally.
72822
72823         * lib/hard-locale.c: Include hard-locale.h first.
72824         Include <stdlib.h>, <string.h> unconditionally.
72825
72826         * lib/hash.c (free, malloc): Remove decls.
72827         Include <stdlib.h> unconditionally.
72828
72829         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
72830         (getenv): Do not declare.
72831
72832         * lib/idcache.c: Include <string.h> unconditionally.
72833
72834         * lib/long-options.c: Include long-options.h first, to test interface.
72835         Include <stdlib.h> unconditionally.
72836
72837         * lib/makepath.c: Include makepath.h first, to test interface.
72838         Include <stdlib.h> and <string.h> unconditionally.
72839
72840         * lib/linebuffer.c: Include <stdlib.h>.
72841         (free): Remove decl.
72842
72843         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
72844         stddef.h. rpl_malloc returns void *, not char *.
72845         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
72846         prototype.
72847
72848         * lib/md5.h: Include <limits.h> unconditionally.
72849         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
72850         (__P): Remove; all uses removed.
72851         * lib/md5.c: Include "md5.h" first.
72852         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
72853         md5_buffer, md5_process_bytes, md5_process_block):
72854         Define with prototypes.
72855         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
72856         * lib/sha.c: Include "sha.h" first.
72857         Include <stdlib.h>, <string.h> unconditionally.
72858
72859         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
72860         * lib/memcmp.c (__ptr_t): Likewise.
72861         * lib/memrchr.c (__ptr_t): Likewise.
72862         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
72863         Include <string.h> unconditionally.
72864         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
72865         * lib/memchr.c: Include <stdlib.h> unconditionally.
72866         * lib/memchr.c (LONG_MAX): Remove.
72867         * lib/memrchr.c (LONG_MAX): Likewise.
72868         * lib/memchr.c (__memchr): Define via a prototype.
72869         * lib/memrchr.c (__memrchr): Likewise.
72870         * lib/memcmp.c (__P): Remove, and remove all uses.
72871         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
72872         Remove forward decls; no longer needed.
72873         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
72874         Use types required by C89 in prototype.
72875
72876         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
72877         * lib/savedir.c: Likewise.
72878         * lib/mkdir.c (free): Remove decl.
72879         * lib/rmdir.c (rmdir): Define with a prototype.
72880         * lib/savedir.c: Include savedir.h first, to test interface.
72881
72882         * lib/mktime.c (STDC_HEADERS): Remove.
72883         Include <stdlib.h>, <string.h> unconditionally.
72884
72885         * lib/modechange.c: Include <stdlib.h> unconditionally.
72886         (malloc): Remove decl.
72887
72888         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
72889         (free): Remove decl.
72890
72891         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
72892         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
72893         (This type really should be intptr_t, but that's a C99ism.)
72894         (_obstack_memcpy): Remove: all uses changed to memcpy.
72895         Include <string.h> unconditionally.
72896         (struct obstack): Assume __STDC__ for types of members
72897         chunkfun, freefun, extra_arg.
72898         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
72899         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
72900         obstack_begin, obstack_specify_allocation,
72901         obstack_specify_allocation_with_arg, obstack_chunkfun,
72902         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
72903         Remove unprototyped decls and the macros that use them.
72904         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
72905         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
72906         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
72907         (defined __STDC__ && __STDC__)]:
72908         Remove nonprototyped code.
72909         Include <stdlib.h> unconditionally.
72910         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
72911         _obstack_allocated_p, _obstack_free, obstack_free,
72912         _obstack_memory_used, print_and_abort):
72913         Define using prototypes.
72914         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
72915         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
72916         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
72917         obstack_next_free, obstack_object_size, obstack_room) [0]:
72918         Remove unused, unprototyped code.
72919
72920         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
72921
72922         * lib/physmem.c (physmem_total, physmem_available, main): Define
72923         with prototypes.
72924
72925         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
72926         (main): Define with a prototype.
72927
72928         * lib/posixver.c (getenv): Remove decl.
72929
72930         * lib/putenv.c (malloc): Returns void *, not char *.
72931         Include <string.h> unconditionally.
72932         (strchr, memcpy, NULL): Do not define.
72933
72934         * lib/readtokens.c: Include readtokens.h first, to test interface.
72935         Include <stdlib.h>, <string.h> unconditionally.
72936         (init_tokenbuffer): Define with a prototype.
72937
72938         * lib/regex.c (PARAMS): Remove.  All uses removed.
72939         All uses of _RE_ARGS removed, too.
72940         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72941         unconditionally.
72942         (bzero): Assume memset exists.
72943         (memcmp, memcpy, NULL): Remove.
72944         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
72945         char, or assignments to local vars of type signed char.
72946         (init_syntax_once, PREFIX(extract_number_and_incr),
72947         PREFIX(print_partial_compiled_pattern),
72948         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
72949         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
72950         PREFIX(regex_grow_registers), PREFIX(regex_compile),
72951         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
72952         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
72953         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
72954         wcs_compile_range, byte_compile_range, truncate_wchar,
72955         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
72956         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
72957         count_mbs_length, wcs_re_match_2_internal,
72958         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
72959         PREFIX(alt_match_null_string_p),
72960         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
72961         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
72962         regfree, PREFIX(extract_number)): Define with prototype.  Remove
72963         now-unnecessary declaration, if any.
72964         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
72965         regcomp, regexec):
72966         Remove now-unnecessary casts among pointer types.
72967         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
72968
72969         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
72970         (free): Remove decl.
72971
72972         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
72973
72974         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
72975         (free): Remove decl.
72976
72977         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
72978         * lib/xgetcwd.c: Likewise.
72979
72980         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
72981         (free): Remove decl.
72982
72983         * lib/strchrnul.c (strchrnul): Define with a prototype.
72984         Fix bug: c_in was not converted to char before searching.
72985
72986         The following changes are not K&R related:
72987
72988         * lib/group-member.h: Include <sys/types.h>, so that this file is
72989         self-contained.
72990         * lib/makepath.h: Likewise.
72991
72992         * lib/getusershell.c (readname, default_index, line_size, readname):
72993         Use size_t, not int, for sizes.
72994         (readname): If the size overflows, report an error instead of
72995         looping forever.
72996
72997 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72998
72999         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
73000         libc.
73001
73002 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73003
73004         * README: New section: portability guidelines.
73005
73006 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73007
73008         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
73009         C89 spec.
73010
73011 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73012
73013         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
73014
73015 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73016
73017         Assume C89 or better; remove K&R cruft.
73018         A few of these changes were first proposed by Derek Robert Price
73019         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
73020
73021         * lib/addext.c: Include <string.h> unconditionally.
73022         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
73023         Don't declare getenv or malloc.
73024
73025         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
73026         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
73027         (NULL): Remove.
73028         (find_stack_direction, alloca): Use prototypes.
73029
73030         * lib/atexit.c (atexit): Define using a prototype.
73031
73032         * lib/basename.c, dirname.c, stripslash.c:
73033         Include <string.h> unconditionally.
73034
73035         * lib/bcopy.c: Include <stddef.h>.
73036         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
73037
73038         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
73039
73040         * lib/error.h (error, error_at_line, error_print_progname)
73041         [! (defined (__STDC__) && __STDC__)]: Remove decls.
73042         * lib/error.c: Include error.h first, to check interface.
73043         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73044         (VA_START): Remove; all uses changeed to va_start.
73045         (exit, strerror): Remove decls.
73046         (error_print_progname): Prototype uncondionally.
73047         Don't include <errno.h>; no longer needed.
73048         (private_strerror): Remove.
73049         (error_tail): Always define.
73050         (error, error_at_line): Assume C89 or better; always use prototypes.
73051         * lib/fatal.c: Include "fatal.h" first, to test interface.
73052         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73053         (VA_START): Remove; all uses changed to va_start.
73054         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
73055         this case.
73056         (exit): Remove decl.
73057         (fatal): Prototype unconditionally.  Assume va_start works.
73058         Abort at end, to pacify gcc.
73059
73060         * lib/euidaccess.c (main): Define with a prototype.
73061
73062         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
73063
73064         * lib/exitfail.c: Include <stdlib.h> unconditionally.
73065
73066         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
73067         prototypes.
73068         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
73069         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
73070         (getenv): Remove decl.
73071         (fnmatch): Define using a prototype.
73072         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
73073         (FCT): Define using a prototype.
73074
73075         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
73076
73077         * lib/gethostname.c: Include <stddef.h>.
73078         (gethostname): Define with prototype.  Length is size_t, not int.
73079
73080 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73081
73082         Assume C89 or better; remove K&R cruft.
73083         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
73084         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
73085         string.h, getenv, malloc.
73086         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
73087         headers.
73088         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
73089         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
73090         do not check for strerror.
73091         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
73092         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
73093         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
73094         do not check for doprnt or vprintf.
73095         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
73096         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
73097
73098 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73099
73100         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
73101         getversion.c should have been removed then, but was accidentally
73102         preserved.
73103
73104         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
73105         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
73106
73107 2003-09-08  Karl Berry  <karl@gnu.org>
73108
73109         * config/config.sub, config.guess, srclistvars.sh: update from savannah
73110                 config, forget about prep.
73111
73112         * config/depcomp, missing: update from automake.
73113
73114 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73115
73116         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
73117         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73118
73119 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73120
73121         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
73122         copy_tm_result.  Bug reported by Simon Josefsson in
73123         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73124
73125 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73126
73127         * m4/time_r.m4: New file.
73128         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
73129         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
73130         is. Check for timegm declaration.
73131         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
73132         Do not check for gmtime_r.
73133         Replace mktime if __mktime_internal does not exist and if mktime
73134         hasn't been replaced already.
73135
73136 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73137
73138         * lib/time_r.c, lib/time_r.h: New files.
73139
73140         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
73141         __localtime_r.
73142         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
73143         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
73144
73145         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
73146         __gmtime_r.
73147         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
73148         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
73149         Include <time_r.h>.
73150
73151         * lib/timegm.c: Switch to glibc implementation, with the following
73152         changes:
73153         [defined HAVE_CONFIG_H]: Include <config.h>.
73154         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
73155         (__mktime_internal) [!defined _LIBC]: New decl.
73156         (__gmtime_r) [!defined _LIBC]: New macro and function.
73157         (timegm): Use a prototype, since gnulib assumes C89.
73158         Do not bother declaring tmp to be const, as it's not really usefu.
73159         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
73160         (timegm): Declare only if HAVE_DECL_TIMEGM.
73161
73162 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73163
73164         * MODULES.html.sh (func_all_modules): Add time_r.
73165         * modules/time_r: New file.
73166         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
73167         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
73168
73169 2003-09-03  Paul Eggert  <eggert@twinsun.com>
73170
73171         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
73172         Bug reported by Lute Kamstra in
73173         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
73174
73175         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
73176         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
73177         course with correspondingly smaller numbers for tomorrow and
73178         yesterday.  From Tadayoshi Funaba.  Originally installed into
73179         sh-utils on 1999-08-07, but the patch got lost (I guess during the
73180         coreutils merge?).
73181
73182 2003-08-31  Simon Josefsson  <jas@extundo.com>
73183
73184         * modules/timegm: New file.
73185         * MODULES.html.sh (func_all_modules): Add timegm.
73186
73187 2003-08-31  Simon Josefsson  <jas@extundo.com>
73188
73189         * m4/timegm.m4: New file.
73190
73191 2003-08-31  Simon Josefsson  <jas@extundo.com>
73192
73193         * lib/timegm.h: New file.
73194         * lib/timegm.c: New file.  Based on
73195         wget-1.8.2/src/http.c:mktime_from_utc.
73196
73197 2003-08-31  Karl Berry  <karl@gnu.org>
73198
73199         * lib/argp.h: update from libc.
73200
73201 2003-08-28  Bruno Haible  <bruno@clisp.org>
73202
73203         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
73204         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
73205         followed by '#define fnmatch fnmatch_posix' gives an error.
73206
73207 2003-08-28  Bruno Haible  <bruno@clisp.org>
73208
73209         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
73210         warning on QNX, which defines O_BINARY to 000000.
73211
73212 2003-08-27  Jim Meyering  <jim@meyering.net>
73213
73214         * m4/mkstemp.m4: Require that the system mkstemp be able to create
73215         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
73216         would fail after 32.  Reported by Danny Levinson.  Details here:
73217         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
73218
73219 2003-08-24  Bruno Haible  <bruno@clisp.org>
73220
73221         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
73222         MSVC7 <stdio.h> is included later.
73223
73224 2003-08-22  Simon Josefsson  <jas@extundo.com>
73225
73226         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
73227
73228 2003-08-20  Karl Berry  <karl@gnu.org>
73229
73230         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
73231
73232 2003-08-20  Bruno Haible  <bruno@clisp.org>
73233
73234         * modules/progname: New file.
73235         * MODULES.html.sh (func_all_modules): Add progname.
73236
73237 2003-08-20  Bruno Haible  <bruno@clisp.org>
73238
73239         * lib/progname.h: New file, from GNU gettext.
73240         * lib/progname.c: New file, from GNU gettext.
73241         * lib/progreloc.c: New file, from GNU gettext.
73242
73243 2003-08-19  Jim Meyering  <jim@meyering.net>
73244
73245         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
73246         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
73247
73248 2003-08-19  Bruno Haible  <bruno@clisp.org>
73249
73250         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
73251         more.
73252
73253 2003-08-19  Bruno Haible  <bruno@clisp.org>
73254
73255         * lib/xstrdup.c: Assume <string.h> exists.
73256
73257 2003-08-18  Paul Eggert  <eggert@twinsun.com>
73258
73259         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
73260         in makefile rules.
73261
73262 2003-08-18  Jim Meyering  <jim@meyering.net>
73263
73264         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
73265         * m4/lib-ld.m4: Likewise.
73266
73267 2003-08-18  Jim Meyering  <jim@meyering.net>
73268
73269         * lib/setenv.h: Indent nested cpp directive.
73270         * lib/vasnprintf.c: Remove trailing blanks.
73271
73272 2003-08-17  Simon Josefsson  <jas@extundo.com>
73273
73274         * modules/xstrndup: New file.
73275         * MODULES.html.sh (func_all_modules): Add xstrndup.
73276
73277 2003-08-17  Simon Josefsson  <jas@extundo.com>
73278
73279         * modules/argp: Fix autoconf macro name. Add more dependencies.
73280
73281 2003-08-17  Simon Josefsson  <jas@extundo.com>
73282
73283         * m4/xstrndup.m4: New file.
73284
73285 2003-08-17  Simon Josefsson  <jas@extundo.com>
73286
73287         * m4/argp.m4: New file.
73288
73289 2003-08-17  Simon Josefsson  <jas@extundo.com>
73290             Bruno Haible  <bruno@clisp.org>
73291
73292         * lib/xstrndup.h: New file.
73293         * lib/xstrndup.c: New file.
73294
73295 2003-08-17  Bruno Haible  <bruno@clisp.org>
73296
73297         * modules/strndup (Files, Include): Add lib/strndup.h.
73298
73299 2003-08-17  Bruno Haible  <bruno@clisp.org>
73300
73301         * modules/euidaccess (Files): Add lib/euidaccess.h.
73302
73303 2003-08-17  Bruno Haible  <bruno@clisp.org>
73304
73305         * lib/strndup.h: New file.
73306
73307 2003-08-17  Bruno Haible  <bruno@clisp.org>
73308
73309         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
73310         like AC_GNU_SOURCE.
73311         * modules/extensions (configure.ac): Comment out the invocation of
73312         gl_USE_SYSTEM_EXTENSIONS.
73313
73314 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73315
73316         Merges from coreutils, etc.
73317         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
73318         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
73319         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
73320         fixing a typo.
73321         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
73322         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
73323
73324 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73325
73326         Document merge from coreutils.
73327         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
73328         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
73329         * modules/utime: Add m4/utimes-null.m4.
73330
73331 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73332
73333         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
73334         space, undoing this 2003-08-12 change:
73335         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73336
73337 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73338
73339         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
73340         strtoul.c from libc, undoing this 2003-08-12 change:
73341         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73342
73343 2003-08-16  Jim Meyering  <jim@meyering.net>
73344
73345         Merges from coreutils.
73346         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
73347         prefix.  Adjust cache variables similarly.  Create 500 rather than
73348         just 300 files, to exercise bug on Darwin6.5, too.
73349         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
73350         $missing_dir.
73351         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
73352         AM_SYS_POSIX_TERMIOS.
73353         Reported by mkc@mathdogs.com.
73354         Also change use of $am_cv_sys_posix_termios
73355         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
73356         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
73357         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
73358         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
73359         in /proc/mounts until it finds one with matching device number.  This
73360         is unnecessary when the FILE argument *is* a mount point.  No stat call
73361         is necessary in that case.  So, disable the statvfs-testing code on
73362         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
73363         as RedHat bug# 84846.
73364         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73365         to 1MB, so as not to render systems with no stack size limit (e.g.,
73366         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73367         Include <unistd.h>.  On some systems,
73368         it is required for the definition of _SC_PAGESIZE.
73369
73370 2003-08-16  Jim Meyering  <jim@meyering.net>
73371
73372         Merge from coreutils.
73373         * lib/xstrtoimax.c: #else #if -> #elif.
73374         * lib/xstrtoumax.c: Likewise.
73375
73376 2003-08-16  Jim Meyering  <jim@meyering.net>
73377
73378         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
73379         * m4/utimes.m4: Removed.
73380         * m4/utimes-null.m4: Renamed from utimes.m4.
73381
73382         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73383         to 1MB, so as not to render systems with no stack size limit (e.g.,
73384         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73385         Include <unistd.h>.  On some systems,
73386         it is required for the definition of _SC_PAGESIZE.
73387
73388 2003-08-16  Jim Meyering  <jim@meyering.net>
73389         and Paul Eggert  <eggert@cs.ucla.edu>
73390
73391         Merges from coreutils, etc.
73392
73393         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
73394         using the latest version from cvs.  This avoids problems with #line
73395         directives using a vendor (Sun) compiler.
73396         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
73397         Don't set GETGROUPS_LIB here; now it's
73398         done via getgroups.m4's wrapper function.
73399         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
73400         rather than just in sh-util/configure.in, so that the
73401         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
73402         same.
73403         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
73404         AC_FUNC_GETLOADAVG where to find getloadavg.c.
73405         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
73406         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
73407         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
73408         Remove code that is now done by the newly-required macros.
73409         Append $(EXEEXT) to DF_PROG.
73410         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
73411         Do not invoke or require the following here,
73412         since prereq.m4 or some gnulib .m4 now does this for us:
73413         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
73414         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
73415         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
73416         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
73417         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
73418         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
73419         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
73420         AC_FUNC_OBSTACK.
73421         Do not replace the following functions, as this is now the job
73422         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
73423         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
73424         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
73425         atexit getpass, strdup, getpagesize.
73426         Replace 'raise'.
73427         Do not check for the following functions, as this is now the job
73428         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
73429         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
73430         setregid.
73431         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
73432         Check for sys/sysctl.h.
73433         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
73434         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
73435         of checking for ssize_t ourselves.
73436
73437         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
73438         Require every macro that gnulib/modules/* suggests for us.
73439         (jm_PREREQ_ADDEXT): New macro.
73440         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
73441         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
73442
73443         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
73444         (gl_PHYSMEM): Use it.
73445         Also check for `table' function.
73446         Check for new headers and functions.
73447         Add check for sys/sysmp.h.
73448         With suggestions from Kaveh Ghazi.
73449         Ignore headers that are present but cannot be compiled.  This
73450         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
73451         C 5.4.
73452
73453 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73454
73455         Document merge from coreutils.
73456         * modules/userspec: Depend on posixver.
73457         * modules/strftime: Depend on tzset.
73458
73459 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73460
73461         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
73462         rather than tab, after '#' in shell-script copyright notices.
73463         Suggested by Bruno Haible.
73464
73465 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73466
73467         * config/srclist-update: Use three spaces, rather than tab, after '#'
73468         in shell-script copyright notices.  Suggested by Bruno Haible.
73469         Remove unnecessary parenthesization in regular expression.
73470
73471 2003-08-15  Jim Meyering  <jim@meyering.net>
73472
73473         Merge from coreutils.
73474         * lib/xgethostname.c: Include <stdlib.h>.
73475         (xghostname): Don't exit for anything other than memory-related
73476         failure; just return NULL.
73477         * lib/userspec.c: Include "posixver.h".
73478         (parse_user_spec): Accept `.' as a separator only
73479         in pre-POSIX-200112 mode.
73480         * lib/strtoimax.c: Use #elif rather than #else #if.
73481         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
73482         Remove function, now that we can rely on a working tzset function.
73483         [!_LIBC]: Ensure that the required autoconf test has been run.
73484         [!defined _NL_CURRENT && HAVE_STRFTIME]:
73485         Use underlying_strftime for %r.
73486         * lib/sha.c: Merge in some clean-up and optimization changes from
73487         glibc.
73488         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
73489         Ensure that it is a multiple of 64.
73490         Rearrange loop exit tests so as to avoid performing an
73491         additional fread after encountering an error or EOF.
73492         * lib/realloc.c: Update copyright date.
73493
73494 2003-08-15  Jim Meyering  <jim@meyering.net>
73495         and Paul Eggert  <eggert@twinsun.com>
73496
73497         Merge from coreutils.
73498         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
73499         member but strut utmpx does not.  Needed for AIX 4.3.3.
73500         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
73501
73502 2003-08-15  Jim Meyering  <jim@meyering.net>
73503         and Paul Eggert  <eggert@cs.ucla.edu>
73504
73505         Merges from coreutils, etc.
73506         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
73507         Require gl_FUNC_TZSET_CLOBBER.
73508         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
73509         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
73510         members.
73511
73512 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73513
73514         Help the merge from coreutils.
73515         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
73516         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
73517         * m4/tzset.m4: Use it too.
73518
73519 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73520
73521         * modules/tzset: New file.
73522
73523 2003-08-14  Jim Meyering  <jim@meyering.net>
73524
73525         Merges from coreutils.
73526         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
73527         variable names, rather than @FNMATCH_H@.
73528         * modules/alloca: Likewise for $(ALLOCA_H).
73529
73530         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
73531         the three copies of the literal target, `fnmatch.h'.
73532         * modules/alloca (alloca.h): Likewise.
73533
73534 2003-08-14  Jim Meyering  <jim@meyering.net>
73535
73536         Merge from coreutils.
73537         * m4/tzset.m4: New file.
73538         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
73539         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
73540         otherwise, AIX 5.1 systems would end up using the latter.
73541         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
73542         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
73543         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
73544         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
73545
73546 2003-08-14  Jim Meyering  <jim@meyering.net>
73547
73548         Merge from coreutils.
73549         * lib/obstack.h: Whitespace changes.
73550         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
73551         and xcalloc return values.
73552         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
73553         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
73554         hang on OSF/1 5.1 for DIR on both local and remote file systems.
73555         Reported by (and fix confirmed by) Nelson H. F. Beebe.
73556         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73557         error from mntctl.
73558         Use mntctl's return value to drive the entry-processing loop, since
73559         we can't rely on the value of the vmt_length member in the last
73560         entry.  On some systems doing so could result in exhausting
73561         virtual memory.  Based in part on a patch from Mike Jetzer.
73562
73563 2003-08-14  Jim Meyering  <jim@meyering.net>
73564         and Paul Eggert  <eggert@twinsun.com>
73565
73566         Merges from coreutils, plus other fixes.
73567         * lib/physmem.c: Merge in portability changes from gcc/libiberty
73568         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
73569         for credits and details.  Thanks to Kaveh Ghazi for helping
73570         to keep these files in sync.
73571         (ARRAY_SIZE): Define it.
73572         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
73573         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
73574         (memcasecmp): Don't assume size_t fits in unsigned int.
73575         Remove casts and duplicate code.
73576         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
73577         (memcpy): Remove definition.
73578         Merge in some clean-up and optimization changes from glibc.
73579         [BLOCKSIZE]: Move definition to top of file.
73580         Ensure that it is a multiple of 64.
73581         Rearrange loop exit tests so as to avoid performing an
73582         additional fread after encountering an error or EOF.
73583         * lib/md5.h (md5_uintptr): Define.
73584         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
73585         return to the initial working directory.  Preserve errno
73586         for caller.
73587         * lib/idcache.c: Include "xalloc.h".
73588         (xmalloc, xrealloc): Remove decls.
73589         (getuser): Remove casts no longer required in C89.
73590         * lib/human.c: Include stdio.h, for sprintf.
73591         * lib/group-member.c: Include "xalloc.h".
73592         (xmalloc, xrealloc): Remove decls.
73593         (get_group_info): Remove casts no longer required in C89.
73594         * lib/getusershell.c (readname): Remove casts no longer required in
73595         C89.
73596         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
73597         * lib/getline.c: Whitespace fix, from coreutils.
73598
73599 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73600
73601         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73602         Check for isascii.
73603
73604         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73605         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73606         Undo previous (whitespace-only) change.
73607
73608 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73609
73610         * lib/exclude.c: Include <ctype.h>
73611         (IN_CTYPE_DOMAIN): New macro.
73612         (is_space): New fn.
73613         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73614         and empty lines.
73615
73616         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73617         Undo previous (whitespace-only) change.
73618
73619 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73620
73621         * config/srclist-update: Change update back to the old behavior,
73622         leaving whitespace alone.  Use one 'sed' command rather than a
73623         pipeline.
73624         (fixlicense): Now a variable, not a function.
73625         (remove_trailing_blanks): Remove.
73626         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73627         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73628         Undo previous (whitespace-only) change.
73629
73630 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73631
73632         Merge from coreutils.
73633         * modules/euidaccess: Add lib_SOURCES, include for new
73634         file euidaccess.h
73635
73636 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73637
73638         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73639         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73640         Normalize leading white space and remove trailing white space.
73641
73642         Merge from coreutils
73643         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
73644
73645         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
73646         0.12.1.  These files are now being upgraded automatically by
73647         ../config/srclist-update.
73648
73649 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73650
73651         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73652         Normalize leading white space and remove trailing white space.
73653         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
73654         notice, as per ../config/srclist-update.
73655
73656         Merge from coreutils.
73657         * lib/euidaccess.h: New file.
73658         * lib/euidaccess.c: Include it.
73659         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
73660         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
73661         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
73662
73663 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73664
73665         * config/srclist-update: Add copyright notice.
73666         (remove_id_lines, remove_trailing_blanks): New constants.
73667         (fixfile): Use them to normalize spacing a bit in copied files.
73668         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73669         Normalize leading white space and remove trailing white space.
73670
73671         * config/texinfo.tex: Sync with texinfo.
73672
73673         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
73674         strtoul.c from libc, to merge coreutils whitespace changes.
73675
73676         * config/srclist.txt: Get the following m4 files from gettext:
73677         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
73678         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
73679         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
73680         wint_t.m4.
73681
73682 2003-08-12  Karl Berry  <karl@gnu.org>
73683
73684         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
73685         been made.
73686
73687 2003-08-11  Paul Eggert  <eggert@twinsun.com>
73688
73689         * modules/gnu-source, m4/gnu-source.m4:
73690         Remove; we're assuming Autoconf 2.54 or later now.
73691         Suggested by Bruno Haible.
73692         * MODULES.html.sh (func_all_modules): Remove gnu-source.
73693
73694 2003-08-11  Bruno Haible  <bruno@clisp.org>
73695
73696         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
73697
73698 2003-08-11  Bruno Haible  <bruno@clisp.org>
73699
73700         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
73701         (vasnprintf): Use it instead of wcslen.
73702
73703 2003-08-11  Bruno Haible  <bruno@clisp.org>
73704
73705         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
73706         value to ensure that _Bool promotes to int. Use #define for _Bool when
73707         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
73708
73709 2003-08-10  Karl Berry  <karl@gnu.org>
73710
73711         * lib/regex.h: update from libc (whitespace fix).
73712
73713 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73714
73715         Merge some files from coreutils.  These changes were
73716         originally made by Jim Meyering.
73717         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
73718         many older Unixes require this.
73719         * lib/alloca.c (alloca): Remove cast to argument of free;
73720         no longer needed in C89.
73721         * lib/alloca_.h, regex.h: Fix white space to match
73722         what GNU indent does.
73723
73724 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73725
73726         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
73727         apparently Emacs's Unicode mode got confused before my 2003-08-05
73728         checkin.
73729
73730 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73731
73732         * m4/extensions.m4: New file.
73733         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
73734         Require gl_USE_SYSTEM_EXTENSIONS.
73735         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
73736         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
73737
73738 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73739
73740         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
73741         * modules/extensions, modules/gnu-source: New files.
73742         * modules/timespec, modules/unlocked-io: Depend on extensions.
73743
73744 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73745
73746         * modules/restrict: New file.
73747         * MODULES.html.sh (func_all_modules): Add restrict.
73748         * modules/regex: Depend on restrict.
73749
73750 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73751
73752         * m4/restrict.m4: New file.
73753         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
73754
73755 2003-08-07  Bruno Haible  <bruno@clisp.org>
73756
73757         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
73758         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
73759
73760 2003-08-07  Bruno Haible  <bruno@clisp.org>
73761
73762         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
73763         makes the module 'getndelim2' compatible with the module 'getline'.
73764
73765 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73766
73767         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
73768         byte with "\201" to avoid glitches when editing that source file
73769         with multi-gnome-terminal.
73770
73771 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73772
73773         * lib/bumpalloc.h: Remove.
73774
73775 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73776
73777         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
73778         * modules/bumpalloc: Remove.
73779
73780 2003-08-04  Paul Eggert  <eggert@twinsun.com>
73781
73782         * lib/getloadavg.c: Change copyright notice and spacing to conform to
73783         GNU coding style.
73784
73785         Merge from coreutils.
73786         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
73787         1. From glibc.
73788         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
73789         from Karl Berry, implemented by Jim Meyering.
73790         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
73791         from Dmitry V. Levin.
73792         Remove anachronistic cast of xrealloc.
73793         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
73794         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
73795         type. Otherwise, it wouldn't compile with at least /bin/cc on
73796         ymp-cray-unicos9.0.2.X.
73797         Combine two mostly-identical uses of alloca into one.
73798         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
73799
73800 2003-08-04  Dave Love  <d.love@dl.ac.uk>
73801
73802         [From Emacs.]
73803
73804         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
73805         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
73806         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
73807         obsolete NLIST_NAME_UNION.
73808         [__GNU__]: Undef BSD and FSCALE.
73809         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
73810
73811 2003-08-03  Paul Eggert  <eggert@twinsun.com>
73812
73813         * lib/stdbool_.h (_Bool): Make it signed char, instead of
73814         an enum type, so that it's guaranteed to promote to int.  See:
73815         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
73816
73817 2003-08-03  Karl Berry  <karl@gnu.org>
73818
73819         * config/depcomp: update from automake.
73820
73821 2003-07-31  Paul Eggert  <eggert@twinsun.com>
73822
73823         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
73824         (strerror): Don't assume that a printable int fits in 14 bytes.
73825
73826 2003-07-31  Bruno Haible  <bruno@clisp.org>
73827
73828         * modules/getpass-gnu: New file.
73829         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
73830
73831 2003-07-31  Bruno Haible  <bruno@clisp.org>
73832
73833         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
73834
73835 2003-07-24  Karl Berry  <karl@gnu.org>
73836
73837         * config/missing: update from automake.
73838
73839 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
73840             Bruno Haible  <bruno@clisp.org>
73841
73842         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
73843         * lib/getline.c (getline, getdelim): Likewise.
73844         Remove _GNU_SOURCE define; now it's defined in config.h through
73845         m4/getline.m4.
73846
73847 2003-07-23  Karl Berry  <karl@gnu.org>
73848
73849         * config/config.sub: update from prep.
73850
73851 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73852
73853         * modules/xalloc (Depends-on): Add exitfail.
73854         * modules/xmemcoll: Likewise.
73855
73856 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73857
73858         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
73859         over-parenthesization in macros.
73860
73861         Sync with coreutils.
73862
73863         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
73864         required by C99.
73865
73866         Use `exit_failure' for xalloc and xmemcoll instead of their own
73867         private exit-failure variables.
73868         * lib/xalloc.h (xalloc_exit_failure): Remove.
73869         * lib/xmalloc.c: Likewise.  Include exitfail.h.
73870         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
73871         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
73872         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
73873         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
73874
73875 2003-07-20  Jim Meyering  <jim@meyering.net>
73876
73877         * modules/closeout (Depends-on): Add exitfail.
73878         Suggestion from Bruno Haible.
73879
73880 2003-07-19  Karl Berry  <karl@gnu.org>
73881
73882         * config/config.sub: update from prep.
73883
73884 2003-07-18  Paul Eggert  <eggert@twinsun.com>
73885
73886         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
73887         Remove.
73888         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
73889         to test that it can stand by itself.  Include "exitfail.h".
73890         Clients should set exit_failure instead.
73891         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
73892
73893 2003-07-18  Bruno Haible  <bruno@clisp.org>
73894
73895         * modules/getndelim2: New file.
73896         * modules/getline: Share files with module getndelim2.
73897         * modules/getnline: Depend on getndelim2 instead of sharing files with
73898         it. Add getnline.c to lib_SOURCES.
73899         * MODULES.html.sh (func_all_modules): Add getndelim2.
73900
73901 2003-07-18  Bruno Haible  <bruno@clisp.org>
73902
73903         * m4/getndelim2.m4: New file.
73904         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
73905         invoke gl_PREREQ_GETNDELIM2.
73906         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
73907         gl_PREREQ_GETNDELIM2.
73908         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
73909         gl_GETNDELIM2.
73910
73911 2003-07-18  Bruno Haible  <bruno@clisp.org>
73912
73913         * lib/getndelim2.h: New file.
73914         * lib/getndelim2.c: Make into a module of its own. Include config.h,
73915         getndelim2.h.
73916         (getndelim2): Make non-static. Change return type to ssize_t.
73917         * lib/getline.h: Change argument names.
73918         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
73919         * lib/getnline.c: Include getndelim2.h.
73920
73921 2003-07-18  Andreas Schwab  <schwab@suse.de>
73922
73923         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
73924
73925 2003-07-17  Karl Berry  <karl@gnu.org>
73926
73927         * config/config.sub: update from prep.
73928
73929 2003-07-17  Bruno Haible  <bruno@clisp.org>
73930
73931         * modules/getnline: New file.
73932         * modules/getline: Add lib/getndelim2.c to source file list.
73933         * MODULES.html.sh (func_all_modules): Add getnline.
73934
73935 2003-07-17  Bruno Haible  <bruno@clisp.org>
73936
73937         * m4/getnline.m4: New file.
73938
73939 2003-07-17  Bruno Haible  <bruno@clisp.org>
73940
73941         * m4/Makefile.am.in: Remove file.
73942         * m4/Makefile.am: Remove file.
73943         * m4/Makefile.in: Remove file.
73944
73945 2003-07-17  Bruno Haible  <bruno@clisp.org>
73946
73947         * lib/getnline.h: New file.
73948         * lib/getnline.c: New file.
73949         * lib/getndelim2.c: New file, extracted from getline.c.
73950         (getndelim2): Renamed from getdelim2, with added nmax argument.
73951         * lib/getline.c: Include getndelim2.c.
73952         (getdelim2): Moved out to getndelim2.c.
73953         (getline, getdelim): Update.
73954
73955 2003-07-17  Bruno Haible  <bruno@clisp.org>
73956
73957         * lib/Makefile.am: Remove file.
73958         * lib/Makefile.in: Remove file.
73959
73960 2003-07-17  Bruno Haible  <bruno@clisp.org>
73961
73962         * configure.in: Remove file.
73963         * Makefile.in: Remove file.
73964
73965 2003-07-17  Bruno Haible  <bruno@clisp.org>
73966
73967         * MODULES.html.sh: Put the </BODY> right before </HTML>.
73968
73969 2003-07-16  Karl Berry  <karl@gnu.org>
73970
73971         * config/srclist-update: was running fixlicense twice, which caused
73972                 texinfo.tex to be nullified for some reason.  Simplify,
73973                 $gplsrc is no longer needed as far as I can see?
73974
73975 2003-07-16  Jim Meyering  <jim@meyering.net>
73976
73977         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
73978
73979 2003-07-15  Paul Eggert  <eggert@twinsun.com>
73980
73981         * config/srclist.txt: Get the following files from gettext-runtime/intl
73982         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
73983         ref-del.sin.  From Bruno Haible.
73984         * config/srclist-update (fixfile): Change grep pattern again, since the
73985         previous fix didn't work (there was another trailing $).  Use
73986         '[$]' to escape the $s.
73987
73988 2003-07-15  Karl Berry  <karl@gnu.org>
73989
73990         * lib/vasnprintf.c: update from gettext.
73991
73992 2003-07-15  Karl Berry  <karl@gnu.org>
73993
73994         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
73995         gets expanded when surrounded by '$'.
73996
73997 2003-07-15  Jim Meyering  <jim@meyering.net>
73998
73999         * modules/save-cwd: Don't depend on error.  From Derek Price.
74000
74001 2003-07-15  Jim Meyering  <jim@meyering.net>
74002
74003         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
74004
74005 2003-07-14  Simon Josefsson  <jas@extundo.com>
74006
74007         * modules/mempcpy: New file.
74008         * MODULES.html.sh (func_all_modules): Add mempcpy.
74009
74010 2003-07-14  Simon Josefsson  <jas@extundo.com>
74011
74012         * m4/mempcpy.m4: New file.
74013
74014 2003-07-14  Simon Josefsson  <jas@extundo.com>
74015
74016         * lib/mempcpy.h: New file.
74017         * lib/mempcpy.c: New file.
74018
74019 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74020
74021         * modules/getdate, modules/posixtm: Depend on mktime.
74022
74023 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74024
74025         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
74026         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
74027         unicodeio.c, unicodeio.h, unlocked-io.h:
74028         Switch from LGPL to GPL.
74029
74030 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74031
74032         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
74033         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
74034         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
74035         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
74036         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
74037         updated automatically by ../config/srclist-update.  This changes
74038         their license from LPGL to GPL.
74039
74040 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74041
74042         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
74043         assumed to refer to the root of the most recent stable gettext version.
74044         * config/srclistvars.sh: Add defaults for eggert.
74045         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
74046         Match "This program" as well as "The program".  This is needed
74047         for gettext.
74048
74049 2003-07-14  Jim Meyering  <jim@meyering.net>
74050
74051         Don't emit diagnostics.  Let callers do that.
74052         * lib/save-cwd.c: Don't include "error.h".
74053         (save_cwd): Don't call error.  Ensure that errno is valid
74054         when returning nonzero.
74055
74056         * lib/save-cwd.h (restore_cwd): Update prototype.
74057         * lib/save-cwd.c (restore_cwd): Remove two parameters.
74058         Simplify.  Don't call error upon failure.  Let callers do that.
74059         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
74060         when auditing is enabled.  But don't bother updating the #if.
74061
74062 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
74063
74064         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
74065         it breaks C++ compilation.
74066         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
74067
74068 2003-07-10  Simon Josefsson  <jas@extundo.com>
74069
74070         * modules/strchrnul (Makefile.am): Add strchrnul.h.
74071
74072 2003-07-10  Jim Meyering  <jim@meyering.net>
74073
74074         * m4/clock_time.m4: Remove trailing blank.
74075         * m4/intmax_t.m4: Likewise.
74076
74077 2003-07-10  Jim Meyering  <jim@meyering.net>
74078
74079         * lib/vasnprintf.c: Remove trailing blanks.
74080         Make cpp indentation consistent.
74081
74082 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74083
74084         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
74085         posixver.c, strftime.c, strnlen.c, strverscmp.c:
74086         Switch from LGPL to GPL.
74087
74088 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74089
74090         * config/srclist.txt: Sort sublists.  Add
74091         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
74092         that differ from gnulib for one reason or another; we'd like this list
74093         to be smaller but for now let's document what we have.
74094
74095 2003-07-08  Paul Eggert  <eggert@twinsun.com>
74096
74097         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
74098         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
74099         and sweeter "eval x=$x".
74100         * config/srclist.txt: Get lib/argp* from glibc.
74101
74102 2003-07-07  Paul Eggert  <eggert@twinsun.com>
74103
74104         * lib/mktime.c: Fix some boundary cases and remove need for floating
74105         point.
74106
74107         Issue a compile-time diagnostic if time_t is floating point, or if
74108         two's complement arithmetic is not in effect, or if arithmetic
74109         right shift does not propagate the sign.  These assumptions were
74110         all in the original code but they weren't checked.
74111
74112         (TIME_T_MIDPOINT, verify): New macros.
74113         (__isleap): Remove; it has integer overflow problems.
74114         (leapyear): New function, without those problems.
74115         (ydhms_tm_diff): Remove; splitting into two parts.
74116         (ydhms_diff): New function, containing the arithmetic part of
74117         the old ydhms_tm_diff function.  Issue a compile-time
74118         diagnostic if we are not using C99 integer division.
74119         Avoid casts when possible.
74120         (guess_time_tm): New function, containing the checking part of
74121         the old ydhms_tm_diff function.  Return the new value, rather than
74122         the difference between it and the old.  Accept a new argument T
74123         so that *T specifies the old value.  Check for overflow in the result.
74124
74125         (__mktime_internal): Use a time_t offset, not a long int offset.
74126         This undoes the 2003-06-04 change, which is no longer needed now
74127         that we have better overflow checking.
74128         (localtime_offset): Likewise.
74129
74130         (__mktime_internal): Avoid harmful overflow on hosts where time_t
74131         and long are 64-bit but int is only 32-bit.
74132         (ydhms_diff): Use long int to store year1 and yday1.
74133         Issue a compile-time diagnostic if long int is not wide enough.
74134
74135         (__mktime_internal): Use long int to store adjusted year and yday.
74136         Use plain C rather than preprocessor commands, if that doesn't
74137         affect efficiency.
74138         Check for overflow (and try to repair) after each probe
74139         rather than checking only at the very end.  This avoids some bugs
74140         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
74141         does not equal GMT offset at maximum time).
74142         Use integer to check for overflow rather than floating point; this
74143         is more portable to non-IEEE hosts, and is a tad faster.
74144         When we detect that we are oscillating between two values,
74145         don't check whether tm_isdst has the requested value, since
74146         we already know the answer.  When tm_isdst has the wrong value,
74147         use a different heuristic to find the right one, based on the
74148         extreme values actually observed in practice in tz2003a,
74149         rather than the (overly optimistic) "previous 3 calendar quarters".
74150
74151         (not_equal_tm, print_tm, check_result): Use "const T" rather than
74152         "T const" to accommodate glibc style.
74153         (check_result): Use less-confusing report format.  "long" -> "long int.
74154         (main): Likewise.
74155         Don't loop if the iteration overflows time_t.
74156         Allow a negative step in the iteration.
74157
74158 2003-07-06  Karl Berry  <karl@gnu.org>
74159
74160         * config/depcomp: update from automake.
74161         * config/config.sub: update from prep.
74162
74163 2003-07-03  Karl Berry  <karl@gnu.org>
74164
74165         * config/config.guess: update from prep.
74166
74167 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74168
74169         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
74170         xreadlink.c now includes it unconditionally.
74171
74172 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74173
74174         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
74175         having it depend on HAVE_SYS_TYPES_H.
74176
74177 2003-07-01  Bruno Haible  <bruno@clisp.org>
74178
74179         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
74180         <sys/types.h> should be sufficient.
74181         Reported by Paul Eggert.
74182
74183 2003-06-26  Karl Berry  <karl@gnu.org>
74184
74185         * config/depcomp: update from automake.
74186
74187 2003-06-26  Bruno Haible  <bruno@clisp.org>
74188
74189         * modules/human: Depend on module stdbool.
74190
74191 2003-06-25  Bruno Haible  <bruno@clisp.org>
74192
74193         * modules/readlink: New file.
74194         * modules/xreadlink: Depend on it.
74195         * MODULES.html.sh (func_all_modules): Add readlink.
74196
74197 2003-06-25  Bruno Haible  <bruno@clisp.org>
74198
74199         * m4/readlink.m4: New file.
74200
74201 2003-06-25  Bruno Haible  <bruno@clisp.org>
74202
74203         * lib/readlink.c: New file.
74204
74205 2003-06-22  Karl Berry  <karl@gnu.org>
74206
74207         * config/srclist.txt: update mkinstalldirs from automake.
74208         * config/mkinstalldirs: update.
74209
74210 2003-06-22  Bruno Haible  <bruno@clisp.org>
74211
74212         Portability to mingw32.
74213         * m4/ssize_t.m4: New file, from GNU gettext.
74214         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
74215         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
74216
74217 2003-06-22  Bruno Haible  <bruno@clisp.org>
74218
74219         * modules/safe-read: Add m4/ssize_t.m4.
74220         * modules/xreadlink: Add m4/ssize_t.m4.
74221
74222 2003-06-20  Bruno Haible  <bruno@clisp.org>
74223
74224         Assume C89, so PARAMS isn't needed.
74225         * lib/unicodeio.h (PARAMS): Remove.
74226         * lib/unicodeio.c: Don't use PARAMS.
74227
74228 2003-06-18  Karl Berry  <karl@gnu.org>
74229
74230         * config/config.{guess,sub}: update from prep.
74231
74232 2003-06-18  Jim Meyering  <jim@meyering.net>
74233
74234         Merge changes from coreutils.
74235         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
74236         Remove explicit declarations of xmalloc and realloc.
74237         Include xalloc.h.
74238         (read_utmp): Remove anachronistic cast of xmalloc.
74239
74240 2003-06-17  Paul Eggert  <eggert@twinsun.com>
74241
74242         Assume C89, so PARAMS isn't needed.
74243         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
74244         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
74245         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
74246         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
74247         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
74248         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
74249         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
74250         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
74251         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
74252         lib/xstrtod.h, lib/xstrtol.h: Likewise.
74253         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
74254         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
74255         no longer needed. Anyway, config.h should always be included before any
74256         other file.
74257
74258 2003-06-11  Simon Josefsson  <jas@extundo.com>
74259
74260         * modules/sysexits: New file.
74261         * MODULES.html.sh (func_all_modules): Add sysexits.
74262
74263 2003-06-11  Simon Josefsson  <jas@extundo.com>
74264
74265         * lib/sysexit_.h: New file.
74266
74267 2003-06-11  Derek Price  <derek@ximbiot.com>
74268
74269         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
74270         necessary.
74271
74272 2003-06-11  Bruno Haible  <bruno@clisp.org>
74273
74274         * m4/sysexits.m4: New file.
74275
74276 2003-06-10  Simon Josefsson  <jas@extundo.com>
74277
74278         * lib/argp.h: New file, from glibc.
74279         * lib/argp-ba.c: New file, from glibc.
74280         * lib/argp-eexst.c: New file, from glibc.
74281         * lib/argp-fmtstream.c: New file, from glibc.
74282         * lib/argp-fmtstream.h: New file, from glibc.
74283         * lib/argp-fs-xinl.c: New file, from glibc.
74284         * lib/argp-help.c: New file, from glibc.
74285         * lib/argp-namefrob.h: New file, from glibc.
74286         * lib/argp-parse.c: New file, from glibc.
74287         * lib/argp-pv.c: New file, from glibc.
74288         * lib/argp-pvh.c: New file, from glibc.
74289         * lib/argp-xinl.c: New file, from glibc.
74290
74291 2003-06-10  Simon Josefsson  <jas@extundo.com>
74292
74293         * modules/strchrnul: New file.
74294
74295 2003-06-10  Simon Josefsson  <jas@extundo.com>
74296
74297         * modules/argp: New file.
74298
74299 2003-06-10  Simon Josefsson  <jas@extundo.com>
74300
74301         * m4/strchrnul.m4: New file.
74302
74303 2003-06-10  Simon Josefsson  <jas@extundo.com>
74304
74305         * lib/strchrnul.h: New file.
74306         * lib/strchrnul.c: New file.
74307
74308 2003-06-10  Bruno Haible  <bruno@clisp.org>
74309
74310         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
74311
74312 2003-06-07  Karl Berry  <karl@gnu.org>
74313
74314         * config/config.{guess,sub}: update from prep.
74315
74316 2003-06-07  Jim Meyering  <jim@meyering.net>
74317
74318         * modules/strtod: Use $(...) notation, not @...@ for
74319         AC_REPLACE'd variables.
74320         * modules/localcharset: Likewise.
74321
74322 2003-06-07  Jim Meyering  <jim@meyering.net>
74323
74324         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
74325         in place of my name in the copyright comment.
74326         Remove definition and uses of __P.
74327
74328         From coreutils.
74329         * lib/stat.c: Don't declare xmalloc explicitly.
74330         Instead, include "xalloc.h".
74331         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
74332         xrealloc, and xcalloc return values.
74333         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
74334         Improve comment.
74335         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
74336
74337 2003-06-07  Bruno Haible  <bruno@clisp.org>
74338
74339         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
74340         avoid AC_CONFIG_LINKS.
74341         * modules/fnmatch (Makefile.am): Use explicit creation rule for
74342         fnmatch.h, to avoid AC_CONFIG_LINKS.
74343         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
74344
74345 2003-06-07  Bruno Haible  <bruno@clisp.org>
74346
74347         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
74348         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
74349         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74350         directory.
74351         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
74352         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74353         directory.
74354
74355 2003-06-06  Jim Meyering  <jim@meyering.net>
74356
74357         Merge from coreutils.
74358         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
74359         Consolidate declarations and initializations of *_base* locals.
74360
74361         Merge from coreutils.
74362         This avoids a core dump on systems without GNU putenv,
74363         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
74364         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
74365         (unsetenv): New static function, from GNU libc.
74366         (rpl_putenv): Use it.
74367
74368         * lib/modechange.c: Remove trailing blanks.
74369
74370         Merge from coreutils.
74371         * lib/fsusage.c: Remove declaration of statfs.
74372         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
74373
74374         * lib/posixtm.c: Include <stdbool.h> unconditionally.
74375
74376 2003-06-06  Jim Meyering  <jim@meyering.net>
74377
74378         * lib/stdbool_.h: Renamed from stdbool.h.in.
74379
74380 2003-06-06  Jim Meyering  <jim@meyering.net>
74381             Bruno Haible  <bruno@clisp.org>
74382
74383         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
74384         Adjust Makefile.am snippet not to redirect directly to target.
74385         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
74386
74387 2003-06-05  Paul Eggert  <eggert@twinsun.com>
74388
74389         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
74390         mismatch, look in future quarters as well as past.  This fixes a
74391         bug when processing fall-backwards gaps immediately after a long
74392         period of daylight-saving time.
74393
74394         * lib/mktime.c: Assume freestanding C89 or better.
74395         (HAVE_LIMITS_H): Remove.  Assume it's 1.
74396         (__P): Remove; not used.
74397         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
74398         (mktime, not_equal_tm, print_tm, check_result,
74399         main): Use prototypes.  Use const * where appropriate.
74400         (main): Fix typo in testing code that uncovered by above changes.
74401         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
74402
74403 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74404
74405         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
74406         locale.h, localeconv.  This merges changes from coreutils.
74407
74408         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
74409         It can be removed after the next Autoconf is released.
74410         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
74411         needed.
74412
74413 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74414
74415         * lib/mktime.c: Fix Debian bug 177940
74416         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
74417         (localtime_offset): Now long int, not time_t, because we want it
74418         to be guaranteed to be signed.  All uses changed.
74419         (__mktime_internal): If overflow would occur when adding offset,
74420         don't add it.
74421
74422         Merge 'human' changes from coreutils.  Rewrite to support
74423         locale-specific notations like thousands separators.
74424         * lib/human.c: Simplify authorship notice.
74425         Include human.h immediately after config.h.
74426         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
74427         <limits.h>: Do not include, since human.h does.
74428         (SIZE_MAX, UINTMAX_MAX): New macros.
74429         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
74430         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
74431         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
74432         (power_letter): Renamed from suffixes.
74433         (generate_suffix_backwards): Remove.
74434         (adjust_value): Now takes int style (because of human.h changes)
74435         and long double value (for greater precision on some platforms).
74436         (group_number): New function.
74437         (human_readable): Use it.  Use integer options, not enum.
74438         Put the options before the sizes in the arg list.
74439         Support all the new options.
74440         The old human_readable function has been removed;
74441         use inttostr.h instead.
74442         (human_readable, default_block_size, humblock):
74443         Use uintmax_t, not int, for block sizes.
74444         (human_readable_inexact, block_size_types): Remove.
74445         (block_size_opts): New constant.
74446         (human_options): Renamed from human_block_size, with new signature
74447         that allows block sizes up to UINTMAX_MAX.  All callers changed.
74448         * lib/human.h: Add copyright and authorship notice.
74449         Include <limits.h> and <stdbool.h> unconditionally.
74450         (PARAMS): Remove.  All uses removed.
74451         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
74452         (enum human_inexact_style): Remove tag; now a nameless enum.
74453         (human_floor, human_ceiling, human_round_to_even): Now have
74454         values 2, 0, 1 rather than -1, 1, 0.
74455         (human_group_digits, human_suppress_point_zero, human_autoscale,
74456         human_base_1024, human_SI, human_B): New constants.
74457         (human_readable_inexact, human_block_size): Remove.
74458         (human_readable): Size args are now uintmax_t, not int.
74459         (human_options): New decl.
74460
74461         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
74462         unnecessary now that we assume C89 or better.  This change
74463         imported from coreutils.
74464
74465         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74466         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
74467         in the 2003-05-30 sync from glibc.
74468
74469         .h files should stand alone, but we shouldn't include <sys/types.h>
74470         if we can get away with just <stddef.h>.
74471
74472         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
74473         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
74474         rather than <sys/types.h>, as we merely need size_t.
74475         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
74476         to get size_t.
74477         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
74478         Include <stdio.h>, to get FILE.
74479         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
74480         memcasecmp.h has included <stddef.h> and all we need is size_t.
74481         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
74482         our interface, instead of including <sys/types.h>
74483
74484 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74485
74486         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
74487         now, as glibc mktime is buggy on non-glibc systems.
74488
74489 2003-06-03  Karl Berry  <karl@gnu.org>
74490
74491         * config/config.sub: update from prep.
74492
74493 2003-06-02  Paul Eggert  <eggert@twinsun.com>
74494
74495         [from coreutils]
74496         Fix some minor time-related bugs with POSIX time arguments.
74497         Some valid time stamps were being rejected (notably -1, and
74498         time stamps before 1900 on 64-bit hosts).  And some invalid
74499         time stamps were being accepted, e.g. September 31.
74500
74501         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
74502         that we can return (time_t) -1 successfully.
74503         * lib/posixtm.c: Likewise.
74504         [HAVE_STDBOOL_H]: Include <stdbool.h>.
74505         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
74506         (t): Remove static var.
74507         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
74508         of static var.  All uses changed.
74509         (year): Do not reject years before 1900; they can occur with
74510         64-bit time_t.
74511         (posix_time_parse): Do not check for out-of-range components;
74512         that is now the caller's responsibility, since our checks were
74513         only approximations.
74514         (posixtime): Use mktime to check for out-of-range components,
74515         since it knows them exactly.
74516         If mktime returns (time_t) -1, check whether an error actually occurred
74517         by invoking localtime on -1.
74518         (main) [TEST_POSIXTIME]: Check for input data errors, and report
74519         posixtime failures better.
74520         Improve the test data (in comments only).
74521
74522 2003-06-02  Karl Berry  <karl@gnu.org>
74523
74524         * config/mkinstalldirs (version): new variable.
74525         (--version): new option.
74526         (usage): improve message.
74527
74528 2003-05-30  Karl Berry  <karl@gnu.org>
74529
74530         * lib/mktime.c: update from libc.
74531
74532 2003-05-30  Bruno Haible  <bruno@clisp.org>
74533
74534         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
74535         * config/config.rpath: Upgrade to gettext-0.12.1.
74536
74537 2003-05-30  Bruno Haible  <bruno@clisp.org>
74538
74539         * m4/gettext.m4: Upgrade to gettext-0.12.1.
74540         * m4/nls.m4: New file, from gettext-0.12.1.
74541         * m4/po.m4: New file, from gettext-0.12.1.
74542         * m4/progtest.m4: Upgrade to gettext-0.12.1.
74543
74544 2003-05-30  Bruno Haible  <bruno@clisp.org>
74545
74546         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
74547         * lib/localcharset.h: Likewise.
74548         * lib/localcharset.c: Likewise.
74549
74550 2003-05-29  Karl Berry  <karl@gnu.org>
74551
74552         * config/config.rpath: update from gettext.
74553
74554 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74555
74556         Assume the headers required for C89 freestanding compilers.
74557         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
74558         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
74559         * m4/human.m4 (gl_HUMAN): Likewise.
74560         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
74561         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
74562         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74563         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
74564         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74565         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
74566
74567 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74568
74569         Assume the headers required for C89 freestanding compilers.
74570         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
74571         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
74572         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
74573         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
74574         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
74575         define, since <limits.h> is guaranteed to do that.
74576         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
74577         * lib/exclude.c: Include <stdbool.h> unconditionally.
74578         * lib/tempname.c: Include <stddef.h> unconditionally.
74579         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
74580         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
74581         <stddef.h> does that.
74582         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
74583         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
74584         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
74585         needed.
74586         * lib/xstrtol.c: Likewise.
74587         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
74588         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
74589
74590         * lib/addext.c (addext): Use assignment rather than cast, to avoid
74591         warnings on some platforms.
74592
74593         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74594         arbitrarily.
74595
74596 2003-05-26  Jim Meyering  <jim@meyering.net>
74597
74598         Merge in a change from coreutils:
74599         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74600         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74601         that condition, rather than `-1' which is slightly misleading.
74602         Change the name of the cache variable to have the gl_ prefix.
74603         Prompted by a patch from Richard Dawe for DJGPP.
74604
74605 2003-05-24  Karl Berry  <karl@gnu.org>
74606
74607         * config/config.guess: update from prep.
74608
74609 2003-05-22  Karl Berry  <karl@gnu.org>
74610
74611         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74612
74613 2003-05-20  Karl Berry  <karl@gnu.org>
74614
74615         * config/config.guess: update from prep.
74616
74617 2003-05-18  Karl Berry  <karl@gnu.org>
74618
74619         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74620         might actually be set by the user.
74621
74622         * config/depcomp, install-sh, mdate-sh: update from automake.
74623
74624 2003-05-17  Bruno Haible  <bruno@clisp.org>
74625
74626         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74627         invalid expansion for AC_EGREP_CPP.
74628         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
74629         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
74630         Suggested by Akim Demaille <akim@epita.fr> in
74631         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
74632
74633 2003-05-12  Jim Meyering  <jim@meyering.net>
74634
74635         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
74636         the space-padded-by-default conversion specifiers, %e, %k, %l.
74637
74638 2003-05-12  Bruno Haible  <bruno@clisp.org>
74639
74640         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
74641         the string is longer than 4 KB.
74642
74643 2003-05-11  Karl Berry  <karl@gnu.org>
74644
74645         * config/config.{guess,sub}: update from prep.
74646
74647 2003-05-09  Bruno Haible  <bruno@clisp.org>
74648
74649         * modules/error: Add m4/strerror_r.m4 to file list.
74650
74651 2003-05-03  Bruno Haible  <bruno@clisp.org>
74652
74653         Upgrade to Unicode-4.0.
74654         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
74655         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
74656         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
74657         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
74658         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
74659         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
74660         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
74661         Change width of U+E0100..U+E01EF from 1 to 0.
74662
74663 2003-04-25  Jim Meyering  <jim@meyering.net>
74664
74665         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
74666         of type size_t, not int.
74667
74668 2003-04-25  Bruno Haible  <bruno@clisp.org>
74669
74670         * lib/copy-file.c: Include <stddef.h>, for size_t.
74671
74672 2003-04-21  Paul Eggert  <eggert@twinsun.com>
74673
74674         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
74675         code which expansion is under static control.  Patch imported from
74676         Akim Demaille's patch to Bison; see
74677         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
74678
74679 2003-04-14  Bruno Haible  <bruno@clisp.org>
74680
74681         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
74682
74683 2003-04-11  Jim Meyering  <jim@meyering.net>
74684
74685         Merge changes from Coreutils.
74686
74687         2003-03-22  Jim Meyering  <jim@meyering.net>
74688
74689         * lib/strftime.c (widen): Cast alloca return value to proper type.
74690
74691         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
74692
74693         From GNU libc.
74694         * lib/strftime.c (my_strftime): Handle very large width
74695         specifications for numeric values correctly.  Improve checks for
74696         overflow.
74697
74698         2003-01-19  Jim Meyering  <jim@meyering.net>
74699
74700         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
74701         definitions.
74702         (nl_get_alt_digit) [! defined my_strftime]: Define.
74703         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
74704         _nl_get_alt_digit and _nl_get_walt_digit.
74705
74706         * lib/strftime.c (my_strftime): Merge in locale-related changes from
74707         libc. These changes have no effect outside of _LIBC.
74708
74709 2003-04-10  Bruno Haible  <bruno@clisp.org>
74710
74711         * modules/findprog: New file.
74712         * MODULES.html.sh (func_all_modules): Add it.
74713
74714 2003-04-10  Bruno Haible  <bruno@clisp.org>
74715
74716         * m4/findprog.m4: New file.
74717         * m4/eaccess.m4: New file.
74718
74719 2003-04-10  Bruno Haible  <bruno@clisp.org>
74720
74721         * lib/findprog.h: New file, from GNU gettext.
74722         * lib/findprog.c: New file, from GNU gettext.
74723
74724 2003-04-05  Jim Meyering  <jim@meyering.net>
74725
74726         Merge changes from Coreutils.
74727
74728         * lib/exclude.h (PARAMS): Remove definition and uses.
74729         * lib/exclude.c: Remove uses of `PARAMS'.
74730
74731         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
74732         Add test-cases for DOS filenames. Declare program_name.
74733         (main): Set up program_name.  Patch by Rich Dawe.
74734
74735         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74736         error from mntctl.
74737         Use mntctl's return value to drive the entry-processing loop, since
74738         we can't rely on the value of the vmt_length member in the last
74739         entry.  On some systems doing so could result in exhausting
74740         virtual memory.  Based in part on a patch from Mike Jetzer.
74741
74742 2003-04-04  Bruno Haible  <bruno@clisp.org>
74743
74744         * modules/linebreak: New file.
74745         * MODULES.html.sh (func_all_modules): Add it.
74746
74747 2003-04-04  Bruno Haible  <bruno@clisp.org>
74748
74749         * m4/linebreak.m4: New file.
74750
74751 2003-04-04  Bruno Haible  <bruno@clisp.org>
74752
74753         * lib/linebreak.h: New file, from GNU gettext.
74754         * lib/linebreak.c: New file, from GNU gettext with slight
74755         modifications.
74756         * lib/lbrkprop.h: New file, from GNU gettext.
74757
74758 2003-04-03  Bruno Haible  <bruno@clisp.org>
74759
74760         * modules/utf8-ucs4: New file.
74761         * modules/utf16-ucs4: New file.
74762         * modules/ucs4-utf8: New file.
74763         * modules/ucs4-utf16: New file.
74764         * MODULES.html.sh (func_all_modules): Add them.
74765
74766 2003-04-03  Bruno Haible  <bruno@clisp.org>
74767
74768         * m4/utf-ucs4.m4: New file.
74769         * m4/ucs4-utf.m4: New file.
74770
74771 2003-04-03  Bruno Haible  <bruno@clisp.org>
74772
74773         * lib/utf8-ucs4.h: New file, from GNU gettext.
74774         * lib/utf16-ucs4.h: New file, from GNU gettext.
74775         * lib/ucs4-utf8.h: New file, from GNU gettext.
74776         * lib/ucs4-utf16.h: New file, from GNU gettext.
74777
74778 2003-04-02  Bruno Haible  <bruno@clisp.org>
74779
74780         * modules/binary-io: New file.
74781         * MODULES.html.sh (func_all_modules): Add it.
74782
74783 2003-04-02  Bruno Haible  <bruno@clisp.org>
74784
74785         * lib/binary-io.h: New file, from GNU gettext.
74786
74787 2003-04-01  Bruno Haible  <bruno@clisp.org>
74788
74789         * modules/pathname: New file.
74790         * MODULES.html.sh (func_all_modules): Add it.
74791
74792 2003-04-01  Bruno Haible  <bruno@clisp.org>
74793
74794         * lib/pathname.h: New file, from GNU gettext.
74795         * lib/concatpath.c: New file, from GNU gettext.
74796
74797 2003-03-30  Bruno Haible  <bruno@clisp.org>
74798
74799         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
74800
74801 2003-03-30  Bruno Haible  <bruno@clisp.org>
74802
74803         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
74804         function chown() doesn't exist.
74805
74806 2003-03-28  Bruno Haible  <bruno@clisp.org>
74807
74808         * modules/copy-file: New file.
74809         * MODULES.html.sh (func_all_modules): Add it.
74810
74811 2003-03-28  Bruno Haible  <bruno@clisp.org>
74812
74813         * m4/copy-file.m4: New file.
74814
74815 2003-03-28  Bruno Haible  <bruno@clisp.org>
74816
74817         * lib/copy-file.h: New file, from GNU gettext.
74818         * lib/copy-file.c: New file, from GNU gettext.
74819
74820 2003-03-18  Jim Meyering  <jim@meyering.net>
74821
74822         * lib/quote.c (quote_n): Fix typo in comment.
74823
74824 2003-03-18  Bruno Haible  <bruno@clisp.org>
74825
74826         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
74827         checking.
74828         * m4/onceonly_2_57.m4: Likewise.
74829
74830 2003-03-17  Bruno Haible  <bruno@clisp.org>
74831
74832         * m4/onceonly.m4: Require autoconf 2.54 or newer.
74833         (m4_quote): Remove macro.
74834         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
74835
74836 2003-03-14  Jim Meyering  <jim@meyering.net>
74837
74838         Merge changes from Coreutils.
74839         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
74840         to be const, in order to avoid warnings.
74841         (obstack_room): Likewise.
74842         (obstack_empty_p): Likewise.
74843
74844 2003-03-14  Bruno Haible  <bruno@clisp.org>
74845
74846         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
74847         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
74848
74849 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74850
74851         Merge changes from Bison.
74852         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
74853         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
74854         when compiling Bison 1.875's `bitset bset = obstack_alloc
74855         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
74856         * lib/hash.c: Include <stdbool.h> unconditionally.
74857
74858 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74859
74860         * m4/onceonly.m4 (m4_quote): New macro.
74861         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
74862         Quote AC_FOREACH variable-expansions properly.
74863
74864 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74865
74866         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
74867
74868 2003-03-09  Paul Eggert  <eggert@twinsun.com>
74869
74870         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
74871         Reported by Bruce Becker; see:
74872         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
74873
74874 2003-03-03  Paul Eggert  <eggert@twinsun.com>
74875             Bruno Haible  <bruno@clisp.org>
74876
74877         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
74878         Reported by John Hughes, see
74879         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
74880
74881 2003-02-20  Bruno Haible  <bruno@clisp.org>
74882
74883         * MODULES.html.sh (func_all_modules): Add poll.
74884
74885 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74886
74887         * modules/poll: New file.
74888
74889 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74890
74891         * lib/poll_.h: New file.
74892         * lib/poll.c: New file.
74893
74894 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74895
74896         * m4/poll.m4: New file.
74897
74898 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74899
74900         * modules/mathl: New file.
74901
74902 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74903
74904         * lib/mathl.h: New file.
74905         * lib/acosl.c: New file.
74906         * lib/asinl.c: New file.
74907         * lib/atanl.c: New file.
74908         * lib/ceill.c: New file.
74909         * lib/cosl.c: New file.
74910         * lib/expl.c: New file.
74911         * lib/floorl.c: New file.
74912         * lib/frexpl.c: New file.
74913         * lib/ldexpl.c: New file.
74914         * lib/logl.c: New file.
74915         * lib/sincosl.c: New file.
74916         * lib/sinl.c: New file.
74917         * lib/sqrtl.c: New file.
74918         * lib/tanl.c: New file.
74919         * lib/trigl.c: New file.
74920         * lib/trigl.h: New file.
74921
74922 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74923
74924         * m4/mathl.m4: New file.
74925
74926 2003-02-18  Bruno Haible  <bruno@clisp.org>
74927
74928         * MODULES.html.sh (func_all_modules): Add mathl.
74929
74930 2003-02-17  Bruno Haible  <bruno@clisp.org>
74931
74932         * modules/mkdtemp: New module.
74933         * MODULES.html.sh (func_all_modules): Add it.
74934
74935 2003-02-17  Bruno Haible  <bruno@clisp.org>
74936
74937         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
74938
74939 2003-02-17  Bruno Haible  <bruno@clisp.org>
74940
74941         * lib/mkdtemp.h: New file, from GNU gettext.
74942         * lib/mkdtemp.c: New file, from GNU gettext.
74943
74944 2003-02-02  Jim Meyering  <jim@meyering.net>
74945
74946         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
74947         e.g. glibc-2.2.93.
74948
74949 2003-01-31  Bruno Haible  <bruno@clisp.org>
74950
74951         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
74952         'rpl_rename'.
74953         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
74954         'rpl_strnlen'.
74955         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
74956         'rpl_strtod'.
74957         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
74958         'rpl_utime'.
74959
74960 2003-01-31  Bruno Haible  <bruno@clisp.org>
74961
74962         * lib/rename.c: #undef rename before defining rpl_rename.
74963         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
74964
74965 2003-01-30  Bruno Haible  <bruno@clisp.org>
74966
74967         * modules/vasnprintf, modules/vasprintf: New modules.
74968         * MODULES.html.sh (func_all_modules): Add them.
74969
74970 2003-01-30  Bruno Haible  <bruno@clisp.org>
74971
74972         * m4/signed.m4: New file, from GNU gettext.
74973         * m4/longdouble.m4: New file, from GNU gettext.
74974         * m4/wchar_t.m4: New file, from GNU gettext.
74975         * m4/wint_t.m4: New file, from GNU gettext.
74976         * m4/vasnprintf.m4: New file.
74977         * m4/vasprintf.m4: New file.
74978
74979 2003-01-30  Bruno Haible  <bruno@clisp.org>
74980
74981         * lib/printf-args.h: New file, from GNU gettext.
74982         * lib/printf-args.c: New file, from GNU gettext.
74983         * lib/printf-parse.h: New file, from GNU gettext.
74984         * lib/printf-parse.c: New file, from GNU gettext.
74985         * lib/vasnprintf.h: New file, from GNU gettext.
74986         * lib/vasnprintf.c: New file, from GNU gettext.
74987         * lib/asnprintf.c: New file, from GNU gettext.
74988         * lib/vasprintf.h: New file, from GNU gettext with modifications.
74989         * lib/vasprintf.c: New file, from GNU gettext.
74990         * lib/asprintf.c: New file, from GNU gettext.
74991
74992 2003-01-29  Bruno Haible  <bruno@clisp.org>
74993
74994         * modules/stpncpy: New module.
74995         * MODULES.html.sh (func_all_modules): Add it.
74996
74997 2003-01-29  Bruno Haible  <bruno@clisp.org>
74998
74999         * m4/stpncpy.m4: New file.
75000
75001 2003-01-29  Bruno Haible  <bruno@clisp.org>
75002
75003         * lib/stpncpy.h: New file, from GNU gettext with modifications.
75004         * lib/stpncpy.c: New file, from GNU gettext with modifications.
75005
75006 2003-01-28  Bruno Haible  <bruno@clisp.org>
75007
75008         * modules/c-ctype: New module.
75009         * MODULES.html.sh (func_all_modules): Add it.
75010
75011 2003-01-28  Bruno Haible  <bruno@clisp.org>
75012
75013         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
75014         Paul Eggert.
75015         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
75016         Paul Eggert.
75017
75018 2003-01-27  Bruno Haible  <bruno@clisp.org>
75019
75020         * modules/xsetenv: New module.
75021         * MODULES.html.sh (func_all_modules): Add it.
75022
75023 2003-01-27  Bruno Haible  <bruno@clisp.org>
75024
75025         * lib/xsetenv.h: New file, from GNU gettext.
75026         * lib/xsetenv.c: New file, from GNU gettext.
75027
75028 2003-01-23  Jim Meyering  <jim@meyering.net>
75029
75030         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
75031         from working on systems without dirfd (at least Irix and OSF1/Tru64).
75032
75033 2003-01-23  Bruno Haible  <bruno@clisp.org>
75034
75035         * modules/minmax: New module.
75036         * MODULES.html.sh (func_all_modules): Add it.
75037
75038 2003-01-23  Bruno Haible  <bruno@clisp.org>
75039
75040         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
75041         Eggert.
75042
75043 2003-01-22  Bruno Haible  <bruno@clisp.org>
75044
75045         * modules/exit: New module.
75046         * MODULES.html.sh (func_all_modules): Add it.
75047
75048 2003-01-22  Bruno Haible  <bruno@clisp.org>
75049
75050         * lib/exit.h: New file, from GNU gettext.
75051
75052 2003-01-19  Bruno Haible  <bruno@clisp.org>
75053
75054         * gnulib-tool: Recognize option --extract-maintainer.
75055         (func_get_maintainer): New function.
75056         * modules/*: Add Maintainer entry.
75057
75058 2003-01-16  Jim Meyering  <jim@meyering.net>
75059
75060         * m4/regex.m4: The `regex' struct is both input and output.
75061         Initialize it before each use.  Patch by Tim Waugh.
75062
75063 2003-01-16  Bruno Haible  <bruno@clisp.org>
75064
75065         * MODULES.html.sh: Add a table of contents. Add the module name as
75066         leftmost column. Add hyperlinks.
75067
75068 2003-01-15  Bruno Haible  <bruno@clisp.org>
75069
75070         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
75071
75072 2003-01-15  Bruno Haible  <bruno@clisp.org>
75073
75074         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
75075         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
75076         suffix.
75077
75078 2003-01-15  Bruno Haible  <bruno@clisp.org>
75079
75080         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
75081
75082 2003-01-15  Bruno Haible  <bruno@clisp.org>
75083
75084         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
75085         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
75086
75087 2003-01-14  Jim Meyering  <jim@meyering.net>
75088
75089         * lib/same.c (same_name): Tweak a comment.
75090
75091 2003-01-14  Bruno Haible  <bruno@clisp.org>
75092
75093         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
75094         when a string comparison is sufficient.
75095
75096 2003-01-14  Bruno Haible  <bruno@clisp.org>
75097
75098         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
75099         'unsigned int'.
75100
75101 2003-01-14  Bruno Haible  <bruno@clisp.org>
75102
75103         * lib/hash-pjw.c: Add comment about low quality of this function.
75104
75105 2003-01-13  Bruno Haible  <bruno@clisp.org>
75106
75107         * modules/stpcpy: Distribute lib/stpcpy.h.
75108         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
75109
75110 2003-01-13  Bruno Haible  <bruno@clisp.org>
75111
75112         * modules/*: Add a description.
75113         * modules/strpbrk: Fix Makefile.am snippet.
75114         * modules/strtoimax: Fix dependencies.
75115         * modules/strtoumax: Likewise.
75116
75117 2003-01-13  Bruno Haible  <bruno@clisp.org>
75118
75119         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
75120         * modules/alloca (Makefile.am): All object files depend on alloca.h.
75121         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
75122
75123 2003-01-13  Bruno Haible  <bruno@clisp.org>
75124
75125         * gnulib-tool (func_create_testdir): Store config/* files in the main
75126         directory.
75127         * config.rpath: Move to ...
75128         * config/config.rpath: ... here.
75129         * modules/gettext: Contains config/config.rpath, not config.rpath.
75130         * modules/iconv: Likewise.
75131
75132 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75133
75134         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75135         to avoid collisions with libcurses and libreadline.
75136
75137         * m4/getstr.m4: Remove.
75138         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
75139
75140 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75141
75142         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75143         to avoid collisions with libcurses and libreadline.
75144
75145         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
75146         * lib/getstr.h, getstr.c: Remove.
75147         * lib/getline.c: Include "getline.h", to check interface.
75148         Move body of old getstr.c here: this defines MIN_CHUNK and
75149         declares getdelim2, which is renamed from getstr.
75150         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
75151
75152         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
75153         All uses changed.
75154         * lib/linebuffer.h: Likewise.
75155         (readline): Remove backward-compatibility macro.
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         * getstr: Remove.
75162         * MODULES.html.sh: Remove getstr.
75163         * modules/getline: Depend on unlocked-io, not getstr.
75164
75165 2003-01-12  Jim Meyering  <jim@meyering.net>
75166
75167         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
75168
75169 2003-01-10  Bruno Haible  <bruno@clisp.org>
75170
75171         * modules/alloca: Change Makefile.am requirements. Simplify Include
75172         requirements. Add lib/alloca_.h to file list.
75173
75174 2003-01-10  Bruno Haible  <bruno@clisp.org>
75175
75176         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
75177
75178 2003-01-10  Bruno Haible  <bruno@clisp.org>
75179
75180         * lib/alloca_.h: New file.
75181         * lib/getdate.y: Unconditionally include alloca.h.
75182         * lib/makepath.c: Likewise.
75183         * lib/setenv.c: Likewise.
75184         * lib/userspec.c: Likewise.
75185
75186 2003-01-09  Karl Berry  <karl@gnu.org>
75187
75188         * MODULES.html.sh: include `dirname $0` in PATH, to find
75189         gnulib-tool.
75190
75191 2003-01-09  Bruno Haible  <bruno@clisp.org>
75192
75193         * modules/stdbool: Change configure.ac, Makefile.am requirements.
75194         Simplify Include requirements. Add lib/stdbool.h.in to file list.
75195
75196 2003-01-09  Bruno Haible  <bruno@clisp.org>
75197
75198         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
75199
75200 2003-01-09  Bruno Haible  <bruno@clisp.org>
75201
75202         * lib/stdbool.h.in: New file.
75203
75204 2003-01-09  Bruno Haible  <bruno@clisp.org>
75205
75206         * gnulib-tool (func_all_modules): Ignore files ending in ~.
75207         * MODULES.html.sh: Likewise.
75208
75209 2003-01-08  Jim Meyering  <jim@meyering.net>
75210
75211         * lib/full-write.c: Undefine and define-away `const' after inclusion
75212         of errno.h, not before.  Suggestion from Bruno Haible.
75213
75214 2003-01-08  Bruno Haible  <bruno@clisp.org>
75215
75216         * modules/full-read: Depend on full-write.
75217
75218 2003-01-08  Bruno Haible  <bruno@clisp.org>
75219
75220         * lib/safe-read.c: Include specification header first, to ensure its
75221         selfcontainedness.
75222         * lib/full-write.c: Likewise.
75223
75224 2003-01-07  Jim Meyering  <jim@meyering.net>
75225
75226         * lib/full-write.c: Rework so that it may serve to define full_read,
75227         too.
75228         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
75229
75230 2003-01-07  Bruno Haible  <bruno@clisp.org>
75231
75232         * lib/strtoimax.c: Include <stdint.h> as an alternative to
75233         <inttypes.h>.
75234         * lib/xstrtol.h: Likewise.
75235         * lib/xstrtoimax.c: Likewise.
75236         * lib/xstrtoumax.c: Likewise.
75237         * lib/human.h: Likewise.
75238
75239         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
75240         on systems that have <inttypes.h> but not <stdint.h>.
75241
75242 2003-01-07  Bruno Haible  <bruno@clisp.org>
75243
75244         * MODULES.html.sh: Add copyright notice.
75245         (missed_files): Omit CVS directory entries.
75246         (func_module): Make it work with sed-3.02.
75247         * MODULES.txt: Remove file.
75248
75249 2003-01-06  Jim Meyering  <jim@meyering.net>
75250
75251         * lib/version-etc.c: Update year in translatable copyright string.
75252
75253 2003-01-03  Karl Berry  <karl@gnu.org>
75254
75255         * config/config.{guess,sub}: update from prep.
75256
75257 2003-01-02  Karl Berry  <karl@gnu.org>
75258
75259         * doc/COPYING.DOC: belatedly updated to 1.2.
75260
75261 2003-01-01  Karl Berry  <karl@gnu.org>
75262
75263         * gnulib-tool (func_verify_module): report module name $module in
75264         error message, not $1.
75265         * gnulib-tool (create-testdir): don't complain if destdir couldn't
75266         be created, only if it doesn't exist.
75267         * gnulib-tool (last_checkin_date): don't expand the $Date here.
75268
75269 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75270
75271         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
75272
75273 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75274
75275         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
75276         memcmp if strcoll doesn't work.
75277
75278 2002-12-31  Bruno Haible  <bruno@clisp.org>
75279
75280         * lib/utime.c (utime_null): No need to call ftruncate if the file was
75281         nonempty.
75282
75283 2002-12-31  Bruno Haible  <bruno@clisp.org>
75284
75285         * lib/memcoll.c (STRCOLL): New macro.
75286         (memcoll): Use it.
75287
75288 2002-12-31  Bruno Haible  <bruno@clisp.org>
75289
75290         * lib/localcharset.h: New file.
75291         * lib/localcharset.c: Include it.
75292         * lib/unicodeio.c: Likewise.
75293
75294 2002-12-31  Bruno Haible  <bruno@clisp.org>
75295
75296         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
75297         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
75298
75299 2002-12-31  Bruno Haible  <bruno@clisp.org>
75300
75301         * lib/getline.h: Include <stddef.h>, for size_t.
75302
75303         * lib/unicodeio.h: Include <stddef.h>, for size_t.
75304         * lib/unicodeio.c: Don't include <stddef.h>.
75305
75306 2002-12-31  Bruno Haible  <bruno@clisp.org>
75307
75308         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
75309         HAVE_TM_ZONE.
75310
75311 2002-12-24  Karl Berry  <karl@gnu.org>
75312
75313         * config/config.guess: update from prep.
75314
75315 2002-12-24  Bruno Haible  <bruno@clisp.org>
75316
75317         General infrasructure.
75318         * m4/README: Rewritten.
75319         * m4/onceonly.m4: New file.
75320         * m4/onceonly_2_57.m4: New file.
75321
75322         Module atexit.
75323         * m4/atexit.m4: New file.
75324
75325         Module strtod.
75326         * m4/strtod.m4: New file.
75327
75328         Module strtol.
75329         * m4/strtol.m4: New file.
75330
75331         Module strtoul.
75332         * m4/strtoul.m4: New file.
75333
75334         Module memchr.
75335         * m4/memchr.m4: New file.
75336
75337         Module memcmp.
75338         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
75339         (jm_FUNC_MEMCMP): Invoke it.
75340
75341         Module memcpy.
75342         * m4/memcpy.m4: New file.
75343
75344         Module memmove.
75345         * m4/memmove.m4: New file.
75346
75347         Module memset.
75348         * m4/memset.m4: New file.
75349
75350         Module strcspn.
75351         * m4/strcspn.m4: New file.
75352
75353         Module strpbrk.
75354         * m4/strpbrk.m4: New file.
75355
75356         Module strstr.
75357         * m4/strstr.m4: New file.
75358
75359         Module strerror.
75360         * m4/strerror.m4: New file.
75361
75362         Module mktime.
75363         * m4/mktime.m4: Renamed from jm-mktime.m4.
75364         (gl_PREREQ_MKTIME): New macro.
75365         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
75366
75367         Module malloc.
75368         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
75369         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
75370         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
75371
75372         Module realloc.
75373         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
75374         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
75375         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
75376
75377         Module strftime.
75378         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
75379         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
75380         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
75381         gl_TM_GMTOFF.
75382         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
75383
75384         Module xalloc.
75385         * m4/xalloc.m4: New file.
75386
75387         Module alloca.
75388         * m4/alloca.m4: New file.
75389
75390         Module putenv.
75391         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
75392         (jm_FUNC_PUTENV): Invoke it.
75393
75394         Module setenv.
75395         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
75396         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
75397         when invoked twice.
75398         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
75399         gt_FUNC_SETENV.
75400
75401         Module memrchr.
75402         * m4/memrchr.m4: New file.
75403
75404         Module stpcpy.
75405         * m4/stpcpy.m4: New file.
75406
75407         Module strcase.
75408         * m4/strcase.m4: New file.
75409
75410         Module strdup.
75411         * m4/strdup.m4: New file.
75412
75413         Module strnlen.
75414         * m4/strnlen.m4: New file.
75415
75416         Module strndup.
75417         * m4/strndup.m4: New file.
75418
75419         Module xstrtod.
75420         * m4/xstrtod.m4: New file.
75421
75422         Module xstrtol.
75423         * m4/xstrtol.m4: New file.
75424
75425         Module getdate.
75426         * m4/getdate.m4: New file.
75427
75428         Module unlocked-io.
75429         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
75430         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
75431         * m4/jm-glibc-io.m4n: Remove file.
75432
75433         Module long-options.
75434         * m4/long-options.m4: New file.
75435
75436         Module md5.
75437         * m4/md5.m4: New file.
75438
75439         Module sha.
75440         * m4/sha.m4: New file.
75441
75442         Module getstr.
75443         * m4/getstr.m4: New file.
75444
75445         Module getline.
75446         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
75447         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
75448         <sys/types.h>, for size_t. Use the function name gnu_getline, not
75449         simply getline. Infoke gl_PREREQ_GETLINE.
75450
75451         Module obstack.
75452         * m4/obstack.m4: New file.
75453
75454         Module hash.
75455         * m4/hash.m4: New file.
75456
75457         Module readtokens.
75458         * m4/readtokens.m4: New file.
75459
75460         Module strverscmp.
75461         * m4/strverscmp.m4: New file.
75462
75463         Module stdbool.
75464         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
75465         OSF/1.
75466
75467         Module strtoll.
75468         * m4/strtoll.m4: New file.
75469
75470         Module strtoull.
75471         * m4/strtoull.m4: New file.
75472
75473         Module strtoimax.
75474         * m4/strtoimax.m4: New file.
75475
75476         Module strtoumax.
75477         * m4/strtoumax.m4: New file.
75478
75479         Module xstrtoimax.
75480         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
75481         jm_AC_PREREQ_XSTRTOIMAX.
75482         Moved the strtol prerequisites to strtol.m4.
75483         Moved the strtoll prerequisites to strtoll.m4.
75484         Moved the strtoimax prerequisites to strtoimax.m4.
75485
75486         Module xstrtoumax.
75487         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
75488         jm_AC_PREREQ_XSTRTOUMAX.
75489         Moved the strtoul prerequisites to strtoul.m4.
75490         Moved the strtoull prerequisites to strtoull.m4.
75491         Moved the strtoumax prerequisites to strtoumax.m4.
75492
75493         Module chown.
75494         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
75495         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
75496
75497         Module dup2.
75498         * m4/dup2.m4: New file.
75499
75500         Module ftruncate.
75501         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
75502         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
75503
75504         Module getgroups.
75505         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
75506         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
75507
75508         Module gettimeofday.
75509         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
75510         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
75511         gl_PREREQ_GETTIMEOFDAY.
75512
75513         Module mkdir.
75514         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
75515         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
75516
75517         Module mkstemp.
75518         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
75519         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
75520         jm_AC_TYPE_UINTMAX_T.
75521         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
75522
75523         Module stat.
75524         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
75525         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
75526
75527         Module lstat.
75528         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
75529         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
75530
75531         Module timespec.
75532         * m4/timespec.m4 (gl_TIMESPEC): New macro.
75533         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
75534         * m4/st_mtim.m4: Indentation.
75535
75536         Module nanosleep.
75537         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
75538         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
75539         gl_PREREQ_NANOSLEEP.
75540
75541         Module regex.
75542         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
75543         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
75544         (gl_REGEX): New macro.
75545
75546         Module rename.
75547         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
75548         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
75549
75550         Module rmdir.
75551         * m4/rmdir.m4: New file.
75552
75553         Module utime.
75554         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
75555         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
75556         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
75557
75558         Module dirname.
75559         * m4/dirname.m4: New file.
75560
75561         Module getopt.
75562         * m4/getopt.m4: New file.
75563
75564         Module unistd-safer.
75565         * m4/unistd-safer.m4: New file.
75566
75567         Module fnmatch.
75568         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
75569         declaration.
75570         (gl_PREREQ_FNMATCH_EXTRA): New macro.
75571         (gl_FUNC_FNMATCH_POSIX): New macro.
75572         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
75573         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
75574         simply fnmatch.
75575
75576         Module exclude.
75577         * m4/exclude.m4: New file.
75578
75579         Module human.
75580         * m4/human.m4: New file.
75581
75582         Module acl.
75583         * m4/acl.m4: Nop.
75584
75585         Module backupfile.
75586         * m4/backupfile.m4: New file.
75587         * m4/d-ino.m4: Indentation.
75588
75589         Module fsusage.
75590         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
75591         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
75592         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
75593
75594         Module dirfd.
75595         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
75596         requirements.
75597
75598         Module euidaccess.
75599         * m4/euidaccess.m4: New file.
75600
75601         Module file-type.
75602         * m4/file-type.m4: New file.
75603
75604         Module fileblocks.
75605         * m4/fileblocks.m4: New file.
75606
75607         Module filemode.
75608         * m4/filemode.m4: New file.
75609
75610         Module isdir.
75611         * m4/isdir.m4: New file.
75612
75613         Module lchown.
75614         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75615         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75616
75617         Module makepath.
75618         * m4/makepath.m4: New file.
75619
75620         Module modechange.
75621         * m4/modechange.m4: New file.
75622
75623         Module mountlist.
75624         * m4/mountlist.m4: New file.
75625         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75626         Indentation.
75627
75628         Module path-concat.
75629         * m4/path-concat.m4: New file.
75630
75631         Module pathmax.
75632         * m4/pathmax.m4: New file.
75633
75634         Module same.
75635         * m4/same.m4: New file.
75636
75637         Module save-cwd.
75638         * m4/save-cwd.m4: New file.
75639
75640         Module savedir.
75641         * m4/savedir.m4: New file.
75642
75643         Module xgetcwd.
75644         * m4/xgetcwd.m4: New file.
75645         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
75646
75647         Module xreadlink.
75648         * m4/xreadlink.m4: New file.
75649
75650         Module safe-read.
75651         * m4/safe-read.m4: New file.
75652
75653         Module safe-write.
75654         * m4/safe-write.m4: New file.
75655
75656         Module closeout.
75657         * m4/closeout.m4: New file.
75658
75659         Module stdio-safer.
75660         * m4/stdio-safer.m4: New file.
75661
75662         Module getpass.
75663         * m4/getpass.m4: New file.
75664
75665         Module getugroups.
75666         * m4/getugroups.m4: New file.
75667
75668         Module group-member.
75669         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
75670         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
75671
75672         Module idcache.
75673         * m4/idcache.m4: New file.
75674
75675         Module userspec.
75676         * m4/userspec.m4: New file.
75677
75678         Module gettime.
75679         * m4/clock_time.m4: New file.
75680         * m4/gettime.m4: New file.
75681
75682         Module settime.
75683         * m4/settime.m4: New file.
75684
75685         Module posixtm.
75686         * m4/posixtm.m4: New file.
75687
75688         Module gethostname.
75689         * m4/gethostname.m4: New file.
75690
75691         Module canon-host.
75692         * m4/canon-host.m4: New file.
75693
75694         Module gettext.
75695         * m4/codeset.m4: New file, from gettext-0.11.5.
75696         * m4/gettext.m4: New file, from gettext-0.11.5.
75697         * m4/glibc21.m4: New file, from gettext-0.11.5.
75698         * m4/iconv.m4: New file, from gettext-0.11.5.
75699         * m4/intdiv0.m4: New file, from gettext-0.11.5.
75700         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
75701         * m4/inttypes.m4: New file, from gettext-0.11.5.
75702         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
75703         * m4/isc-posix.m4: New file, from gettext-0.11.5.
75704         * m4/lcmessage.m4: New file, from gettext-0.11.5.
75705         * m4/lib-ld.m4: New file, from gettext-0.11.5.
75706         * m4/lib-link.m4: New file, from gettext-0.11.5.
75707         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
75708         * m4/progtest.m4: New file, from gettext-0.11.5.
75709         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
75710         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
75711         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
75712
75713         Module localcharset.
75714         * m4/localcharset.m4: New file.
75715
75716         Module hard-locale.
75717         * m4/hard-locale.m4: New file.
75718
75719         Module mbswidth.
75720         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
75721         onceonly macros.
75722         * m4/mbrtowc.m4: Add comment.
75723
75724         Module memcasecmp.
75725         * m4/memcasecmp.m4: New file.
75726
75727         Module memcoll.
75728         * m4/memcoll.m4: New file.
75729
75730         Module unicodeio.
75731         * m4/unicodeio.m4: New file.
75732
75733         Module rpmatch.
75734         * m4/rpmatch.m4: New file.
75735
75736         Module yesno.
75737         * m4/yesno.m4: New file.
75738
75739         Module exitfail.
75740         * m4/exitfail.m4: New file.
75741
75742         Module c-stack.
75743         * m4/c-stack.m4 (gl_C_STACK): New macro.
75744         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
75745
75746         Module error.
75747         * m4/error.m4 (gl_ERROR): New macro.
75748         (jm_PREREQ_ERROR): Use onceonly macros.
75749
75750         Module fatal.
75751         * m4/fatal.m4: New file.
75752
75753         Module getloadavg.
75754         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
75755         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
75756
75757         Module getpagesize.
75758         * m4/getpagesize.m4: New file.
75759
75760         Module getusershell.
75761         * m4/getusershell.m4: New file.
75762
75763         Module physmem.
75764         * m4/physmem.m4: New file.
75765
75766         Module posixver.
75767         * m4/posixver.m4: New file.
75768
75769         Module quotearg.
75770         * m4/quotearg.m4: New file.
75771
75772         Module quote.
75773         * m4/quote.m4: New file.
75774
75775         Module readutmp.
75776         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
75777
75778         Module sig2str.
75779         * m4/sig2str.m4: New file.
75780
75781         Other.
75782         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
75783         ulonglong.m4.
75784         * m4/intmax_t.m4: New file.
75785         * m4/d-type.m4: Indentation.
75786         * m4/jm-macros.m4: Update.
75787         * m4/prereq.m4 (jm_PREREQ): Update.
75788         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
75789         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
75790         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
75791         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
75792         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
75793         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
75794         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
75795         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
75796         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
75797         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
75798         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
75799         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
75800         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
75801         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
75802         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
75803         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
75804         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
75805         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
75806         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
75807
75808 2002-12-24  Bruno Haible  <bruno@clisp.org>
75809
75810         * MODULES.txt: Update according to m4/ changes.
75811
75812         Module gettext.
75813         * config.rpath: New file, from gettext-0.11.5.
75814
75815         * modules/*: New module descriptions.
75816         * gnulib-tool: New file.
75817         * MODULES.html.sh: New file.
75818
75819 2002-12-21  Karl Berry  <karl@gnu.org>
75820
75821         * doc/fdl.texi: update to version 1.2.
75822
75823 2002-12-19  Karl Berry  <karl@gnu.org>
75824
75825         * config/config.guess: update from prep.
75826
75827 2002-12-18  Bruno Haible  <bruno@clisp.org>
75828
75829         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
75830         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
75831
75832 2002-12-17  Bruno Haible  <bruno@clisp.org>
75833
75834         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
75835         stdlib.h, string.h.
75836
75837 2002-12-17  Bruno Haible  <bruno@clisp.org>
75838
75839         * lib/canon-host.c (strdup): Remove unused declaration.
75840
75841         * lib/fsusage.c: Include full_read.h.
75842         (get_fs_usage): Use full_read instead of safe_read.
75843
75844         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
75845
75846 2002-12-12  Karl Berry  <karl@gnu.org>
75847
75848         * config/config.guess: update from prep.
75849
75850 2002-12-11  Bruno Haible  <bruno@clisp.org>
75851
75852         * m4/setenv.m4: New file, from gettext-0.11.5.
75853
75854 2002-12-11  Bruno Haible  <bruno@clisp.org>
75855
75856         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
75857         not unsetenv().
75858         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
75859         modifications:
75860
75861         2002-12-11  Bruno Haible  <bruno@clisp.org>
75862
75863                 * setenv.c (alloca): Fall back to malloc.
75864                 (freea): New macro.
75865                 (setenv): Use freea() to free memory allocated with alloca().
75866
75867         2002-11-13  Bruno Haible  <bruno@clisp.org>
75868
75869                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
75870                 function declarations.
75871                 * unsetenv.c (unsetenv): Likewise.
75872
75873         2002-03-04  Bruno Haible  <bruno@clisp.org>
75874
75875                 Portability to AIX 4.3.3.
75876                 * unsetenv.c: New file, extracted from setenv.c.
75877                 * setenv.c: Move the unsetenv() function to unsetenv.c.
75878
75879         2001-12-20  Bruno Haible  <bruno@clisp.org>
75880
75881                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
75882                 use malloc instead. For SunOS 4.
75883
75884         2001-12-11  Bruno Haible  <bruno@clisp.org>
75885
75886                 * setenv.c: Declare alloca.
75887                 (compar_fn_t): New typedef.
75888                 (KNOWN_VALUE, STORE_VALUE): Use it.
75889
75890         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
75891         setenv.h.
75892
75893 2002-12-10  Paul Eggert  <eggert@twinsun.com>
75894
75895         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
75896         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
75897         Choose values that are less likely to collide with system fnmatch
75898         options.
75899         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
75900         defined (e.g., a pure POSIX system).
75901         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
75902         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
75903
75904 2002-12-06  Paul Eggert  <eggert@twinsun.com>
75905
75906         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
75907         a pain in practice to deal with generated m4 files.  This change
75908         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
75909
75910         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
75911         and jm-glibc-io.m4, as they are no longer a special case.
75912         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
75913         kludge and the auto-generation stuff.  Check only whether the
75914         functions are declared, not whether they exist, since older hosts
75915         that don't declare the functions can't use the optimization anyway.
75916
75917 2002-12-06  Jim Meyering  <jim@meyering.net>
75918
75919         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
75920
75921         Merge in changes from libc's misc/error.c, in preparation
75922         for the merge of gnulib's changes back into libc.
75923
75924         * lib/error.c (_): Define only if not already defined.
75925         Move definition to follow all #include directives.
75926         Include unlocked-io.h only if !_LIBC.
75927         [_LIBC]: Include <libio/libioP.h>.
75928         [USE_IN_LIBIO]: Include <libio/iolibio.h>
75929         (fflush): Tweak definition to use INTUSE.
75930         (putc): Define.
75931
75932 2002-12-05  Paul Eggert  <eggert@twinsun.com>
75933
75934         * lib/alloca.c [defined emacs]: Include "lisp.h".
75935         (xalloc_die) [defined emacs]: New macro.
75936         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
75937         [! defined emacs]: Include <xalloc.h>.
75938         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
75939         (pointer): Typedef to POINTER_TYPE *.
75940         (malloc): Remove decl; we now always use xmalloc.
75941         (alloca): Use old-style definition, since Emacs needs this.
75942         Check for arithmetic overflow when computing combined size.
75943
75944 2002-12-04  Paul Eggert  <eggert@twinsun.com>
75945
75946         Do not generate unlocked-io.h automatically, since it's easier to
75947         maintain it by hand.
75948
75949         * lib/unlocked-io.h: New file, from GNU diffutils,
75950         but with proper copyright notice and attribution.
75951         * lib/gen-uio: Remove.
75952         * lib/Makefile.am: Add copyright notice.
75953         (libfetish_a_SOURCES): Add unlocked-io.h.
75954         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
75955         (DISTCLEANFILES, io_functions): Remove macros.
75956         (EXTRA_DIST): Remove gen_uio.
75957         (unlocked-io.h): Remove rule.
75958
75959 2002-12-04  Jim Meyering  <jim@meyering.net>
75960
75961         Reflect the fact that stat.c and lstat.c are no longer generated.
75962         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
75963         (DISTCLEANFILES): Likewise.
75964         (EXTRA_DIST): Likewise.
75965         (all_local): Don't depend on stat.c or lstat.c.
75966         (stat.c, lstat.c): Remove rules.
75967         (EXTRA_DIST): Remove xstat.in.
75968
75969         * lib/xstat.in: Remove file.  Contents moved into stat.c.
75970         * lib/stat.c: New file.  Contents mostly from xstat.in.
75971         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
75972         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
75973
75974         * lib/safe-read.c: Rework so that it may serve to define safe_write,
75975         too.
75976         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
75977
75978 2002-12-03  Jim Meyering  <jim@meyering.net>
75979
75980         * lib/safe-read.c, safe-write.c: Change variable names and comments,
75981         but not semantics, to minimize the differences between these two files.
75982         (safe_read): Change comment to mention SAFE_READ_ERROR.
75983
75984         * lib/safe-read.c (IS_EINTR): Define.
75985         (safe_read): Use IS_EINTR in place of in-function cpp directives.
75986
75987 2002-12-02  Jim Meyering  <jim@meyering.net>
75988
75989         * lib/safe-read.c (EINTR): Define.
75990         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75991         (INT_MAX): Provide fallback.
75992         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
75993
75994         * lib/safe-read.h (SAFE_READ_ERROR): Define.
75995
75996 2002-12-02  Bruno Haible  <bruno@clisp.org>
75997
75998         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
75999         Define, taken from safe-read.c.
76000         (INT_MAX): Provide fallback.
76001         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
76002         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
76003
76004         * lib/safe-read.c (EINTR): Remove definition.
76005         (safe_read): Don't use EINTR if it is absent.
76006
76007 2002-12-01  Jim Meyering  <jim@meyering.net>
76008
76009         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
76010         zero.
76011         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
76012
76013 2002-11-27  Paul Eggert  <eggert@twinsun.com>
76014
76015         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
76016         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
76017         with `if (! (value < limit)) abort ();', for readability.
76018
76019 2002-11-26  Karl Berry  <karl@gnu.org>
76020
76021         * lib/strdup.c: copy from libc again, with jim's ok.
76022         * lib/.cppi-disable: re-add strdup.c
76023
76024 2002-11-25  Karl Berry  <karl@gnu.org>
76025
76026         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
76027         instead of "strtol.c".
76028
76029 2002-11-25  Karl Berry  <karl@gnu.org>
76030
76031         * config/install-sh: update from automake for variable quoting, $0 in
76032         error msgs, etc.
76033
76034         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
76035         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
76036         entry.
76037
76038 2002-11-25  Jim Meyering  <jim@meyering.net>
76039
76040         * lib/mktime.c: Sync from libc, now that it has the latest fix.
76041
76042 2002-11-24  Karl Berry  <karl@gnu.org>
76043
76044         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
76045         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
76046
76047 2002-11-24  Jim Meyering  <jim@meyering.net>
76048
76049         Update from coreutils:
76050
76051         * lib/mktime.c: Merge in changes from libc.
76052
76053         Avoid a link-time failure on some Linux systems.
76054         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
76055         (otherwise).
76056         (__mon_yday): Declare with the STATIC attribute.
76057         (__mktime_internal): Likewise.
76058         Based on a report from Greg Schafer.
76059
76060 2002-11-23  Jim Meyering  <jim@meyering.net>
76061
76062         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
76063         Use `unsigned', not `int', as type of index.
76064
76065         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
76066
76067         * lib/fsusage.c: Remove unneeded parentheses around operands of
76068         `defined'.
76069
76070 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76071
76072         * lib/quotearg.h: Allow multiple inclusion by surrounding with
76073         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
76074         so that we can be included first.
76075         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
76076         * lib/quotearg.c: Include quotearg.h immediately after config.h.
76077         No need to include stddef.h or sys/types.h any more.
76078         Surround local include files with "", not "<>".
76079         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
76080         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
76081         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
76082         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
76083         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
76084         (ISPRINT): Remove; no longer needed now that we assume C89.
76085
76086         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
76087         Preserve errno.
76088
76089         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
76090         quotearg_char): Use SIZE_MAX rather than
76091         (size_t) -1 when we are talking about "infinity".
76092
76093         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
76094
76095 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76096
76097         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
76098         hint that one should use `if (! x) abort ();' rather than `assert
76099         (x);', and anyway it's one less thing to worry about configuring.
76100         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
76101         hash_rehash, hash_insert): Use abort rather than assert.
76102
76103 2002-11-22  Bruno Haible  <bruno@clisp.org>
76104
76105         * lib/safe-read.h: Assume C89. Add comments.
76106         (safe_read): Change return type to size_t.
76107         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
76108         byte counts > SSIZE_MAX correctly.
76109         * lib/safe-write.h: New file.
76110         * lib/safe-write.c: New file.
76111         * lib/full-read.h: New file.
76112         * lib/full-read.c: New file.
76113         * lib/full-write.h: Assume C89. Add comments.
76114         * lib/full-write.c: Include safe-write.h.
76115         (full_write): Rewritten to use safe_write.
76116         Suggested by Jim Meyering and Paul Eggert.
76117
76118 2002-11-21  Jim Meyering  <jim@meyering.net>
76119
76120         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
76121
76122         Merge in changes from the coreutils.
76123
76124         2002-09-25  Paul Eggert  <eggert@twinsun.com>
76125         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
76126         <stdint.h>.
76127         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
76128         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
76129         int.  Work more efficiently if X is the same width as uintmax_t.
76130         Do not compare X to -1, to avoid bogus compiler warning.
76131         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
76132         Don't assume that f_frsize and f_bsize are the same type.
76133
76134         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
76135         warning on FreeBSD.
76136
76137         * lib/makepath.c (make_path): Restore umask *before* creating the final
76138         component.
76139         (make_path): Minor reformatting.
76140
76141         * lib/xmalloc.c: Adjust to work with new autoconf macros,
76142         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
76143         HAVE_MALLOC/HAVE_REALLOC.
76144
76145         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
76146         dummy ones.  At least on GNU/Linux systems, `auto' means something
76147         else.
76148         From Michael Stone.
76149
76150 2002-11-21  Bruno Haible  <bruno@clisp.org>
76151
76152         Remove case insensitive option matching.
76153         * lib/argmatch.h (argcasematch): Remove declaration.
76154         (ARGCASEMATCH): Remove macro.
76155         (__xargmatch_internal): Remove case_sensitive argument.
76156         (XARGMATCH): Update.
76157         (XARGCASEMATCH): Remove macro.
76158         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
76159         case_sensitive argument.
76160         (argcasematch): Remove function.
76161         (__xargmatch_internal): Remove case_sensitive argument.
76162         (main): Use XARGMATCH instead of XARGCASEMATCH.
76163
76164         * lib/xmalloc.c: Change compile-time error message. Add comment about
76165         required autoconf version.
76166
76167 2002-11-20  Paul Eggert  <eggert@twinsun.com>
76168
76169         Merge argmatch cleanups from Bison.  Assume C89.
76170
76171         * lib/argmatch.c: Include config.h here, not in argmatch.h.
76172         Include stdlib.h, for EXIT_FAILURE.
76173         Always include <string.h>, since we assume C89.
76174         (EXIT_FAILURE): Remove pre-C89 bug workaround.
76175         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
76176         Include <stddef.h> instead, since it's all we need for size_t.
76177         (PARAMS): Remove.  All uses removed.
76178         (ARRAY_CARDINALITY): Do not bother to #undef.
76179         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
76180         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76181         Remove unnecessary parentheses.
76182         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76183         Insert necessary parentheses.
76184         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
76185         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
76186
76187 2002-11-19  Bruno Haible  <bruno@clisp.org>
76188
76189         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
76190         * lib/mbswidth.h: Include <stddef.h>, for size_t.
76191
76192         * lib/mbswidth.h (PARAMS): Remove macro.
76193         (mbswidth, mbsnwidth): Use ANSI C function declarations.
76194         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
76195
76196         * lib/gcd.h (PARAMS): Remove macro.
76197         (gcd): Use ANSI C function declarations.
76198         * lib/gcd.c (gcd): Likewise.
76199
76200 2002-11-15  Bruno Haible  <bruno@clisp.org>
76201
76202         * lib/strcspn.c: Include <stddef.h>.
76203         (strcspn): Use ANSI C function declaration. Change return type to
76204         size_t. Use NULL.
76205         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
76206         (strpbrk): Use NULL.
76207         * lib/strpbrk.h (PARAMS): Remove macro.
76208         (strpbrk): Use ANSI C function declaration.
76209         * lib/strstr.c: Don't include <sys/types.h>.
76210         * lib/strstr.h (PARAMS): Remove macro.
76211         (strstr): Use ANSI C function declarations.
76212
76213 2002-11-14  Karl Berry  <karl@gnu.org>
76214
76215         * config/mkinstalldirs: `do' on separate line, instead of
76216         `for var; do'.
76217
76218 2002-11-06  Bruno Haible  <bruno@clisp.org>
76219
76220         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
76221         * lib/gcd.c (gcd): Likewise.
76222
76223 2002-11-05  Bruno Haible  <bruno@clisp.org>
76224
76225         * lib/gcd.h: New file, from gettext-0.11.5.
76226         * lib/gcd.c: New file, from gettext-0.11.5.
76227
76228 2002-11-05  Bruno Haible  <bruno@clisp.org>
76229
76230         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76231         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76232         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76233         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76234
76235         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
76236         <libintl.h>.
76237         * lib/makepath.c: Include gettext.h instead of <locale.h> and
76238         <libintl.h>.
76239
76240         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
76241         * lib/human.c: Include gettext.h instead of <libintl.h>.
76242         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
76243         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
76244         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
76245         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
76246         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
76247         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
76248         (textdomain): Remove definition.
76249         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
76250
76251         * lib/long-options.c: Remove include of <libintl.h> and definition of
76252         _.
76253         * lib/same.c: Remove include of <libintl.h> and definition of _.
76254
76255 2002-11-04  Owen Taylor  <otaylor@redhat.com>
76256
76257         * lib/config.charset: A few additions for Solaris.
76258
76259 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76260
76261         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
76262         * lib/localcharset.c (locale_charset): Declare as extern "C".
76263
76264 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76265
76266         * lib/config.charset: msdos in uk_UA uses CP1125.
76267
76268 2002-11-04  Bruno Haible  <bruno@clisp.org>
76269
76270         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
76271         * lib/strcase.h: New file, from GNU gettext-0.11.5.
76272         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
76273         * lib/strstr.h: New file, from GNU gettext-0.11.5.
76274         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
76275
76276 2002-11-04  Bruno Haible  <bruno@clisp.org>
76277
76278         * lib/localcharset.c (locale_charset): Don't return an empty string.
76279
76280 2002-11-04  Bruno Haible  <bruno@clisp.org>
76281
76282         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
76283         aliases.
76284
76285 2002-11-04  Bruno Haible  <bruno@clisp.org>
76286
76287         * lib/config.charset: Update for newest glibc. Add canonical names
76288         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
76289
76290 2002-11-04  Bruno Haible  <bruno@clisp.org>
76291
76292         * lib/config.charset: Add support for NetBSD.
76293
76294 2002-11-04  Bruno Haible  <bruno@clisp.org>
76295
76296         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
76297
76298 2002-11-01  Bruno Haible  <bruno@clisp.org>
76299
76300         * configure.in: Add AC_CONFIG_AUX_DIR call.
76301         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
76302         test/Makefile.
76303         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
76304
76305 2002-09-28  Karl Berry  <karl@gnu.org>
76306
76307         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
76308         installed automake until the next release, since changes have been
76309         made.
76310
76311 2002-09-25  Karl Berry  <karl@gnu.org>
76312
76313         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
76314         * lib/getopt*: copy from libc/posix.
76315         * lib/gettext.h: copy from gettext.
76316         * lib/.cppi-disable: add strdup.c, gettext.h.
76317
76318 2002-09-25  Karl Berry  <karl@gnu.org>
76319
76320         * config/srclist.txt: enable gettext.h check.
76321         * config/config.{guess,sub}: update from prep.
76322         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
76323                 from automake 1.6.3.
76324         See srclist*.
76325
76326 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
76327
76328         * regex.c (PATFETCH): Remove the translating fetch.
76329         (PATFETCH_RAW): Rename to PATFETCH.
76330         (set_image_of_range): New fun.
76331         (SET_RANGE_TABLE_WORK_AREA): Use it.
76332         (regex_compile): Don't translate the pattern chars so eagerly.
76333         Only do it when inserting an `exactn' bytecode or when handling
76334         a char-range.
76335         (mutually_exclusive_p): Avoid empty statement.
76336
76337 2002-07-06  Jim Meyering  <meyering@lucent.com>
76338
76339         * m4/README: Don't mention Makefile.am.in.
76340         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
76341
76342 2002-07-01  Jim Meyering  <meyering@lucent.com>
76343
76344         * lib/c-stack.c: Include sys/time.h.
76345         From Volker Borchert.
76346
76347 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76348
76349         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
76350
76351 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76352
76353         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
76354         New macro.  Use it uniformly instead of
76355         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
76356         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
76357         reported by Vin Shelton.
76358
76359 2002-06-22  Paul Eggert  <eggert@twinsun.com>
76360
76361         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
76362         Do not assume SA_SIGINFO behavior.
76363         Bug reported by Jim Meyering on NetBSD 1.5.2.
76364
76365 2002-06-22  Jim Meyering  <meyering@lucent.com>
76366
76367         * m4/c-stack.m4: New file, from diffutils-2.8.2.
76368         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
76369
76370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
76371         now that configure.ac uses AC_GNU_SOURCE.
76372         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
76373         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
76374
76375         Update to latest tools.  Suggestions from Paul Eggert.
76376         * m4/stdbool.m4: New file, from diffutils-2.8.2.
76377         * m4/gnu-source.m4: Update from diffutils-2.8.2.
76378         * m4/fnmatch.m4: Likewise.
76379         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
76380         to AC_HEADER_STDBOOL
76381
76382 2002-06-22  Jim Meyering  <meyering@lucent.com>
76383
76384         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
76385         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
76386
76387 2002-06-22  Jim Meyering  <meyering@lucent.com>
76388
76389         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
76390
76391         * lib/exitfail.c, exitfail.h: Likewise.
76392         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
76393
76394         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
76395         of fnmatch.h.
76396         (EXTRA_DIST): Add fnmatch_loop.c.
76397         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
76398
76399         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
76400         * lib/fnmatch.c: Update from diffutils-2.8.2.
76401         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
76402         * lib/fnmatch.h: Remove file.
76403
76404 2002-06-21  Jim Meyering  <meyering@lucent.com>
76405
76406         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
76407         * m4/mbrtowc.m4: Likewise.
76408
76409         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
76410         * m4/mbswidth.m4: Reflect name change:
76411         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
76412         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76413
76414         * m4/lib-link.m4: Update from gettext-0.11.2.
76415         * m4/gettext.m4: Likewise.
76416
76417         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
76418         From Alfred M. Szmidt.
76419
76420 2002-06-18  Paul Eggert  <eggert@twinsun.com>
76421
76422         * lib/file-type.h: Report an error if neither S_ISREG nor
76423         S_IFREG is defined, instead of using a test specific to glibc
76424         2.2.  This should be safe, since POSIX requires S_ISREG and
76425         Unix Version 7 had S_IFREG.  We don't need to check for
76426         <sys/types.h> since we don't use any symbols that it defines.
76427
76428 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
76429
76430         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
76431         $@-t, so that each temporary file name is unique and valid in the first
76432         8 characters, for operation under DOS.
76433
76434 2002-06-15  Paul Eggert  <eggert@twinsun.com>
76435
76436         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
76437
76438 2002-06-15  Jim Meyering  <meyering@lucent.com>
76439
76440         Work even with DJGPP 2.03, which lacks support for symlinks.
76441         From Richard Dawe.
76442         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
76443         is defined.
76444         * lib/lchown.c (S_ISLNK): Likewise.
76445
76446 2002-06-15  Jim Meyering  <meyering@lucent.com>
76447
76448         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
76449         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
76450         have been included before this file.
76451
76452 2002-06-14  Jim Meyering  <meyering@lucent.com>
76453
76454         * lib/file-type.h: Use the version from diffutils-2.8.2.
76455         * lib/file-type.c: Likewise.
76456
76457 2002-06-07  Jim Meyering  <meyering@lucent.com>
76458
76459         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
76460         They're needed at least for NetBSD 1.5.2.
76461         ($statxfs_includes): Include those same headers.
76462         ($statxfs_includes): Include sys/vfs.h if available.
76463         ($statxfs_includes): Likewise for sys/statvfs.h.
76464         Check for the following members in both structs statfs and statvfs:
76465         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
76466
76467 2002-06-01  Jim Meyering  <meyering@lucent.com>
76468
76469         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
76470         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
76471
76472 2002-05-28  Jim Meyering  <meyering@lucent.com>
76473
76474         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
76475         Reported by Volker Borchert.
76476
76477 2002-05-27  Jim Meyering  <meyering@lucent.com>
76478
76479         Fix a problem seen only on nonconforming systems whereby ls.c's
76480         use of localtime, and then of gettimeofday would cause trouble:
76481         the localtime call used to initialize rpl_gettimeofday's save
76482         mechanism would clobber ls's current local time information so
76483         that in any long listing the first file would always be listed
76484         with date 1970-01-01.  Analysis by Volker Borchert.
76485
76486         * lib/gettimeofday.c (localtime): Undefine.
76487         (rpl_localtime): New function.
76488
76489 2002-05-27  Jim Meyering  <meyering@lucent.com>
76490
76491         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
76492         localtime.
76493
76494         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
76495         use the replacement function; it wouldn't resolve at link time.
76496         Reported by Volker Borchert.
76497
76498 2002-05-22  Jim Meyering  <meyering@lucent.com>
76499
76500         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
76501         file-type.h.
76502         * lib/file-type.h: New file.
76503         * lib/file-type.c (file_type): New file/function.  Extracted from
76504         diffutils.
76505
76506 2002-04-30  Jim Meyering  <meyering@lucent.com>
76507
76508         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
76509
76510 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76511
76512         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
76513
76514 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76515
76516         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
76517         Do not check for alloca.h (no longer used) or stdbool.h (was never
76518         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
76519
76520 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76521
76522         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
76523
76524 2002-04-29  Jim Meyering  <meyering@lucent.com>
76525
76526         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
76527         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
76528         Use AC_FUNC_STRNLEN here instead.
76529
76530         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
76531         With autoconf-2.53a, it's part of AC_PROG_CC.
76532
76533 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76534
76535         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
76536         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
76537
76538 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76539
76540         * lib/sig2str.h, lib/sig2str.c: New files.
76541         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
76542
76543 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76544
76545         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
76546         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
76547         of 127, since 64 is the largest conceivable number for ancient
76548         nonstandard hosts.
76549         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
76550
76551 2002-04-28  Jim Meyering  <meyering@lucent.com>
76552
76553         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
76554
76555 2002-04-24  Jim Meyering  <meyering@lucent.com>
76556
76557         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
76558         (jm_PREREQ): Use it.
76559
76560         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
76561         mach/mach.h fcntl.h.
76562         Check for this function: setlocale.
76563
76564 2002-04-24  Jim Meyering  <meyering@lucent.com>
76565
76566         * lib/gettext.h: New file, from Gettext.
76567         * lib/Makefile.am (INCLUDES): Remove -I../intl.
76568         (libfetish_a_SOURCES): Add gettext.h.
76569
76570 2002-04-16  Jim Meyering  <meyering@lucent.com>
76571
76572         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
76573         ut_pid, ut_id, ut_exit.
76574
76575 2002-04-16  Jim Meyering  <meyering@lucent.com>
76576
76577         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
76578         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
76579         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76580
76581 2002-04-12  Jim Meyering  <meyering@lucent.com>
76582
76583         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
76584         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
76585         existence of the getmntinfo function.  Needed for Darwin 5.3.
76586
76587         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
76588         This is necessary at least on Darwin 5.3.
76589
76590         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
76591         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
76592         strnlen.o in the library, and that makes some versions of ranlib
76593         object.
76594
76595 2002-04-12  Jim Meyering  <meyering@lucent.com>
76596
76597         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
76598
76599 2002-04-09  Jim Meyering  <meyering@lucent.com>
76600
76601         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76602         to be more precise.  Rather than saying we're checking whether the
76603         function `works', say what we're testing.
76604         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76605         Reported by Bruno Haible.
76606
76607 2002-03-10  Jim Meyering  <meyering@lucent.com>
76608
76609         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76610         Suggestion from Santiago Vila.
76611
76612 2002-03-08  Jim Meyering  <meyering@lucent.com>
76613
76614         * lib/rename.c: Mention that this wrapper is needed also on
76615         mips-dec-ultrix4.4 systems.
76616
76617 2002-03-02  Jim Meyering  <meyering@lucent.com>
76618
76619         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76620         not HAVE_CLOCK_SETTIME.
76621
76622 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76623
76624         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76625         Check for clock_settime.
76626
76627 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76628
76629         * lib/nanosleep.h: Rename to....
76630         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
76631
76632         * lib/gettime.c: New file.
76633         * lib/settime.c: New file.
76634         * lib/stime.c: Remove.
76635
76636         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
76637         timespec.h.  Remove nanosleep.h.
76638
76639 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76640
76641         * m4/acl.m4: New file.
76642         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
76643         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
76644
76645 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76646
76647         * lib/acl.c, lib/acl.h: New files.
76648         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
76649
76650 2002-02-24  Jim Meyering  <meyering@lucent.com>
76651
76652         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
76653         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
76654         cause trouble.  Reported by Nelson Beebe.
76655
76656 2002-02-23  Paul Eggert  <eggert@twinsun.com>
76657
76658         * lib/path-concat.c (xpath_concat): Reorder code to pacify
76659         compilers that don't know that xalloc_die never returns.
76660
76661 2002-02-20  Jim Meyering  <meyering@lucent.com>
76662
76663         * lib/getdate.c: Regenerate using bison-1.33.
76664
76665 2002-02-17  Jim Meyering  <meyering@lucent.com>
76666
76667         * config/config.guess (main): Don't use `head -1'; it's no longer
76668         portable. Use `sed 1q' instead.
76669
76670 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
76671
76672         * m4/codeset.m4: Upgrade to gettext-0.11.
76673         * m4/gettext.m4: Upgrade to gettext-0.11.
76674         * m4/glibc21.m4: Upgrade to gettext-0.11.
76675         * m4/iconv.m4: Upgrade to gettext-0.11.
76676         * m4/isc-posix.m4: Upgrade to gettext-0.11.
76677         * m4/lcmessage.m4: Upgrade to gettext-0.11.
76678         * m4/lib-ld.m4: New file, from gettext-0.11.
76679         * m4/lib-link.m4: New file, from gettext-0.11.
76680         * m4/lib-prefix.m4: New file, from gettext-0.11.
76681         * m4/progtest.m4: Upgrade to gettext-0.11.
76682
76683 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76684
76685         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
76686         (jm_PREREQ): Use it.
76687
76688 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76689
76690         * lib/posixver.c, lib/posixver.h: New files.
76691         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76692
76693 2002-02-02  Paul Eggert  <eggert@twinsun.com>
76694             Bruno Haible  <bruno@clisp.org>
76695
76696         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
76697         (fwrite_success_callback): New declaration.
76698         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
76699         print_unicode_char. Call failure callback instead of error.
76700         (fwrite_success_callback): New function.
76701         (exit_failure_callback): New function.
76702         (fallback_failure_callback): New function.
76703         (print_unicode_char): Call unicode_to_mb.
76704
76705 2002-01-26  Jim Meyering  <meyering@lucent.com>
76706
76707         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
76708         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
76709
76710 2002-01-26  Jim Meyering  <meyering@lucent.com>
76711
76712         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
76713
76714 2002-01-22  Paul Eggert  <eggert@twinsun.com>
76715
76716         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
76717
76718 2002-01-22  Jim Meyering  <meyering@lucent.com>
76719
76720         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
76721         Otherwise, some versions of automake would omit the rule that makes
76722         Makefile from Makefile.in.
76723
76724 2002-01-21  Paul Eggert  <eggert@twinsun.com>
76725
76726         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
76727         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76728         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
76729         (memcoll): Set errno to zero if there is no error.
76730
76731         * lib/quotearg.c (quotearg_buffer_restyled):
76732         Fix bug with quoting buffers containing NUL when backslashing escapes.
76733         This bug was exposed by the other changes in this patch.
76734         (quotearg_n_options): New arg ARGSIZE.
76735         All callers changed.
76736         (quoting_options_from_style): New function.
76737         (quotearg_n_style): Use it.
76738         (quotearg_n_style_mem): New function.
76739
76740         * lib/quotearg.h (quotearg_n_style_mem): New function.
76741
76742 2002-01-19  Jim Meyering  <meyering@lucent.com>
76743
76744         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
76745         Remove useless quotes: DF_PROG="df".
76746         * m4/strnlen.m4: New file.
76747
76748 2002-01-16  Paul Eggert  <eggert@twinsun.com>
76749
76750         * lib/backupfile.c (ISDIGIT): Comment fix.
76751         * lib/getdate.y (ISDIGIT): Likewise.
76752         * lib/posixtm.c (ISDIGIT, year): Likewise.
76753         * lib/strverscmp.c (ISDIGIT): Likewise.
76754         * lib/userspec.c (ISDIGIT): Likewise.
76755
76756 2002-01-16  Jim Meyering  <meyering@lucent.com>
76757
76758         * lib/getdate.y: Add three semicolons, each just before a closing
76759         brace. Bison (as of version 1.31) no longer papers over that mistake.
76760
76761 2002-01-05  Jim Meyering  <meyering@lucent.com>
76762
76763         * lib/version-etc.c (version_etc_copyright): Update copyright year.
76764
76765 2001-12-19  Paul Eggert  <eggert@twinsun.com>
76766
76767         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
76768         not silently exit merely because the output buffer happens to
76769         have nothing pending.
76770
76771 2001-12-18  Paul Eggert  <eggert@twinsun.com>
76772
76773         See the big note in ../ChangeLog.
76774         * lib/human.c (suffixes): Prefer K to k for 1024.
76775         (generate_suffix_backwards): New function.
76776         (human_readable_inexact): Use it.
76777         * lib/xstrtol.c (__xstrtol): If there is no number but there
76778         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
76779         Accept 'K' as well as 'k'.
76780
76781 2001-12-15  Jim Meyering  <meyering@lucent.com>
76782
76783         * lib/regex.h (__restrict_arr): Update from libc.
76784
76785         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
76786         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
76787         (STREQ): Define.
76788
76789 2001-12-14  Jim Meyering  <meyering@lucent.com>
76790
76791         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
76792         Suggestion from Bruno Haible.
76793
76794 2001-12-10  Jim Meyering  <meyering@lucent.com>
76795
76796         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
76797         xrealloc, Instead, include "xalloc.h".
76798         (initbuffer): Don't cast xmalloc return value to char*.
76799         (readline): Reword comment.
76800         Don't cast xrealloc return value to char*
76801         Return NULL, not 0.
76802
76803 2001-12-09  Jim Meyering  <meyering@lucent.com>
76804
76805         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
76806         about `signed and unsigned type in conditional expression'.
76807         * lib/posixtm.c (posix_time_parse): Likewise.
76808
76809         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
76810
76811         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
76812         to avoid a pedantic warning.
76813
76814         * lib/getstr.c: Don't include assert.h.
76815         (getstr): Remove warning-evoking assertions.
76816         Return -1 if offset parameter is out of bounds.
76817         Change the type of a local from int to size_t.
76818
76819         * lib/strftime.c (my_strftime_localtime_r): Include this function
76820         definition in the `#if ! HAVE_TM_GMTOFF' block.
76821
76822         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
76823         Include xalloc.h instead.
76824
76825 2001-12-02  Jim Meyering  <meyering@lucent.com>
76826
76827         * lib/tempname.c: Don't declare getenv, thus reverting the change of
76828         2001-11-18.  It's no longer necessary, now that stdlib.h is always
76829         included.
76830
76831         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
76832         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
76833
76834 2001-11-30  Akim Demaille  <akim@epita.fr>
76835
76836         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
76837         before being defined.
76838
76839 2001-11-27  Paul Eggert  <eggert@twinsun.com>
76840
76841         * lib/quotearg.h (quotearg_n, quotearg_n_style):
76842         First arg is int, not unsigned.
76843         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
76844         (SIZE_MAX, UINT_MAX): New macros.
76845         (quotearg_n_options): Abort if N is negative.
76846         Avoid overflow check on hosts where size_t is 64 bits and int
76847         is 32 bits, as overflow is impossible there.
76848         Fix off-by-one typo that caused unnecessary reallocation.
76849
76850 2001-11-27  Jim Meyering  <meyering@lucent.com>
76851
76852         * lib/tempname.c: Merge with version from libc.
76853         * lib/regex.c: Likewise.
76854
76855         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
76856         systems for which STDC_HEADERS is 0, it was not included, resulting in
76857         a warning about an integer-to-pointer conversion problem with getenv.
76858         Reported by Volker Borchert.
76859
76860 2001-11-26  Jim Meyering  <meyering@lucent.com>
76861
76862         * lib/gtod.h: Remove file.
76863         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
76864         * lib/gettimeofday.c: Don't include gtod.h.
76865         (GTOD_init): Remove function.
76866         (rpl_gettimeofday): Do its job here instead, rather than aborting.
76867         Suggestion from Volker Borchert.
76868
76869 2001-11-23  Jim Meyering  <meyering@lucent.com>
76870
76871         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
76872         it.
76873         * lib/hash.c (struct hash_table): Define it here instead.
76874
76875 2001-11-22  Jim Meyering  <meyering@lucent.com>
76876
76877         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
76878
76879 2001-11-20  Jim Meyering  <meyering@lucent.com>
76880
76881         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
76882         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
76883
76884 2001-11-19  Jim Meyering  <meyering@lucent.com>
76885
76886         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
76887         directory.  Use "conftestXXXXXX" as the template.
76888         Suggestion from Paul Eggert.
76889
76890         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
76891         immediately, so the test doesn't mistakenly hit the max-open-files
76892         limit.
76893
76894 2001-11-18  Paul Eggert  <eggert@twinsun.com>
76895
76896         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
76897         (TEMPORARIES): New macro.
76898         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
76899         removes an artificial limitation (e.g. HP-UX 10.20, where
76900         TMP_MAX is 17576).
76901
76902 2001-11-18  Jim Meyering  <meyering@lucent.com>
76903
76904         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
76905
76906 2001-11-18  Jim Meyering  <meyering@lucent.com>
76907
76908         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
76909         on SunOS 4.
76910
76911         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
76912         files will be created before anything else.
76913
76914 2001-11-17  Paul Eggert  <eggert@twinsun.com>
76915
76916         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
76917         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
76918
76919 2001-11-17  Jim Meyering  <meyering@lucent.com>
76920
76921         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
76922         Prompted by a report from Bob Proulx.
76923
76924         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
76925         Instead, require UTILS_FUNC_MKSTEMP.
76926
76927 2001-11-17  Jim Meyering  <meyering@lucent.com>
76928
76929         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
76930         Now, that's done as part of AC_FUNC_STRTOD.
76931
76932 2001-11-17  Jim Meyering  <meyering@lucent.com>
76933
76934         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
76935         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
76936         rather than group writable.  Patch by Juan F. Codagnone.
76937
76938         * lib/readtokens.c: Remove explicit declarations of xmalloc and
76939         xrealloc, Instead, include "xalloc.h".
76940
76941         * lib/mountlist.c: Include unlocked-io.h after all system headers.
76942         Remove explicit declarations of xmalloc, xrealloc,
76943         and xstrdup.  Instead, include "xalloc.h".
76944
76945         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
76946         unlocked-io.h.
76947         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
76948         Likewise.
76949         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
76950
76951         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
76952         Reported by Padraig Brady.
76953
76954         * lib/mkstemp.c: #undef mkstemp.
76955         Include config.h.
76956         (rpl_mkstemp): Rename from mkstemp.
76957         Protoize.
76958
76959 2001-11-16  Jim Meyering  <meyering@lucent.com>
76960
76961         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
76962         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
76963         determine the amount of total physical memory, use pstat_getstatic.
76964         HPUX-11 doesn't define _SC_PHYS_PAGES.
76965         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
76966         If sysconf couldn't be used to determine the amount of available
76967         physical memory, use both pstat_getstatic and pstat_getdynamic.
76968         Based on a patch from Bob Proulx.
76969
76970 2001-11-10  Jim Meyering  <meyering@lucent.com>
76971
76972         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
76973         (jm_PREREQ): Use it.
76974
76975 2001-11-09  Jim Meyering  <meyering@lucent.com>
76976
76977         * m4/jm-macros.m4: Require autoconf-2.52f.
76978         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
76979         Use these AC_-prefixed names, not the AM_-prefixed ones.
76980
76981         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
76982
76983 2001-11-05  Jim Meyering  <meyering@lucent.com>
76984
76985         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
76986
76987 2001-11-04  Jim Meyering  <meyering@lucent.com>
76988
76989         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
76990         $DEFS.
76991
76992 2001-11-03  Jim Meyering  <meyering@lucent.com>
76993
76994         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
76995         of AC_DEFUN.
76996
76997         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
76998         know the name of the variable in the macro definition.
76999
77000 2001-11-03  Jim Meyering  <meyering@lucent.com>
77001
77002         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
77003         in argmatch_to_argument call.
77004
77005         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
77006         argument.
77007
77008         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
77009         e.g., a fault due to an attempt to free a NULL pointer.
77010
77011 2001-11-01  Jim Meyering  <meyering@lucent.com>
77012
77013         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
77014         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
77015
77016 2001-11-01  Jim Meyering  <meyering@lucent.com>
77017
77018         * lib/dirfd.c, lib/dirfd.h: New files.
77019         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
77020
77021         * lib/hash.c (hash_print) [TESTING]: Clean up.
77022
77023 2001-10-22  Paul Eggert  <eggert@twinsun.com>
77024
77025         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
77026         to avoid a warning if -Wall.
77027
77028 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
77029
77030         * README: New file
77031         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
77032         (per RMS's instructions, this is now the canonical source)
77033         * lgpl/, gpl/: New directories.
77034
77035 2001-10-21  Paul Eggert  <eggert@twinsun.com>
77036
77037         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
77038
77039 2001-10-21  Jim Meyering  <meyering@lucent.com>
77040
77041         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
77042         this code would end up calling gettext even in packages built
77043         with --disable-nls.
77044         * lib/getopt.c (_): Likewise.
77045         * lib/regex.c (_): Likewise.
77046
77047 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77048
77049         * m4/error.m4 (jm_PREREQ_ERROR):
77050         Do not invoke AC_CHECK_FUNCS with strerror_r, as
77051         AC_FUNC_STRERROR_R does that.
77052         Check for strerror declaration.
77053
77054         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
77055         are supposed to have them these days.
77056         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
77057         Merge changes from latest Autoconf CVS.
77058         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
77059         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
77060         POSIX decided to standardize on the int flavor of strerror_r.
77061
77062 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77063
77064         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
77065         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
77066         Use strerror_r that is only a macro, even if it is not a function.
77067         (strerror): Check for HAVE_DECL_STRERROR before declaring.
77068         (private_strerror): Use prototypes, not old-style function definition.
77069         (print_errno_message): New function.
77070         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
77071         char*-flavored one.
77072         (error_tail, error, error_at_line): Use it.
77073
77074 2001-10-11  Jim Meyering  <meyering@lucent.com>
77075
77076         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
77077         and quote_n (1, ... to avoid clobbering a buffer.
77078
77079 2001-10-05  Jim Meyering  <meyering@lucent.com>
77080
77081         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
77082         hash-pjw.h.
77083         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
77084         * lib/hash-pjw.h: New file.
77085
77086 2001-09-30  Jim Meyering  <meyering@lucent.com>
77087
77088         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
77089         `struct fsstat' has the `f_fstypename' member.
77090         Use that to define FS_TYPE, which is now used to make
77091         the getfsstat link test tighter.
77092
77093 2001-09-30  Jim Meyering  <meyering@lucent.com>
77094
77095         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
77096         Include <sys/ucred.h>, for Apple Darwin.
77097         Include sys/mount.h and sys/fs_types.h only if available.
77098         (FS_TYPE): Define.
77099         (read_filesystem_list): Use FS_TYPE.
77100
77101 2001-09-29  Paul Eggert  <eggert@twinsun.com>
77102
77103         * lib/exclude.c (excluded_filename): 0 -> false, since it's
77104         a boolean context.
77105
77106 2001-09-29  Jim Meyering  <meyering@lucent.com>
77107
77108         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77109         [one-argument getmntent function]): Include stdio.h before mntent.h.
77110         SunOS 4.1.x needs it for the declaration of `FILE'.
77111         Patch by Volker Borchert.
77112
77113         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77114         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
77115         sys/fs_types.h, and make the link-test for getfsstat guard #include
77116         directives with appropriate #if HAVE_*_H tests so that we can
77117         detect getfsstat on Apple Darwin1.3.7 systems.
77118         Reported by Nelson Beebe.
77119         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
77120
77121 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77122
77123         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77124         #defines strtoimax.  Also treat the other strto* functions
77125         like strtoimax.
77126
77127         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77128         Check for strtoul and strtoumax,
77129         as those declarations are made even in the signed case.
77130         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
77131         Likewise, for strtol and strtoimax.
77132
77133 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77134
77135         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77136         #defines strtoimax.  Also treat the other strto* functions
77137         like strtoimax.
77138
77139         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
77140         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
77141         (strtoimax, strtoumax): Do not declare if already defined as a macro.
77142
77143 2001-09-26  Jim Meyering  <meyering@lucent.com>
77144
77145         Most macros in unlocked-io.h had the wrong number of arguments.
77146         * lib/gen-uio: New script.
77147         (USE_UNLOCKED_IO): Define to 1 if not already defined.
77148         * lib/unlocked-io.hin: Remove file.
77149         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
77150         rather than trying to embed it here.
77151         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
77152         Reported by Padraig Brady.
77153
77154 2001-09-25  Volker Borchert  <bt@teknon.de>
77155
77156         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
77157         `result'.
77158
77159 2001-09-24  Jim Meyering  <meyering@lucent.com>
77160
77161         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
77162
77163 2001-09-23  Jim Meyering  <meyering@lucent.com>
77164
77165         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
77166         instead of the mere test for existence of mntent.h.  The latter
77167         would get a false-positive on AIX 3.4 systems.
77168         In the outer getmntent if-block, don't die if neither of the getmntent
77169         tests succeeds.  Instead, just fall through and continue with the
77170         remaining tests.
77171
77172 2001-09-23  Jim Meyering  <meyering@lucent.com>
77173
77174         * lib/mountlist.c: Remove useless parentheses in #if directives.
77175         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
77176         the deprecated MOUNTED symbol is no longer defined in mntent.h.
77177
77178 2001-09-22  Jim Meyering  <meyering@lucent.com>
77179
77180         * m4/gettext.m4: New file.  From gettext.
77181         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
77182         * m4/progtest.m4: Likewise
77183         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
77184         * m4/glibc21.m4: Likewise.
77185
77186         * m4/libintl.m4: Remove.  No longer used.
77187
77188 2001-09-22  Jim Meyering  <meyering@lucent.com>
77189
77190         * lib/localcharset.c: Update from latest gettext.
77191         * lib/config.charset: Likewise.
77192
77193 2001-09-20  Jim Meyering  <meyering@lucent.com>
77194
77195         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
77196         strtoimax.
77197         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
77198         strtoumax.
77199
77200 2001-09-20  Jim Meyering  <meyering@lucent.com>
77201
77202         * lib/xstrtol.c (strtoimax): Guard declaration with
77203         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
77204         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
77205         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
77206         (strtoumax): Likewise, for completeness (it wasn't necessary).
77207
77208 2001-09-17  Paul Eggert  <eggert@twinsun.com>
77209
77210         * lib/strtoimax.c (HAVE_LONG_LONG):
77211         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
77212         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
77213         to work around bug in IBM C compiler.
77214
77215 2001-09-17  Jim Meyering  <meyering@lucent.com>
77216
77217         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
77218         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
77219         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
77220         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
77221         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
77222         whenever the right hand side need not be expanded by the shell.
77223
77224 2001-09-16  Paul Eggert  <eggert@twinsun.com>
77225
77226         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
77227         library.  It's not correct, as some older glibcs are buggy.
77228         fnmatch wasn't fixed until glibc 2.2.
77229
77230         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
77231         special shell magic here.
77232
77233 2001-09-16  Jim Meyering  <meyering@lucent.com>
77234
77235         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
77236         * m4/jm-macros.m4: Require it.
77237
77238 2001-09-16  Jim Meyering  <meyering@lucent.com>
77239
77240         * lib/mkdir.c: New file.
77241
77242 2001-09-15  Jim Meyering  <meyering@lucent.com>
77243
77244         * m4/jm-macros.m4: Check for help2man.
77245
77246 2001-09-11  Jim Meyering  <meyering@lucent.com>
77247
77248         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
77249         The body, by Paul Eggert, was moved here from configure.in.
77250         * m4/jm-macros.m4: Require UTILS_HOST_OS.
77251
77252 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77253
77254         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
77255         (jm_PREREQ): Use it.
77256
77257 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77258
77259         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
77260         Use ssize_t, not int, to store result of readlink.
77261         Check for ssize_t overflow as well as size_t overflow,
77262         as POSIX says the result of readlink is implementation-defined
77263         when ssize_t overflows.
77264         Remove unnecessary cast to char*.
77265         Use free+malloc instead of realloc, as the storage doesn't need
77266         to be preserved and it's clearer and can be more efficient that way.
77267         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
77268         * lib/xreadlink.h (xreadlink): Update prototype.
77269
77270 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77271
77272         * lib/xgetcwd.c: Revert some of the previous change; intead,
77273         fix the HAVE_GETCWD_NULL code to behave more like the
77274         !HAVE_GETCWD_NULL code used to.
77275
77276         Include "xalloc.h".
77277         (xgetcwd): Do not return NULL when memory is exhausted; instead,
77278         invoke xalloc_die.
77279
77280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77281
77282         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
77283         sys/param.h, as pathmax.h includes them.
77284
77285 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77286
77287         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
77288         (jm_PREREQ_XGETCWD): New macro.
77289
77290         * m4/getcwd.m4: New file.
77291
77292 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77293
77294         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
77295         like the HAVE_GETCWD_NULL code.
77296         Include pathmax.h if not HAVE_GETCWD.
77297         Do not include xalloc.h.
77298         (INITIAL_BUFFER_SIZE): New symbol.
77299         Do not use xmalloc / xrealloc, since the caller is responsible for
77300         handling errors.  Preserve errno around `free' during failure.
77301         Do not overrun buffer when using getwd.
77302
77303 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77304
77305         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
77306         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
77307         getcwd (NULL, 0).
77308
77309 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77310
77311         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
77312         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
77313         spotted by Jim Meyering.
77314
77315 2001-09-03  Jim Meyering  <meyering@lucent.com>
77316
77317         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
77318         failure.
77319
77320 2001-09-02  Jim Meyering  <meyering@lucent.com>
77321
77322         * lib/error.c: Update from GNU libc.
77323
77324 2001-09-01  Jim Meyering  <meyering@lucent.com>
77325
77326         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
77327         Used by df.
77328
77329 2001-09-01  Jim Meyering  <meyering@lucent.com>
77330
77331         * lib/xreadlink.c: New file.
77332         * lib/xreadlink.h: New file.
77333         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
77334         xreadlink.h.
77335
77336         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
77337         doesn't conflict with sparc Solaris 7's definition in
77338         /usr/include/sys/int_types.h.
77339
77340         * lib/exclude.c: Use `""', not `<>' to #include non-system header
77341         files.
77342         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
77343         and strncasecmp as r-values.  Unixware didn't have declarations.
77344
77345 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77346
77347         * lib/xstrtol.h: Add copyright notice.
77348         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
77349         LONGINT_INVALID_SUFFIX_CHAR.
77350
77351 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77352
77353         * lib/xstrtol.c (strtoimax): New decl.
77354
77355 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77356
77357         * lib/xgetcwd.c: Don't include pathmax.h.
77358         Include stdlib.h and unistd.h if available.
77359         Include xalloc.h.
77360         (xmalloc, xstrdup, free): Remove decls.
77361         (xgetcwd): Don't assume sizes fit in unsigned.
77362         Check for overflow when computing sizes.
77363         Simplify reallocation code.
77364
77365 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77366
77367         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
77368         a directory's st_size can have an arbitrary value, so the old
77369         usage could waste an arbitrary amount of memory.  All uses
77370         changed.
77371         * lib/savedir.h: Update prototype.
77372
77373 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77374
77375         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
77376
77377         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
77378         old strtoimax.c.
77379
77380         Also, make the following further changes to make this file's
77381         configuration more similar to that of strtol.c:
77382         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
77383         (strtoumax, uintmax_t, strtoull, strtol): Remove.
77384         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
77385         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
77386         changed to signed values.
77387
77388         And make the following changes as well:
77389         Fix copyright notice, as 1999 was missing.
77390         (verify): New macro.
77391         (strtoimax): Check sizes at compile-time, not run-time.
77392         Prefer strtol to strtoll if both work.
77393         (main): Remove; it was not that useful and was a pain to maintain.
77394
77395         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
77396
77397 2001-08-31  Jim Meyering  <meyering@lucent.com>
77398
77399         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
77400         Use an initial, malloc'd, buffer of length 128 rather than
77401         a statically allocated one of length 1024.
77402
77403 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77404
77405         Simplify code, partly by assuming autoconf 2.52 semantics.
77406
77407         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
77408
77409         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
77410         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
77411         All uses removed.
77412         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
77413         Move AC_REQUIRE to next-to-top level, to avoid confusion.
77414         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
77415         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
77416         jm_AC_HEADER_INTTYPES_H.
77417         * m4/jm-macros.m4 (jm_MACROS): Likewise.
77418
77419         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
77420
77421         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77422         Quote first arg of AC_DEFUN.
77423         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
77424         since they are needed to parse the include file even if we need
77425         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
77426         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
77427         but with opposite signedness.
77428
77429 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77430
77431         Merge 'exclude' changes from tar 1.13.22.
77432         This fixes one or two unlikely storage allocation overflow bugs,
77433         but doesn't change user-visible behavior otherwise.
77434
77435 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77436
77437         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
77438         (jm_PREREQ_EXCLUDE): New macro.
77439
77440 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77441
77442         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
77443         tm to be declared.
77444
77445 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77446
77447         * lib/hash.c: Remove '2001' from copyright notice.
77448
77449 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77450
77451         * lib/full-write.h: New file.
77452         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
77453         * lib/full-write.c: Correct credits, as cccp.c no longer
77454         exists and anyway it was so heavily changed from the old cccp
77455         code as to be unrecognizable.  Include full-write.h.
77456         (full_write): Return size_t, with short writes meaning failure.
77457         All callers changed.  This fixes a bug with large buffers
77458         on 64-bit hosts.
77459         * lib/utime.c: Include full-write.h.
77460
77461 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77462
77463         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
77464         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
77465         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
77466         Include if available.
77467         (<xalloc.h>): Include
77468         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
77469         (verify): New macro.  Use it to verify that EXCLUDE macros do not
77470         collide with FNM macros.
77471         (struct patopts): New struct.
77472         (struct exclude): Use it, as exclude patterns now come with options.
77473         (new_exclude): Support above changes.
77474         (new_exclude, add_exclude_file):
77475         Initial size must now be a power of two to simplify overflow checking.
77476         (free_exclude, fnmatch_no_wildcards): New function.
77477         (excluded_filename): No longer requires options arg, as the options
77478         are determined by add_exclude.  Now returns bool, not int.
77479         (excluded_filename, add_exclude):
77480         Add support for the fancy new exclusion options.
77481         (add_exclude, add_exclude_file): Now takes int options arg.
77482         Check for arithmetic overflow when computing sizes.
77483         (add_exclude_file): xrealloc might modify errno, so don't
77484         realloc until after errno might be used.
77485
77486         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
77487         New macros.
77488         (free_exclude): New decl.
77489         (add_exclude, add_exclude_file): Now takes int options arg.
77490         (excluded_filename): No longer requires options arg, as the options
77491         are determined by add_exclude.  Now returns bool, not int.
77492
77493 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77494
77495         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
77496
77497 2001-08-27  Jim Meyering  <meyering@lucent.com>
77498
77499         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
77500
77501         * lib/version-etc.c (N_): Remove definition.
77502         Revert most of last change.
77503         Instead, simply don't mark the `Copyright...' string for translation.
77504         Based on advice from Paul Eggert.
77505
77506         * lib/strtoxmax.c: Tweak comment.
77507
77508 2001-08-26  Jim Meyering  <meyering@lucent.com>
77509
77510         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
77511
77512         * m4/xstrtoimax.m4: New file.
77513         * m4/xstrtoumax.m4: Add comments explaining why we
77514         AC_REPLACE_FUNCS(strtol).
77515
77516 2001-08-26  Jim Meyering  <meyering@lucent.com>
77517
77518         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
77519         of copyright with `%s' so translators don't get an untranslated
77520         message in 2002.
77521         (COPYRIGHT_YEAR): Define.
77522         (version_etc): Use fprintf rather than fputs.
77523         Suggestion from Ulrich Drepper.
77524
77525         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
77526
77527         * lib/strtoll.c: New file, from GNU libc.
77528         * lib/xstrtoimax.c: New file.
77529
77530         * lib/xstrtol.h: Add xstrtoimax.
77531         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
77532         * lib/strtoimax.c: New file.  Likewise, but first define
77533         STRTOUXMAX_SIGNED.
77534
77535         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
77536         ...
77537         * lib/strtoxmax.c: ... then renamed to this.
77538
77539 2001-08-18  Paul Eggert  <eggert@twinsun.com>
77540
77541         * m4/inttypes.m4: Add AC_PREREQ(2.13).
77542         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
77543         (jm_AC_TYPE_INTMAX_T): New macro.
77544         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
77545
77546         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
77547
77548         * m4/longlong.m4: Renamed from ulonglong.m4.
77549         * m4/inttypes.m4: Renamed from inttypes_h.m4.
77550         * m4/uintmax_t.m4: Removed.
77551
77552 2001-08-13  Paul Eggert  <eggert@twinsun.com>
77553
77554         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
77555         Port to Solaris 8, where 'sed' requires a space after the 'r'
77556         command, and where sh dislikes "$/".  Clean up the spacing a bit.
77557         Redirect output to $tmp just once.
77558
77559 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
77560
77561         * lib/addext.c (<errno.h>): Include.
77562         (errno): Declare if not defined.
77563         (addext): Work correctly when pathconf returns -1 and leaves
77564         errno alone because there is no limit.  Also, work even if
77565         pathconf returns a value greater than SIZE_MAX.
77566
77567 2001-08-12  Jim Meyering  <meyering@lucent.com>
77568
77569         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
77570         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
77571         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
77572         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
77573         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
77574         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
77575         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
77576         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
77577         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
77578         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
77579         utime.m4, utimes.m4, xstrtoumax.m4:
77580         Quote the first argument in each use of AC_DEFUN.
77581
77582 2001-08-12  Jim Meyering  <meyering@lucent.com>
77583
77584         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
77585         Simply `return getcwd (NULL, 0);'.
77586         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
77587         Use 1300 as initial value for length, not PATH_MAX.
77588
77589         * lib/pathmax.h: Clean up cpp syntax.
77590
77591 2001-08-12  Jim Meyering  <meyering@lucent.com>
77592
77593         * lib/gettimeofday.c: New file.
77594         * lib/gtod.h: New file.
77595         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
77596
77597 2001-08-05  Jim Meyering  <meyering@lucent.com>
77598
77599         * m4/jm-macros.m4: Require autoconf-2.52.
77600
77601 2001-08-04  Jim Meyering  <meyering@lucent.com>
77602
77603         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77604         stmt, to get in sync with glibc.
77605
77606 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77607
77608         The following changes are from gettext 0.10.39 as maintained by
77609         Bruno Haible.
77610
77611         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77612         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77613         with inverted sense.  All uses changed.
77614
77615         * lib/mbswidth.c: Don't include <limits.h>.
77616         Include <stdlib.h> and <string.h> unconditionally.
77617         (iswcntrl, mbsinit, ISCNTRL): New macros.
77618         (mbsnwidth): Use K&R style function declarations.
77619         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77620         can optimize it when MB_CUR_MAX == 1.
77621         The width of control characters is zero, not 1.
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, except that getline.m4 continues to use AC_LIBOBJ.
77627
77628         * m4/codeset.m4: Upgrade to serial AM1.
77629         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
77630         all uses changed.  Quote first arg of AC_DEFUN.
77631         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
77632
77633         * m4/iconv.m4: Upgrade to serial AM2.
77634         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
77635         Add --with-libconv-prefix.
77636         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
77637         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
77638         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
77639         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
77640         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
77641
77642         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
77643         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
77644         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
77645         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
77646         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
77647         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
77648         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
77649         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
77650         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77651
77652         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
77653         string.h any more.
77654
77655         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
77656         not the default value.
77657
77658         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
77659         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
77660         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
77661         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
77662         Also check for iswcntrl, used for wcwidth fallback.
77663         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
77664         to Autoconf 2.13.
77665
77666 2001-08-03  Jim Meyering  <meyering@lucent.com>
77667
77668         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
77669         as it was in the original.  Reported by Paul Eggert.
77670
77671 2001-07-16  Jim Meyering  <meyering@lucent.com>
77672
77673         * m4/gettimeofday.m4: New file.
77674         Prompted by a report from Bernhard Baehr.
77675
77676 2001-07-15  Jim Meyering  <meyering@lucent.com>
77677
77678         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
77679         stuff. Now it's in ../Makefile.cfg.
77680
77681 2001-07-15  Jim Meyering  <meyering@lucent.com>
77682
77683         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
77684         (BUILT_SOURCES): Add unlocked-io.h.
77685         (io_functions): Define.
77686         (unlocked-io.h): New rule.
77687         (DISTCLEANFILES): Add unlocked-io.h.
77688         (all-local): Depend on unlocked-io.h, to ensure it is created.
77689
77690         * lib/unlocked-io.hin: New file
77691
77692         * lib/regex.c: Update from glibc.
77693
77694 2001-07-05  Jim Meyering  <meyering@lucent.com>
77695
77696         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
77697         recommendation.
77698         (libfetish_a_SOURCES): Put all .h files here instead.
77699         Remove a thus-exposed (better checks in automake) duplicate and
77700         two unnecessary .h files.
77701
77702 2001-07-04  Jim Meyering  <meyering@lucent.com>
77703
77704         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
77705         that generates jm-glibc-io.m4 so that it doesn't trigger any make
77706         distcheck failure.
77707
77708 2001-07-02  Jim Meyering  <meyering@lucent.com>
77709
77710         The following changes were prompted by suggestions from Bruno Haible.
77711
77712         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
77713         is now generated.
77714         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
77715         definition of EXTRA_DIST.
77716         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
77717         ensure that the generated file is created/updated whenever the list
77718         of $(unlocked_functions) is changed.
77719         (jm-glibc-io.m4): New rule.
77720         (unlocked-io.h): New rule -- currently unused.
77721
77722 2001-06-24  Jim Meyering  <meyering@lucent.com>
77723
77724         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
77725         unmatched right bracket, rather than kludging it with an extra,
77726         falsely-matching quote in a comment.  Patch by Akim Demaille.
77727
77728 2001-06-11  Jim Meyering  <meyering@lucent.com>
77729
77730         * lib/regex.c: Update from GNU libc.
77731
77732 2001-05-27  Jim Meyering  <meyering@lucent.com>
77733
77734         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
77735         Check for ut_type in struct utmp.
77736
77737 2001-05-27  Jim Meyering  <meyering@lucent.com>
77738
77739         * lib/readutmp.h (UT_TYPE): Define.
77740
77741 2001-05-24  Jim Meyering  <meyering@lucent.com>
77742
77743         * lib/argmatch.c: Include "quote.h".
77744         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
77745         quote function.  Reported by Göran Uddeborg.
77746
77747 2001-05-22  Jim Meyering  <meyering@lucent.com>
77748
77749         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
77750         now that we use the package-supplied version unconditionally.
77751         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
77752
77753 2001-05-21  Jim Meyering  <meyering@lucent.com>
77754
77755         * m4/regex.m4: Change a couple backticks to single quotes to avoid
77756         shell syntax errors.
77757
77758 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77759
77760         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
77761
77762 2001-05-20  Paul Eggert  <eggert@twinsun.com>
77763
77764         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
77765         Don't bother to check library strftime, since
77766         we'll be using our own my_strftime function anyway.
77767         Define my_strftime instead of strftime.
77768
77769 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
77770
77771         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
77772         which is not yet declared.
77773
77774 2001-05-15  Jim Meyering  <meyering@lucent.com>
77775
77776         * m4/regex.m4: Use proper quoting so brackets appear in the test
77777         program.
77778         Reported by, and with help from, Bruno Haible.
77779
77780 2001-05-13  Jim Meyering  <meyering@lucent.com>
77781
77782         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
77783         undefined.
77784
77785 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77786
77787         dirname code cleanup.  base_name now behaves more compatibly
77788         with POSIX basename when given file names that have trailing
77789         slashes, and similarly for dir_name.  Add new primitives
77790         base_len and dir_len.  Put the directory-name-related decls
77791         into dirname.h.
77792
77793         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
77794         * lib/backupfile.c (base_name): Likewise.
77795         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
77796         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
77797         * lib/makepath.c (strip_trailing_slashes): Likewise.
77798         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
77799         ISSLASH): Likewise.
77800         * lib/rename.c (strip_trailing_slashes): Likewise.
77801         * lib/same.c (base_name): Likewise.
77802         * lib/stripslash.c (ISSLASH): Likewise.
77803
77804         * lib/addext.c: Include <dirname.h> after size_t is defined.
77805         * lib/backupfile.c: Likewise.
77806
77807         * lib/addext.c (addext): Use base_len to trim redundant
77808         trailing slashes instead of doing it ourselves.
77809         But do not trim the last slash if it is not redundant.
77810
77811         * lib/backupfile.c (find_backup_file_name,
77812         max_backup_version): Use base_len instead of rolling it ourselves.
77813         Handle the case of "" and (on DOS) "C:" correctly.
77814
77815         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
77816         needed. Include <string.h>, <dirname.h>.
77817         (base_name): Allow file names ending in slashes, other than names
77818         that are all slashes.  In this case, return the basename followed
77819         by the slashes.  This is more general, and can be used in places
77820         where the original base_name purposely had an assertion failure.
77821         (base_len): New function.
77822
77823         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
77824         Do not include <assert.h>; no longer needed.
77825         Include xalloc.h.
77826         (memrchr): Remove decl.
77827         (dir_name_r): Remove.
77828         (dir_len): Renamed from dirlen.  All callers changed.
77829         Rewrite in terms of base_name, for simplicity and consistency.
77830         (dir_name): Never return NULL.  All callers changed.
77831         Do not include <stdlib.h> in test program; no longer needed.
77832         return 0; is fine for test program.
77833
77834         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
77835         New macros.
77836         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
77837
77838         * lib/path-concat.c (path_concat): Use base_len to compute
77839         base length, not strlen; this means we cannot rely on memcpy
77840         to null-terminate.
77841
77842         * lib/same.c (STREQ): Remove.
77843         (same_name): Handle the case where the basename ends in trailing '/'.
77844
77845         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
77846         a slash was stripped.  Do not strip the last slash after a
77847         file system prefix.
77848
77849 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77850
77851         * lib/Makefile.am (libfetish_a_SOURCES):
77852         Add strftime.c, since we now compile it on all hosts.
77853
77854         * lib/strftime.c (my_strftime):
77855         Define to nstrftime if emacs, but only if my_strftime is not defined.
77856         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77857         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
77858         Add one more extra argument: a nanoseconds value.
77859         All uses changed.
77860         (ns): New macro.
77861         (my_strftime function): Add %N format.
77862         (emacs_strftimeu): Renamed from emacs_strftime,
77863         with extra ut argument.
77864
77865 2001-05-09  Paul Eggert  <eggert@twinsun.com>
77866
77867         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
77868
77869 2001-04-21  Jim Meyering  <meyering@lucent.com>
77870
77871         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
77872         doesn't interfere.
77873
77874 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77875
77876         * m4/ftruncate.m4: Check for chsize.
77877         Link with ftruncate.o unconditionally if ftruncate is missing.
77878         This was required when cross-compiling to i586-mingw32msvc.
77879
77880 2001-04-08  Jim Meyering  <meyering@lucent.com>
77881
77882         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
77883         recomputed; that's necessary when the offset spans a DST transition.
77884         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
77885
77886 2001-04-02  Jim Meyering  <meyering@lucent.com>
77887
77888         * lib/regex.h, regex.c: Update from GNU libc.
77889
77890 2001-03-24  Jim Meyering  <meyering@lucent.com>
77891
77892         * m4/jm-macros.m4: Require autoconf-2.49d.
77893
77894 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
77895
77896         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
77897
77898 2001-03-19  Paul Eggert  <eggert@twinsun.com>
77899
77900         * lib/version-etc.c (version_etc_copyright): Update to 2001.
77901
77902 2001-03-17  Jim Meyering  <meyering@lucent.com>
77903
77904         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
77905         now that the version in autoconf is equivalent.
77906         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
77907
77908         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
77909         Suggestion from Akim Demaille.
77910
77911         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
77912         (jm_PREREQ_TEMPNAME): New function.
77913
77914 2001-03-16  Paul Eggert  <eggert@twinsun.com>
77915
77916         * lib/tempname.c (uint64_t): Define to uintmax_t if
77917         not defined, and if UINT64_MAX is not defined.
77918         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
77919         Reported by John David Anglin.
77920
77921 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
77922
77923         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
77924         resolve alias if codeset is empty.
77925         * lib/config.charset (BeOS): Use wildcard syntax.
77926
77927 2001-03-13  Jim Meyering  <meyering@lucent.com>
77928
77929         * lib/path-concat.c (path_concat)
77930         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
77931         concatenating e.g., `C:' and `foo'.
77932         From Bruno Haible.
77933
77934 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77935
77936         * lib/localcharset.c (locale_charset): Don't use
77937         setlocale(LC_CTYPE,NULL). Don't return NULL.
77938         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
77939
77940 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77941
77942         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
77943         support for DOS/DJGPP.
77944
77945 2001-03-01  Paul Eggert  <eggert@twinsun.com>
77946
77947         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
77948         lacks mkstemp.  Compile our own tempname.c if we compile our own
77949         mkstemp.c, as mkstemp relies on tempname.
77950
77951 2001-03-01  Jim Meyering  <meyering@lucent.com>
77952
77953         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
77954         AH_VERBATIM really does output its argument verbatim.
77955
77956 2001-02-28  Paul Eggert  <eggert@twinsun.com>
77957
77958         * lib/Makefile.am (libfetish_a_SOURCES):
77959         Add dup-safer.c, fopen-safer.c.
77960         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
77961
77962         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
77963         * lib/unistd-safer.h: New files.
77964
77965 2001-02-25  Paul Eggert  <eggert@twinsun.com>
77966
77967         The mkstemp replacement is taken from glibc 2.2.2, with some
77968         portability fixes for use outside glibc, as follows:
77969
77970         * lib/tempname.c (struct_stat64): New macro.
77971         (direxists, __gen_tempname): Use it.
77972         This avoids a portability problem with Solaris 8.
77973
77974         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
77975         (<stddef.h>, <stdint.h>, <string.h>):
77976         Include only if STDC_HEADERS || _LIBC.
77977         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
77978         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
77979         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
77980         (__set_errno): Define this macro if <errno.h> doesn't.
77981         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
77982         Define these macros if <stdio.h> doesn't.
77983         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
77984         Define these macros if <sys/stat.h>
77985         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
77986         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
77987         __xstat64): Define if not _LIBC.
77988         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
77989         (__gen_tempname): Invoke gettimeofday only if
77990         HAVE_GETTIMEOFDAY || _LIBC;
77991         otherwise, fall back on plain "time".
77992         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
77993
77994         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
77995
77996         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
77997
77998 2001-02-18  Paul Eggert  <eggert@twinsun.com>
77999
78000         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
78001
78002 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78003
78004         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
78005         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
78006         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
78007         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78008
78009 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78010
78011         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
78012         Remove workaround macros for hosts that have mbrtowc but not
78013         mbstate_t, as we now insist on proper declarations for both
78014         before using mbrtowc.
78015
78016 2001-02-17  Jim Meyering  <meyering@lucent.com>
78017
78018         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
78019         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
78020         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
78021         UnixWare 7.1.1.
78022
78023         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
78024         rather than AC_CACHE_VAL.
78025
78026 2001-02-17  Jim Meyering  <meyering@lucent.com>
78027
78028         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
78029         around included file name.
78030
78031         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
78032
78033         * lib/strftime.c: Update from GNU libc (the only changes were to
78034         comments).
78035
78036 2001-02-17  Jim Meyering  <meyering@lucent.com>
78037
78038         * lib/regex.c: Update from libc.
78039
78040 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
78041
78042         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
78043         clash.
78044
78045 2001-02-16  Paul Eggert  <eggert@twinsun.com>
78046
78047         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
78048         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
78049         Reported by Mark Hounschell via Paul Eggert.
78050
78051 2001-02-07  Jim Meyering  <meyering@lucent.com>
78052
78053         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
78054
78055 2001-02-05  Jim Meyering  <meyering@lucent.com>
78056
78057         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
78058         it includes the patch required for `large file' support with at least
78059         HP-UX's 10.20 /bin/cc.
78060
78061 2001-02-03  Jim Meyering  <meyering@lucent.com>
78062
78063         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
78064         AS_IF, now that it works once again (mysteriously).
78065         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78066
78067 2001-01-30  Jim Meyering  <meyering@lucent.com>
78068
78069         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
78070         * m4/chown.m4: Rename conftestchown to conftest.chown.
78071         * m4/rename.m4: s/conftestdir/conftest.d1/ and
78072         s/conftestdir2/conftest.d2/.
78073         * m4/utimes.m4: s/conftestdata/conftest.data/
78074         Inspired by Pavel Roskin's change in autoconf.
78075
78076 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
78077
78078         * lib/config.charset: Update for FreeBSD 4.2.
78079
78080 2001-01-27  Jim Meyering  <meyering@lucent.com>
78081
78082         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
78083         a use of AS_IF.
78084         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78085
78086 2001-01-26  Jim Meyering  <meyering@lucent.com>
78087
78088         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
78089         quotearg.c includes it.
78090
78091 2001-01-26  Jim Meyering  <meyering@lucent.com>
78092
78093         * lib/quotearg.c: Include stddef.h.
78094         * lib/quote.c: Include stddef.h.
78095         Reported by Axel Kittenberger.
78096
78097         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
78098         line in double quotes so that it evokes a better diagnostic.
78099         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
78100         Reported by Axel Kittenberger.
78101
78102 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
78103
78104         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
78105         as if it was a `charset'.
78106
78107 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78108
78109         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
78110         has const.
78111
78112 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78113
78114         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
78115         to avoid a warning.  Add back 'const' to inptr.
78116
78117 2001-01-20  Jim Meyering  <meyering@lucent.com>
78118
78119         Be sure that headers are checked before used in code compiled
78120         for the type checks.
78121         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
78122         In place of that, invoke jm_CHECK_ALL_TYPES.
78123         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
78124         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
78125         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
78126         The check for ssize_t was mistakenly run before the test for unistd.h.
78127
78128         The configure-time check for stdbool.h was missing.
78129         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
78130         (jm_PREREQ_HASH): New function.
78131
78132 2001-01-17  Jim Meyering  <meyering@lucent.com>
78133
78134         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
78135         for autoconf-2.49c.
78136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
78137
78138 2001-01-16  Jim Meyering  <meyering@lucent.com>
78139
78140         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
78141         From Bruno Haible.
78142
78143 2001-01-14  Jim Meyering  <meyering@lucent.com>
78144
78145         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
78146         foo and bar.  Create conftestdir/ in the script, not in the C code.
78147         Remove directories in the script, not in the C code.
78148         Remove conftestdir{,2} before trying to create the directory.
78149         Make the entire configure script fail if the mkdir fails.
78150
78151 2001-01-14  Jim Meyering  <meyering@lucent.com>
78152
78153         * lib/rename.c: New file.  From Volker Borchert.
78154         Include stdlib.h, string.h or strings.h, and xalloc.h.
78155         Use strip_trailing_slashes rather than open-coding it.
78156
78157 2001-01-03  Paul Eggert  <eggert@twinsun.com>
78158
78159         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
78160
78161 2001-01-03  Jim Meyering  <meyering@lucent.com>
78162
78163         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
78164         of local `inptr' to avoid warning with some system declarations of
78165         iconv.
78166
78167 2001-01-02  Volker Borchert  <bt@teknon.de>
78168
78169         * m4/rename.m4: New file.
78170         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
78171
78172 2001-01-01  Jim Meyering  <meyering@lucent.com>
78173
78174         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
78175         even on systems with utmpx.h.  It's necessary for the declaration of
78176         utmp's ut_user member.  Reported by Andreas Jaeger.
78177
78178         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
78179         available. They are required for the declarations of getgrgid and
78180         getpwuid resp.
78181         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
78182         Reported by Andreas Jaeger.
78183
78184 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
78185
78186         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
78187         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
78188         so `make install' also works in VPATH builds.
78189
78190 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
78191
78192         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
78193         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
78194         can be used in subdirectories.
78195
78196 2000-12-29  Paul Eggert  <eggert@twinsun.com>
78197
78198         * lib/modechange.c: Do not assume that mode_t uses the
78199         traditional octal encoding.  E.g. "chmod 1 FOO" should set
78200         the other-execute bit of FOO even if S_IXOTH != 1.
78201
78202         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
78203         WOTH, XOTH, ALLM): New macros.
78204         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
78205          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
78206         Use them.
78207         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
78208         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
78209         (mode_compile):
78210         No need to use uintmax_t; unsigned long is long enough.
78211         Don't bother to get suffix since we don't use it.
78212
78213 2000-12-26  Jim Meyering  <meyering@lucent.com>
78214
78215         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
78216         better with autoheader.
78217
78218 2000-12-24  Jim Meyering  <meyering@lucent.com>
78219
78220         * lib/hash.c (is_prime): Return explicit boolean values.
78221         (hash_get_first): Return NULL to appease Irix5.6's 89.
78222         Reported by Nelson Beebe.
78223
78224 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
78225
78226         * lib/localcharset.c (locale_charset): Add support for Win32.
78227
78228 2000-12-18  Paul Eggert  <eggert@twinsun.com>
78229
78230         * lib/physmem.h, lib/physmem.c: New files.
78231
78232         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
78233         (noinst_HEADERS): Add physmem.h.
78234
78235         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
78236         't' for compatibility with Solaris 8 sort.
78237
78238 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
78239
78240         * lib/config.charset: Add support for BeOS.
78241
78242 2000-12-17  Jim Meyering  <meyering@lucent.com>
78243
78244         * m4/dos.m4 (jm_AC_DOS): New file and macro.
78245         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
78246
78247 2000-12-16  Jim Meyering  <meyering@lucent.com>
78248
78249         This bug had a serious impact on chown: `chown N:M FILE' (for integer
78250         N and M) would have treated it like `chown N:N FILE'.
78251
78252         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
78253
78254 2000-12-16  Jim Meyering  <meyering@lucent.com>
78255
78256         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
78257         SHELLS_FILE to a file name that's useful on djgpp systems.
78258         Include stdlib.h.
78259         (ADDITIONAL_DEFAULT_SHELLS): Define.
78260         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
78261         Based mostly on a patch from Prashant TR.
78262
78263 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
78264
78265         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
78266         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
78267         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
78268
78269 2000-12-08  Andreas Schwab  <schwab@suse.de>
78270
78271         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
78272         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
78273
78274 2000-12-07  Jim Meyering  <meyering@lucent.com>
78275
78276         * lib/stripslash.c (ISSLASH): Define.
78277         (strip_trailing_slashes): Use ISSLASH rather than comparing against
78278         `/'.
78279         From Prashant TR.
78280
78281         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
78282         (dir_name_r): Declare this function as static.
78283         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78284         manifest itself on a name containing a mix of slashes and
78285         backslashes.
78286         Make this function work with names starting with a DOS-style
78287         drive letter and colon prefix.
78288         (dir_name): Append `.' if necessary.
78289         Based mostly on patches from Prashant TR and Eli Zaretskii.
78290
78291         * lib/dirname.h (dir_name_r): Remove prototype.
78292
78293 2000-12-06  Paul Eggert  <eggert@twinsun.com>
78294
78295         * m4/off_t-format.m4: Remove this file.
78296         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
78297
78298 2000-12-06  Jim Meyering  <meyering@lucent.com>
78299
78300         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
78301         replacement strtoull, we may well need the replacement strtoul, too.
78302         Check for declarations of strtoul and strtoull.
78303         Check for strtol.  Mainly as a cue to cause automake to include
78304         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
78305         Check for limits.h -- strtol.c needs it.
78306
78307 2000-12-05  Jim Meyering  <meyering@lucent.com>
78308
78309         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
78310
78311 2000-12-04  Jim Meyering  <meyering@lucent.com>
78312
78313         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
78314         Also include memory.h, stdlib.h, unistd.h if appropriate.
78315         Reported by Andreas Jaeger (conflicting declaration of malloc).
78316
78317 2000-12-02  Jim Meyering  <meyering@lucent.com>
78318
78319         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
78320         * m4/jm-macros.m4 (jm_MACROS): require it.
78321
78322 2000-12-02  Jim Meyering  <meyering@lucent.com>
78323
78324         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
78325
78326 2000-12-01  Paul Eggert  <eggert@twinsun.com>
78327
78328         * lib/memrchr.c: Include <config.h> before any system include file.
78329
78330 2000-11-30  Jim Meyering  <meyering@lucent.com>
78331
78332         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
78333
78334 2000-11-30  Jim Meyering  <meyering@lucent.com>
78335
78336         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
78337
78338 2000-11-29  Paul Eggert  <eggert@twinsun.com>
78339
78340         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
78341
78342 2000-11-26  Jim Meyering  <meyering@lucent.com>
78343
78344         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
78345
78346 2000-11-22  Paul Eggert  <eggert@twinsun.com>
78347
78348         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
78349         size of (size_t) -1; it's not portable.
78350
78351 2000-11-17  Jim Meyering  <meyering@lucent.com>
78352
78353         * lib/strstr.c: Update from GNU libc.
78354
78355 2000-11-17  Akim Demaille  <akim@epita.fr>
78356
78357         * lib/obstack.h: Formatting changes.
78358         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
78359         prevent type checking.
78360         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
78361         cast the value to (void *): assigning a `foo *' to a `void *'
78362         variable is valid.
78363         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
78364
78365 2000-11-16  Jim Meyering  <meyering@lucent.com>
78366
78367         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
78368
78369 2000-11-11  Jim Meyering  <meyering@lucent.com>
78370
78371         * lib/error.c: Add a couple #includes, merging from GNU libc version.
78372
78373 2000-11-10  Jim Meyering  <meyering@lucent.com>
78374
78375         * lib/obstack.h: Update from GNU libc.
78376         * lib/obstack.c: Likewise.
78377
78378 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
78379
78380         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
78381
78382 2000-11-06  Paul Eggert  <eggert@twinsun.com>
78383
78384         * lib/getusershell.c (setusershell): Use rewind rather than
78385         fseek/fseeko, to avoid configuration hassles with fseeko.
78386         Don't bother opening SHELLS_FILE if shellstream is NULL;
78387         it's not necessary.
78388
78389 2000-11-05  Jim Meyering  <meyering@lucent.com>
78390
78391         * lib/makepath.h (make_dir): Declare.
78392         * lib/makepath.c (make_dir): Remove `static' attribute.
78393         Tweak a comment.
78394
78395 2000-11-04  Jim Meyering  <meyering@lucent.com>
78396
78397         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
78398
78399 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
78400
78401         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
78402         last one in a bucket, advance to the next bucket.
78403
78404 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78405
78406         * lib/fnmatch.c: Do not comment out all the code if we are using
78407         the GNU C library, because in some cases we are replacing buggy
78408         code in the GNU C library itself.
78409
78410 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
78411
78412         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
78413         (regex_compile): Catch bogus \(\1\).
78414
78415 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78416
78417         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
78418         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
78419         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
78420
78421 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78422
78423         * lib/error.h, getline.h, modechange.h:
78424         Remove "2000" from Copyright line, as the file hasn't been
78425         changed this year other than in the copyright notice.
78426
78427         * lib/xalloc.h: Add "2000" to Copyright line, as this file
78428         was changed this year.
78429
78430 2000-10-29  Jim Meyering  <meyering@lucent.com>
78431
78432         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
78433         renaming.
78434         * m4/ls-mntd-fs.m4: Likewise
78435
78436 2000-10-29  Jim Meyering  <meyering@lucent.com>
78437
78438         * lib/xstat.in: Fix grammar in comment.
78439
78440 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
78441
78442         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
78443         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
78444         doesn't define __restrict_arr.
78445
78446 2000-10-28  Jim Meyering  <meyering@lucent.com>
78447
78448         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
78449         (jm_PREREQ_MEMCHR): New function.
78450
78451 2000-10-28  Jim Meyering  <meyering@lucent.com>
78452
78453         * lib/memchr.c: Update from libc.
78454         Adjust for portability:
78455         [HAVE_STDLIB_H]: Include stdlib.h.
78456         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
78457         Undef __memchr, too.
78458         [!weak_alias]: Define __memchr to memchr.
78459
78460         * lib/regex.c: Update from libc.
78461         * lib/regex.h: Likewise.
78462         * lib/getopt1.c: Likewise.
78463         * lib/memcmp.c: Likewise.
78464
78465         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78466         Avoid using fseek, when possible -- it's broken by design.
78467         Patch by Ulrich Drepper.
78468
78469 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
78470
78471         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
78472         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
78473         Giving in to popular pressure to shut up the compiler with casts.
78474
78475 2000-10-26  Jim Meyering  <meyering@lucent.com>
78476
78477         * lib/strftime.c: Update from libc.
78478
78479 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
78480
78481         * regex.c: More `unsigned char' -> `re_char' changes.
78482         Also change several `int' into `re_wchar_t'.
78483         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
78484         (PUSH_FAILURE_POINTER): Don't cast any more.
78485         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
78486         We want GCC to complain, since this piece of code makes
78487         re_match non-reentrant, which *should* be fixed.
78488         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
78489         (EXTEND_BUFFER): Use RETALLOC.
78490         (SET_LIST_BIT): Don't cast.
78491         (re_wchar_t): New type.
78492         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
78493         that those two functions will always properly return.
78494         (IMMEDIATE_QUIT_CHECK): Cast to void.
78495         (analyse_first): Use recursion rather than an explicit stack.
78496         (re_compile_fastmap): Can't fail anymore.
78497         (re_search_2): Don't check re_compile_fastmap for failure.
78498         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
78499         Now also sets the new value (passed in a new argument).
78500         (re_match_2_internal): Use it.
78501         Also, use a new var `reg' of type size_t when looping through regs
78502         rather than reuse the inappropriate `mcnt'.
78503
78504 2000-10-25  Jim Meyering  <meyering@lucent.com>
78505
78506         * lib/obstack.c: Update from libc.
78507
78508 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
78509
78510         * regex.c (regex_compile): Change the way of handling a range from
78511         a char less than 256 to a char not less than 256.
78512
78513 2000-10-24  Andrew Innes  <andrewi@gnu.org>
78514
78515         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
78516         NT-Emacs only.
78517         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
78518         so that re_search functions only quit when callers expect them to.
78519
78520 2000-10-23  Jim Meyering  <meyering@lucent.com>
78521
78522         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
78523         wrong.  That set_locale call must not have any side effects.
78524         From Paul Eggert.
78525
78526 2000-10-22  Jim Meyering  <meyering@lucent.com>
78527
78528         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
78529         [CYCLIC]: Remove now-unused definition.
78530
78531         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
78532         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
78533         Suggestion from Ulrich Drepper.
78534
78535 2000-10-21  Jim Meyering  <meyering@lucent.com>
78536
78537         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
78538         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
78539         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
78540
78541 2000-10-21  Jim Meyering  <meyering@lucent.com>
78542
78543         * lib/dirname.c (memrchr): Declare if necessary.
78544         (dir_name): Remove the restriction that there be no
78545         trailing slashes.  Now, this code skips past them, effectively
78546         ignoring them.
78547         [TEST_DIRNAME] (main): New unit tests.
78548
78549         * lib/memrchr.c: New file from GNU libc.
78550         Undef __memrchr, too.
78551         [!weak_alias]: Define __memrchr to memrchr.
78552         Guard weak_alias use with `#ifdef weak_alias'.
78553
78554 2000-10-21  Jim Meyering  <meyering@lucent.com>
78555
78556         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
78557         (dir_name): Use dir_name_r.
78558         * lib/dirname.h (dir_name_r): Declare it.
78559
78560 2000-10-17  Jim Meyering  <meyering@lucent.com>
78561
78562         * lib/quote.h (PARAMS): Define and use.
78563         Reported by Akim Demaille.
78564
78565         * lib/getopt.c: Update from libc.
78566
78567 2000-10-16  Jim Meyering  <meyering@lucent.com>
78568
78569         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
78570         setlocale.
78571         From Jan Fedak.
78572
78573 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
78574
78575         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
78576
78577 2000-09-25  Jim Meyering  <meyering@lucent.com>
78578
78579         * lib/md5.h (rol): Define (from GnuPG).
78580
78581         * lib/sha.c: Give credit (GnuPG) where due.
78582         (M): Use rol rather than open-coding it.
78583         Add a FIXME comment.
78584
78585 2000-09-21  Jim Meyering  <meyering@lucent.com>
78586
78587         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
78588         Reported by Michael Stone.
78589
78590 2000-09-20  Jim Meyering  <meyering@lucent.com>
78591
78592         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
78593         (noinst_HEADERS): Add sha.h.
78594         Based on code from Scott G. Miller and from GnuPG.
78595
78596 2000-09-18  Jim Meyering  <meyering@lucent.com>
78597
78598         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
78599         LIBS. Otherwise, everyone ends up linking with -lelf for some
78600         configurations.
78601         Reported by Mike Stone.
78602
78603 2000-09-15  Jim Meyering  <meyering@lucent.com>
78604
78605         * lib/regex.c: Update from libc.
78606
78607 2000-09-10  Jim Meyering  <meyering@lucent.com>
78608
78609         * lib/getopt.c (_getopt_internal): Update from glibc.
78610
78611 2000-09-09  Jim Meyering  <meyering@lucent.com>
78612
78613         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78614         think it should be used as a general replacement for isascii.
78615         * lib/fnmatch.c: Likewise.
78616         * lib/mbswidth.c: Likewise
78617         * lib/regex.c: Likewise.
78618
78619         Don't use atoi.
78620         * lib/userspec.c: Include sys/param.h and limits.h.
78621         Include xstrtol.h.
78622         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78623         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78624         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78625         UID, GID.  Check range.
78626
78627 2000-09-06  Jim Meyering  <meyering@lucent.com>
78628
78629         * lib/getopt.c (_getopt_internal): Update from glibc.
78630
78631 2000-08-30  Jim Meyering  <meyering@lucent.com>
78632
78633         * lib/strftime.c: Merge in changes from GNU libc.
78634
78635 2000-08-26  Jim Meyering  <meyering@lucent.com>
78636
78637         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
78638         * m4/fpending.m4: New file.
78639
78640 2000-08-26  Jim Meyering  <meyering@lucent.com>
78641
78642         * lib/closeout.c: Include "__fpending.h".
78643         (close_stdout_status): Return right away if there's nothing to flush.
78644
78645         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
78646         * lib/__fpending.c: New file.
78647         * lib/__fpending.h: New file.
78648
78649 2000-08-20  Jim Meyering  <meyering@lucent.com>
78650
78651         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
78652         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
78653         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
78654
78655 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
78656
78657         Improve fileutils installation on systems where running
78658         programs (like install) can't be unlinked.
78659         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
78660         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
78661
78662 2000-08-07  Paul Eggert  <eggert@twinsun.com>
78663
78664         Standardize on "memory exhausted" instead of "Memory exhausted"
78665         or "virtual memory exhausted".
78666         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
78667         "virtual memory exhausted".
78668         * lib/same.c (same_name): Invoke xalloc_die instead of printing
78669         our own message.
78670         * lib/userspec.c (parse_user_spec): Likewise.
78671         * lib/bumpalloc.h: comment fix
78672         * lib/same.c, userspec.c: Include xalloc.h.
78673
78674         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
78675         not char *const and pointing to a constant array.
78676         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
78677         (xrealloc): Comment fix.
78678
78679         * lib/userspec.c (parse_user_spec):
78680         Don't translate a message until just before returning,
78681         to avoid unnecessary translation.
78682
78683 2000-08-07  Jim Meyering  <meyering@lucent.com>
78684
78685         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
78686         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
78687         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
78688         getgroups.c, gethostname.c, getopt.h, group-member.c,
78689         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
78690         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
78691         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
78692         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
78693         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
78694         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
78695         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
78696         yesno.c: Back out Copyright date changes for each file with no change
78697         this year.  This eases coordination with other programs using the same
78698         source code modules.  From Paul Eggert.
78699
78700 2000-08-06  Paul Eggert  <eggert@twinsun.com>
78701
78702         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
78703         not char, for compatibility with glibc 2.1.3 strftime.c.
78704
78705 2000-08-03  Greg McGary  <greg@mcgary.org>
78706
78707         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
78708         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
78709         (EXTEND_BUFFER): Use them.
78710
78711 2000-08-01  Jim Meyering  <meyering@lucent.com>
78712
78713         * lib/dirname.c (ISSLASH): Define.
78714         (BACKSLASH_IS_PATH_SEPARATOR): Define.
78715         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
78716         both `\' and `/' may be use as path separators.
78717         Based on a patch from Prashant TR.
78718
78719 2000-07-31  Paul Eggert  <eggert@twinsun.com>
78720
78721         * lib/quotearg.c (quotearg_n_options): Don't make the initial
78722         slot vector a constant, since it might get modified.
78723
78724 2000-07-31  Jim Meyering  <meyering@lucent.com>
78725
78726         * lib/xmalloc.c: Use `virtual memory exhausted', not
78727         `Memory exhausted'.
78728         * lib/obstack.c (print_and_abort): Likewise.
78729
78730 2000-07-30  Paul Eggert  <eggert@twinsun.com>
78731
78732         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
78733         buffer, so that the caller can always quote one small
78734         component of a "memory exhausted" message in slot 0.
78735         From a suggestion by Jim Meyering.
78736
78737 2000-07-30  Jim Meyering  <meyering@lucent.com>
78738
78739         * lib/makepath.c (make_path): Quote the other instance, too.
78740
78741         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
78742         (STATIC_BUF_SIZE): Define.
78743         (quotearg_n_options): Use only statically allocated storage when
78744         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
78745         than STATIC_BUF_SIZE.
78746
78747 2000-07-29  Jim Meyering  <meyering@lucent.com>
78748
78749         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
78750         * lib/dirname.c (dir_name): Likewise.
78751
78752         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
78753         `/'.
78754
78755         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
78756         (dir_name): Assert that there are no trailing slashes.
78757
78758 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
78759
78760         * lib/mbswidth.h (mbswidth): Add a flags argument.
78761         (mbswidth): New declaration.
78762         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
78763         * lib/mbswidth.c (mbswidth): Add a flags argument.
78764         (mbsnwidth): New function.
78765
78766 2000-07-24  Jim Meyering  <meyering@lucent.com>
78767
78768         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
78769
78770 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78771
78772         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
78773
78774 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78775
78776         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
78777         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
78778         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
78779         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
78780         invoke multibyte primitives.
78781
78782 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78783
78784         * lib/quotearg.c:
78785         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
78786         so that mbstate_t is always defined.
78787
78788         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
78789         be 1 in at least one GCC installation, and this configuration
78790         error is likely to be common.  Ignoring MB_LEN_MAX hurts
78791         performance on hosts that have mbrtowc but have only unibyte
78792         locales, but I assume these hosts are rare.
78793
78794 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78795
78796         * lib/mbswidth.c (_XOPEN_SOURCE):
78797         Don't define; this causes problems on Solaris 7.
78798         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
78799
78800 2000-07-23  Jim Meyering  <meyering@lucent.com>
78801
78802         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
78803         too: getgrgid, getpwuid, getuid.
78804
78805 2000-07-23  Jim Meyering  <meyering@lucent.com>
78806
78807         * lib/basename.c (base_name): Add an assertion.
78808
78809 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
78810
78811         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
78812         shadow its mbsinit function.
78813
78814 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78815
78816         * lib/mbswidth.h: New file.
78817         * lib/mbswidth.c: New file.
78818         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
78819         (noinst_HEADERS): Add mbswidth.h.
78820
78821 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78822
78823         * lib/config.charset: Add support for FreeBSD. Improve support for
78824         HP-UX and IRIX 6.
78825
78826 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
78827
78828         * m4/mbswidth.m4: New file.
78829         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
78830
78831 2000-07-15  Jim Meyering  <meyering@lucent.com>
78832
78833         * lib/makepath.c: Include quote.h.
78834         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
78835         corresponding argument in a `quote (...)' call.
78836         Give better diagnostics.
78837
78838         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
78839         (noinst_HEADERS): Add quote.h.
78840
78841         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
78842         from tar's src/misc.c.
78843         * lib/quote.h: New file.  Prototypes for same.
78844
78845 2000-07-14  Paul Eggert  <eggert@twinsun.com>
78846
78847         From a suggestion by Bruno Haible.
78848         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
78849         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
78850         to decide whether to define the BeOS workaround macro;
78851         this adjusts to the change to AC_MBSTATE_T.
78852
78853 2000-07-14  Jim Meyering  <meyering@lucent.com>
78854
78855         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
78856         jm_AC_TYPE_UINTMAX_T.
78857
78858 2000-07-13  Paul Eggert  <eggert@twinsun.com>
78859
78860         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
78861
78862         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
78863         quotearg_buffer_restyled): Add support for
78864         clocale_quoting_style.  Undo previous change to
78865         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
78866         and "{RIGHT QUOTATION MARK}" msgids.
78867
78868 2000-07-10  Paul Eggert  <eggert@twinsun.com>
78869
78870         From a suggestion by Bruno Haible.
78871         * m4/mbstate_t.m4 (AC_MBSTATE_T):
78872         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
78873         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
78874         and mbstate_t, to a single-part test that simply defines mbstate_t.
78875         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
78876         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
78877
78878 2000-07-10  Jim Meyering  <meyering@lucent.com>
78879
78880         * m4/strerror_r.m4: Mirror the correction made in autoconf.
78881
78882         * m4/gnu-source.m4: Output to confdefs.h directly.
78883         Suggestion from Akim Demaille.
78884
78885 2000-07-09  Paul Eggert  <eggert@twinsun.com>
78886
78887         The old behavior of quoting `like this' doesn't look good with
78888         newer, ISO-style fonts.  See:
78889         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
78890
78891         Instead, quote "like this" by default.  Let the translator
78892         tailor the locale-specific quoting behavior by providing
78893         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
78894
78895         * lib/quotearg.c (N_): New macro.
78896         (gettext_default): New function.
78897         (quotearg_buffer_restyled): Use
78898         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
78899         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
78900
78901 2000-07-09  Jim Meyering  <meyering@lucent.com>
78902
78903         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
78904         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
78905
78906         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
78907         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
78908
78909 2000-07-09  Jim Meyering  <meyering@lucent.com>
78910
78911         * lib/Most files: Update copyright dates to include 2000.
78912
78913 2000-07-08  Jim Meyering  <meyering@lucent.com>
78914
78915         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
78916         if not defined.
78917         (xgethostname): Remove now-unnecessary #ifdef.
78918         Move declaration of `err' into loop where it's used.
78919
78920 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78921         and Bruno Haible  <haible@clisp.cons.org>
78922
78923         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
78924         only if the test for an object-type mbstate_t fails.  This
78925         prevents us from mistakenly reporting that mbstate_t is a
78926         system object type after we "#define mbstate_t int" to work
78927         around its lack.
78928
78929 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78930         and Bruno Haible  <haible@clisp.cons.org>
78931
78932         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
78933
78934 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78935
78936         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
78937         to strerror_r.
78938         Include <ctype.h> for use of isalpha.
78939
78940 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78941
78942         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
78943         by allocating a larger buffer. Test the gethostname return value for
78944         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
78945         returns an error and ENAMETOOLONG isn't defined.
78946
78947 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78948
78949         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
78950         dimension.
78951
78952 2000-07-04  Jim Meyering  <meyering@lucent.com>
78953
78954         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
78955         of the deprecated AC_CHECKING.
78956
78957 2000-07-04  Jim Meyering  <meyering@lucent.com>
78958
78959         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
78960         Reported by Bruno Haible.
78961
78962 2000-07-04  Jim Meyering  <meyering@lucent.com>
78963
78964         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
78965         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
78966         lacks mbrtowc.
78967
78968 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78969
78970         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
78971         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
78972
78973 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78974         and Bruno Haible  <haible@clisp.cons.org>
78975
78976         * lib/quotearg.c (mbrtowc):
78977         Assign to *pwc, and return 1 only if result is nonzero.
78978         (iswprint): Use ISPRINT when substituting our own mbrtowc.
78979
78980 2000-07-03  Jim Meyering  <meyering@lucent.com>
78981
78982         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
78983
78984 2000-07-03  Jim Meyering  <meyering@lucent.com>
78985
78986         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
78987         This is necessary to get a definition of e.g., UTMP_FILE on
78988         HP-UX 10.20.
78989         From Bob Proulx.
78990
78991 2000-07-02  Jim Meyering  <meyering@lucent.com>
78992
78993         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
78994
78995         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
78996         AC_LIBOBJ(function_name).
78997         * m4/chown.m4: Likewise.
78998         * m4/fnmatch.m4: Likewise.
78999         * m4/ftruncate.m4: Likewise.
79000         * m4/getgroups.m4: Likewise.
79001         * m4/getline.m4: Likewise.
79002         * m4/group-member.m4: Likewise.
79003         * m4/jm-macros.m4: Likewise.
79004         * m4/lstat.m4: Likewise.
79005         * m4/malloc.m4: Likewise.
79006         * m4/memcmp.m4: Likewise.
79007         * m4/nanosleep.m4: Likewise.
79008         * m4/putenv.m4: Likewise.
79009         * m4/realloc.m4: Likewise.
79010         * m4/regex.m4: Likewise.
79011         * m4/stat.m4: Likewise.
79012         * m4/strftime.m4: Likewise.
79013
79014 2000-07-02  Jim Meyering  <meyering@lucent.com>
79015
79016         * lib/quotearg.c (mbstate_t): Don't define here.
79017
79018 2000-07-02  Jim Meyering  <meyering@lucent.com>
79019
79020         * lib/nanosleep.c (SIGCONT): Define if not already defined.
79021
79022 2000-07-01  Jim Meyering  <meyering@lucent.com>
79023
79024         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
79025
79026 2000-07-01  Jim Meyering  <meyering@lucent.com>
79027
79028         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
79029         problem.
79030
79031 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79032
79033         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
79034         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
79035
79036 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79037
79038         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
79039         per change in ../m4/ls-mntd-fs.m4.
79040         (read_filesystem_list): Ignore symbolic links.
79041
79042 2000-06-29  Jim Meyering  <meyering@lucent.com>
79043
79044         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
79045         for declaration of strcmp.
79046
79047         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
79048
79049         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
79050         Avoid warning by casting result to `char *' to remove `const'.
79051
79052 2000-06-28  Jim Meyering  <meyering@lucent.com>
79053
79054         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
79055         included by quotearg.c, for which we perform this test.  From
79056         Bruno Haible.
79057
79058 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79059
79060         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
79061         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
79062         <utmpx.h> exists, put readutmp.o into LIBOBJS.
79063
79064 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79065
79066         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
79067
79068 2000-06-26  Paul Eggert  <eggert@twinsun.com>
79069
79070         savedir now sets errno on failure and invokes xmalloc to get memory.
79071         Fix a couple of other minor bugs while we're at it.
79072
79073         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
79074         (NAMLEN): Remove macro.
79075         (malloc, realloc): Remove decls.
79076         (stpcpy): Likewise.
79077         ("xalloc.h"): Include.
79078         (NAME_SIZE_DEFAULT): New macro.
79079         (savedir): Use xmalloc / xrealloc to allocate memory.
79080         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
79081         Skip "" directory entries.
79082         Use strlen to calculate directory entry length, since the old method
79083         is rarely used these days and isn't worth supporting.
79084         Don't use a pointer after freeing it.
79085         Check for integer overflow when calculating allocation size.
79086         Use memcpy to copy entries, instead of stpcpy.
79087         Set errno properly when returning NULL.
79088         Check for readdir error.
79089
79090 2000-06-26  Jim Meyering  <meyering@lucent.com>
79091
79092         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
79093
79094 2000-06-25  Jim Meyering  <meyering@lucent.com>
79095
79096         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
79097         Linux header bug when _XOPEN_SOURCE is defined to 500.
79098
79099 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79100
79101         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
79102         deficiency.
79103
79104 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79105
79106         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
79107         Include xalloc.h.
79108         Don't include <stdlib.h>.  Don't declare malloc, realloc.
79109
79110 2000-06-24  Jim Meyering  <meyering@lucent.com>
79111
79112         * m4/strerror_r.m4: Revive this file -- to try out an experimental
79113         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
79114         for which strerror does return char*, but which lacks a conveniently
79115         accessible declaration of the function.  If the compile-test says
79116         strerror_r doesn't work, then resort to a `run'-test that works on
79117         BeOS and segfaults on DEC Unix.
79118
79119 2000-06-24  Jim Meyering  <meyering@lucent.com>
79120
79121         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
79122
79123 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79124
79125         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
79126         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
79127
79128 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79129
79130         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
79131         (mbrtowc, mbstate_t): Define substitutes if
79132         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
79133         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
79134         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
79135
79136 2000-06-23  Jim Meyering  <meyering@lucent.com>
79137
79138         * m4/afs.m4: Add missing AC_MSG_RESULT.
79139         Reported by Bruno Haible.
79140
79141         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
79142         Suggestion from Bruno Haible.
79143
79144 2000-06-23  Jim Meyering  <meyering@lucent.com>
79145
79146         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
79147
79148 2000-06-21  Jim Meyering  <meyering@lucent.com>
79149
79150         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
79151
79152 2000-06-21  Jim Meyering  <meyering@lucent.com>
79153
79154         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
79155         (noinst_HEADERS): Add getstr.h.
79156
79157         * lib/getline.c (getstr): Move into a separate file.
79158         * lib/getstr.c (getstr): New file, extracted from getline.c, with
79159         the following changes: new parameter, delim2; both delim[12]
79160         parameters have type `int', not `char'.  The latter would lose
79161         with 8-bit delimiters.
79162         * lib/getstr.h: New file.
79163
79164 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79165
79166         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
79167         than 1024, return a memory chunk of least possible size, instead
79168         of size PATH_MAX + 2. In the loop, increment the size proportionally.
79169         Use free/xmalloc instead of xrealloc to avoid copying for very long
79170         paths.
79171
79172 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79173
79174         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
79175         the empty string.
79176
79177 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79178
79179         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
79180         address, not strdup.  Include <stdlib.h> and don't declare free().
79181
79182 2000-06-19  Jim Meyering  <meyering@lucent.com>
79183
79184         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
79185
79186 2000-06-18  Jim Meyering  <meyering@lucent.com>
79187
79188         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
79189
79190         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
79191         `checking whether...' message to be consistent with that of the
79192         lstat test.
79193
79194 2000-06-18  Jim Meyering  <meyering@lucent.com>
79195
79196         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
79197         Besides, these days every porting target provides a mkdir function.
79198
79199         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
79200         needed. (this snippet comes from src/system.h).
79201
79202 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
79203
79204         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
79205
79206 2000-06-15  Paul Eggert  <eggert@twinsun.com>
79207
79208         * lib/human.c (adjust_value): New function.
79209         (human_readable_inexact): Apply rounding style even when
79210         printing approximate values.
79211
79212 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79213
79214         * lib/human.c (human_readable_inexact): Allow an input block
79215         size that is not a multiple of the output block size, and vice versa.
79216         Reported by Piergiorgio Sartor.
79217
79218 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79219
79220         * lib/getdate.y (get_date): Apply relative times after time
79221         zone indicator, not before.  Reported by Todd A. Jacobs.
79222
79223 2000-06-13  Jim Meyering  <meyering@lucent.com>
79224
79225         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
79226
79227         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
79228
79229 2000-06-12  Paul Eggert  <eggert@twinsun.com>
79230
79231         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
79232
79233 2000-06-12  Jim Meyering  <meyering@lucent.com>
79234
79235         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
79236         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
79237         optional argument.
79238         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
79239         the optional argument, `lib'.
79240
79241 2000-06-08  Jim Meyering  <meyering@lucent.com>
79242
79243         * m4/largefile.m4: Remove file (now that it's part of autoconf).
79244
79245 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79246
79247         Rewrite largefile configuration so that we don't need to run
79248         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
79249         AC_CANONICAL_HOST in configure.in -- jmm]
79250
79251         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
79252         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
79253         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
79254         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
79255         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
79256         All uses changed.
79257         Instead of inspecting the output of getconf, try to compile the
79258         test program without and with the macro definition.
79259         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
79260         for getconf.  Instead, check for the needed flags by compiling
79261         test programs.
79262
79263 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79264
79265         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
79266
79267 2000-06-04  Jim Meyering  <meyering@lucent.com>
79268
79269         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
79270         SunOS 4.1.4 for which gid_t is an unsigned type.
79271
79272 2000-06-03  Jim Meyering  <meyering@lucent.com>
79273
79274         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
79275         now that autoconf requires that.
79276
79277         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
79278         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
79279         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
79280
79281 2000-06-03  Jim Meyering  <meyering@lucent.com>
79282
79283         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
79284
79285 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79286
79287         * m4/glibc21.m4: New file.
79288         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
79289
79290 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79291
79292         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
79293         newer, don't install charset.alias.
79294         * lib/config.charset: Change the Linux/glibc rules so they become empty
79295         on glibc-2.1 or newer.
79296
79297 2000-06-02  Jim Meyering  <meyering@lucent.com>
79298
79299         * lib/mountlist.c: Back out last change.  Instead, do this...
79300         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
79301         me_dummy member using the same `ignore'-testing code.
79302         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
79303         fs_type strings.
79304         From Mark D. Roth.
79305
79306 2000-05-29  Jim Meyering  <meyering@lucent.com>
79307
79308         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
79309         mounts with the `ignore' attribute.  Based on a patch from
79310         Mark D. Roth.
79311
79312 2000-05-28  Jim Meyering  <meyering@lucent.com>
79313
79314         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
79315         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79316         * m4/stat.m4: Likewise.
79317         * m4/lstat.m4: Likewise.
79318         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
79319
79320         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
79321         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
79322
79323 2000-05-26  Jim Meyering  <meyering@lucent.com>
79324
79325         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
79326
79327 2000-05-24  Jim Meyering  <meyering@lucent.com>
79328
79329         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
79330         autoconf requires that.
79331         * m4/lib-check.m4: Likewise.
79332         * m4/jm-macros.m4: Likewise.
79333         * m4/strftime.m4: Likewise.
79334
79335         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
79336         AC_CHECK_DECLS, now that autoconf requires that.
79337
79338 2000-05-22  Jim Meyering  <meyering@lucent.com>
79339
79340         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79341         * m4/lstat.m4: Likewise.
79342
79343 2000-05-22  Jim Meyering  <meyering@lucent.com>
79344
79345         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
79346
79347 2000-05-20  Jim Meyering  <meyering@lucent.com>
79348
79349         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
79350         (jm_PREREQ): Use it.
79351
79352 2000-05-18  Jim Meyering  <meyering@lucent.com>
79353
79354         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
79355         back, too, since it may have been modified by allocate_entry.
79356         (hash_delete): Rewrite to use neither the assignment operator
79357         nor the comma operator in an if-expression.
79358
79359 2000-05-15  Paul Eggert  <eggert@twinsun.com>
79360
79361         * lib/closeout.c:
79362         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
79363         Remove; no longer needed.
79364         "quotearg.h": Add include.
79365         (file_name): Do not bother to explicitly initialize to NULL; it's less
79366         efficient on some hosts.
79367         (close_stdout_status): Remove test as to whether stdout was already
79368         closed; it breaks for the case "echo x | sort >&-".
79369         Quote file name colons.
79370         Do not assume that _("write error") lacks format strings.
79371
79372 2000-05-15  Jim Meyering  <meyering@lucent.com>
79373
79374         * lib/version-etc.c (version_etc_copyright): Update the copyright
79375         string used in all --version output.
79376
79377 2000-05-14  Jim Meyering  <meyering@lucent.com>
79378
79379         * lib/closeout.c (close_stdout_set_file_name): New function.
79380         (close_stdout_status): Use new file-scoped global.
79381         Return right away if fstat says the stdout file descriptor is invalid.
79382         * lib/closeout.h (close_stdout_set_file_name): Declare.
79383
79384 2000-05-10  Jim Meyering  <meyering@lucent.com>
79385
79386         * lib/closeout.c [default_exit_status]: New file-scoped variable.
79387         (close_stdout_set_status): New function.
79388         * lib/closeout.h (close_stdout_set_status): Declare.
79389
79390 2000-05-09  Jim Meyering  <meyering@lucent.com>
79391
79392         * m4/gettext.m4: Rename this...
79393         * m4/libintl.m4: ...to this.
79394
79395 2000-05-08  Jim Meyering  <meyering@lucent.com>
79396
79397         * lib/long-options.c: Don't include closeout.h.
79398         (parse_long_options): Don't call close_stdout for --version.
79399
79400 2000-05-06  Paul Eggert  <eggert@twinsun.com>
79401
79402         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
79403         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
79404         2.1.3 bug.  This avoids a clash when files like regex.c define
79405         _GNU_SOURCE.
79406
79407 2000-05-06  Jim Meyering  <meyering@lucent.com>
79408
79409         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
79410         (AC_REPLACE_FUNCS): Add strnlen.
79411
79412         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
79413         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
79414
79415         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
79416         AC_SEARCH_LIBS call for nanosleep.
79417         (LIB_NANOSLEEP): Set and AC_SUBST.
79418
79419 2000-05-06  Jim Meyering  <meyering@lucent.com>
79420
79421         * lib/strnlen.c: Undefine __strnlen and strnlen.
79422         [!weak_alias]: Define __strnlen to strnlen.
79423
79424         * lib/atexit.c: New file, from libiberty.
79425
79426 2000-05-06  Jim Meyering  <meyering@lucent.com>
79427
79428         * lib/closeout.c (close_stdout_status): Also check for errors on the
79429         stderr stream.
79430
79431 2000-05-05  Jim Meyering  <meyering@lucent.com>
79432
79433         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
79434         AC_SEARCH_LIBS call for clock_gettime.
79435         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
79436
79437         * m4/search-libs.m4: Update from autoconf.
79438
79439         su doesn't work on Solaris 2.6.
79440         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
79441         <shadow.h>.  Reported by Dragos Harabor.
79442
79443 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
79444
79445         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
79446         memcpy instead of xmalloc, xrealloc, path_concat.
79447         (locale_charset): Treat empty environment variables as absent.
79448         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
79449
79450 2000-05-04  Jim Meyering  <meyering@lucent.com>
79451
79452         * lib/getopt.c: Update from glibc.
79453         * lib/obstack.c: Likewise.
79454         * lib/obstack.h: Likewise.
79455         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
79456         file
79457
79458         * lib/regex.h: Likewise.
79459         * lib/strndup.c: Likewise.
79460         * lib/strnlen.c: New file, from glibc.
79461
79462 2000-05-03  Jim Meyering  <meyering@lucent.com>
79463
79464         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
79465
79466 2000-05-02  Paul Eggert  <eggert@twinsun.com>
79467
79468         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
79469         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
79470         compile-time test, rather than inspecting host and OS, to
79471         decide whether to define _LARGEFILE_SOURCE.
79472
79473 2000-05-01  Jim Meyering  <meyering@lucent.com>
79474
79475         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
79476
79477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
79478         Based on a patch from Bruno Haible.
79479
79480 2000-05-01  Jim Meyering  <meyering@lucent.com>
79481
79482         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
79483
79484 2000-04-29  Jim Meyering  <meyering@lucent.com>
79485
79486         * lib/path-concat.c: Declare strdup only if it's not defined.
79487         * lib/canon-host.c: Likewise.
79488
79489 2000-04-28  Jim Meyering  <meyering@lucent.com>
79490
79491         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
79492         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
79493         is included first, then limits.h is included by locale.h by libintl.h.
79494         From John David Anglin.
79495
79496 2000-04-25  Jim Meyering  <meyering@lucent.com>
79497
79498         * lib/makepath.c (S_IRWXUGO): Define.
79499         (make_path): Always perform explicit chmod if MODE specifies any
79500         of the `special' permission bits.  Prompted by a bug report against
79501         install from Mate Wierdl and Joost van Baal.
79502
79503 2000-04-18  Jim Meyering  <meyering@lucent.com>
79504
79505         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
79506         (jm_PREREQ): Use it.
79507
79508 2000-04-18  Jim Meyering  <meyering@lucent.com>
79509
79510         * lib/README: New file.
79511
79512         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
79513         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
79514
79515 2000-04-17  Jim Meyering  <meyering@lucent.com>
79516
79517         Get it right :-)
79518         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
79519         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
79520         Suggestion from Akim Demaille.
79521
79522 2000-04-17  Jim Meyering  <meyering@lucent.com>
79523
79524         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
79525         the definition of it to rpl_strftime also defined-away the system's
79526         declaration.
79527
79528 2000-04-15  Jim Meyering  <meyering@lucent.com>
79529
79530         Use `C' to denote so-called `contiguous' files, the same way
79531         that tar does.
79532         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
79533         (ftypelet): Use S_ISCTG.
79534         From Michael Deutschmann.
79535
79536 2000-04-14  Jim Meyering  <meyering@lucent.com>
79537
79538         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
79539         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
79540         clobbered.
79541
79542 2000-04-14  Jim Meyering  <meyering@lucent.com>
79543
79544         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
79545
79546 2000-04-13  Jim Meyering  <meyering@lucent.com>
79547
79548         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
79549         AH_VERBATIM to insert required #ifndef into config.h.in.
79550         Suggestion from Akim Demaille.
79551
79552 2000-04-12  Jim Meyering  <meyering@lucent.com>
79553
79554         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
79555         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
79556         Christian Krackowizer.
79557
79558         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
79559         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
79560         (AC_SYS_LARGEFILE): Require.
79561         (AM_C_PROTOTYPES): Require.
79562
79563 2000-04-08  Jim Meyering  <meyering@lucent.com>
79564
79565         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
79566         names don't conflict.  Reported by Eli Zaretskii.
79567
79568 2000-04-07  Jim Meyering  <meyering@lucent.com>
79569
79570         * lib/putenv.c: Move inclusion of errno.h so it follows that of
79571         sys/types.h, to work around system header problems on AIX 3.2.5.
79572         From Bruno Haible.
79573
79574 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
79575
79576         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
79577         bug.  Deal with the different error behavior of Irix iconv.
79578
79579 2000-04-05  Paul Eggert  <eggert@twinsun.com>
79580
79581         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
79582         IRIX if the installer said otherwise.
79583
79584 2000-04-05  Jim Meyering  <meyering@lucent.com>
79585
79586         Portability tweaks required for ultrix4.3.
79587         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
79588         (jm_CHECK_DECLS): Add getutent to the list of functions.
79589         (_jm_DECL_HEADERS): Add utmpx.h.
79590         From John David Anglin.
79591
79592         * m4/strftime.m4: Back out the 2000-04-02 change.
79593         Instead of that change, simply undefine putenv in the test program.
79594
79595 2000-04-05  Jim Meyering  <meyering@lucent.com>
79596
79597         Portability tweaks required for ultrix4.3.
79598         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
79599         getutent.
79600         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79601         * lib/canon-host.c: Declare strdup.
79602         * lib/path-concat.c: Likewise.
79603         From John David Anglin.
79604
79605 2000-04-04  Jim Meyering  <meyering@lucent.com>
79606
79607         Be more DOS 8.3-friendly.
79608         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79609         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79610         * lib/Makefile.am: Reflect renaming.
79611         Reported by Eli Zaretskii.
79612
79613         Use a temporary file name that won't clash with `charset.alias'
79614         in the DOS 8.3 name space.
79615         * lib/Makefile.am (charset_tmp): Define.
79616         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79617         (uninstall-local): Likewise.
79618         Reported by Eli Zaretskii.
79619
79620 2000-04-03  Jim Meyering  <meyering@lucent.com>
79621
79622         * m4/gettext.m4: Fix typo in comment.
79623
79624         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79625         textutils/configure.in).  Suggestion from Paul Eggert.
79626         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79627
79628 2000-04-02  Paul Eggert  <eggert@twinsun.com>
79629
79630         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
79631         variable in the shell rather than using putenv, which isn't
79632         portable.  This avoids the configure-time inter-test dependency
79633         on the potentially-renamed putenv function.
79634
79635 2000-03-30  Paul Eggert  <eggert@twinsun.com>
79636
79637         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
79638         before checking struct stat.st_blksize, so that
79639         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
79640
79641 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79642
79643         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
79644         since strftime.c uses HAVE_STRFTIME to decide whether to use
79645         the underlying strftime.
79646
79647 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79648
79649         * lib/time/strftime.c (my_strftime): Make sure we call the system
79650         strftime, not ourselves, when invoking the underlying strftime.
79651
79652 2000-03-24  Jim Meyering  <meyering@lucent.com>
79653
79654         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
79655         (charset_alias): Define.
79656         (install-exec-local): Factor out common code.
79657         (uninstall-local): Split lines longer than 80.
79658         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
79659         (SUFFIXES): Define.
79660         (.sed.in.sed): New rule.  Don't redirect directly to $@.
79661         (CLEANFILES): Add ref-add.sed and ref-del.sed.
79662
79663 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
79664
79665         * lib/config.charset: Output a line containing "Packages using this
79666         file".
79667         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
79668         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
79669         ref-del.sed): New rules.
79670
79671 2000-03-17  Jim Meyering  <meyering@lucent.com>
79672
79673         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
79674         Otherwise, include <strings.h>
79675
79676 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
79677
79678         * lib/unicodeio.c (utf8_wctomb): New function.
79679         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
79680         format instead of in UCS-4 with platform dependent endianness.
79681
79682 2000-03-10  Jim Meyering  <meyering@lucent.com>
79683
79684         * m4/lib-check.m4: Look for getspnam in -lgen, too.
79685         From Marco Franzen.
79686
79687 2000-03-07  Paul Eggert  <eggert@twinsun.com>
79688
79689         * lib/savedir.c (savedir): Work even if directory size is
79690         negative; this can happen with some screwy NFS configurations.
79691
79692 2000-03-06  Jim Meyering  <meyering@lucent.com>
79693
79694         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
79695         if it's NULL (because we ran out of memory).  From Bruno Haible.
79696
79697 2000-03-05  Jim Meyering  <meyering@lucent.com>
79698
79699         * lib/localcharset.c ("path-concat.h"): Include.
79700         (get_charset_aliases): Use path_concat instead of ANSI string
79701         concatenation.
79702
79703         * lib/unicodeio.h (PARAMS): Define.
79704         Use it to guard prototype.
79705
79706 2000-03-04  Jim Meyering  <meyering@lucent.com>
79707
79708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
79709         for lib/localcharset.c.
79710
79711 2000-03-04  Jim Meyering  <meyering@lucent.com>
79712
79713         * lib/Makefile.am (install-exec-local): Create $(libdir) before
79714         installing into it.
79715         (uninstall-local): Uncomment this rule so `make distcheck' works
79716         once again.
79717
79718         * lib/unicodeio.c (<errno.h>): Include it.
79719         (errno): Declare if not defined.
79720
79721         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
79722
79723         * lib/config.charset: New version, incorporating remarks from a linux
79724         i18n mailing list.  From Bruno Haible.
79725
79726 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
79727
79728         * m4/codeset.m4: New file.
79729         * m4/iconv.m4: New file.
79730         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
79731
79732 2000-03-03  Jim Meyering  <meyering@lucent.com>
79733
79734         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
79735
79736 2000-03-02  Jim Meyering  <meyering@lucent.com>
79737
79738         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
79739         the messages come out on separate lines.
79740
79741         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
79742         rather than jm_CHECK_DECLARATIONS.
79743         * m4/decl.m4: Remove now-unused file.
79744
79745         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
79746         geteuid.
79747
79748 2000-03-02  Jim Meyering  <meyering@lucent.com>
79749
79750         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
79751
79752 2000-03-01  Jim Meyering  <meyering@lucent.com>
79753
79754         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
79755         * lib/unicodeio.c: Likewise.
79756
79757 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
79758
79759         * lib/config.charset: New file.
79760         * lib/localcharset.c: New file.
79761         * lib/unicodeio.h, lib/unicodeio.c: New files.
79762         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
79763         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
79764         (noinst_HEADERS): Add unicodeio.h.
79765         (all-local, install-exec-local, charset.alias): New targets.
79766
79767 2000-02-28  Paul Eggert  <eggert@twinsun.com>
79768
79769         * lib/quotearg.c (ALERT_CHAR): New macro.
79770         (quotearg_buffer_restyled): Use it.
79771
79772 2000-02-27  Jim Meyering  <meyering@lucent.com>
79773
79774         * m4/check-decl.m4: Add getenv to the list.
79775
79776 2000-02-27  Jim Meyering  <meyering@lucent.com>
79777
79778         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
79779         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
79780
79781         * lib/backupfile.c: Guard inclusion of stdlib.h with
79782         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
79783         Declare malloc if needed.
79784
79785         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
79786         `#ifndef HAVE_DECL..'
79787         now that autoconf always defines the HAVE_DECL_ symbols.
79788         * lib/human.c: Likewise.
79789         * lib/same.c: Likewise.
79790         * lib/strtoumax.c: Likewise.
79791
79792         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
79793         declaration check was not run.
79794         * lib/hash.c: Likewise.
79795         * lib/human.c: Likewise.
79796         * lib/same.c: Likewise.
79797         * lib/strtoumax.c: Likewise.
79798
79799         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
79800         `.', then first look up the entire `.'-containing string as a login
79801         name.
79802
79803 2000-02-23  Jim Meyering  <meyering@lucent.com>
79804
79805         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
79806         in place of my hack.
79807
79808 2000-02-18  Paul Eggert  <eggert@twinsun.com>
79809
79810         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
79811         (textint): New typedef.
79812         (parser_control): Member year changed from int to textint.
79813         All uses changed.
79814         (YYSTYPE): Removed; replaced by %union with int and textint members.
79815         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
79816         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
79817         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
79818         (tSNUMBER, tUNUMBER): Now of type <textintval>.
79819         (date, number, to_year): Use width of number in digits, not its value,
79820         to determine whether it's a 2-digit year, or a 2-digit time.
79821         (yylex): Store number of digits of numeric tokens.
79822         Reported by John Kendall.
79823
79824         (parser_control): Changed from struct parser_control to typedef (for
79825         consistency).  All uses changed.
79826
79827         (tID): Removed; not used.
79828         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
79829
79830 2000-02-14  Paul Eggert  <eggert@twinsun.com>
79831
79832         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
79833         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
79834
79835 2000-02-12  Jim Meyering  <meyering@lucent.com>
79836
79837         * lib/userspec.c (ISDIGIT): Define it.
79838         (isdigit): Remove definition.
79839         (is_number): Use ISDIGIT, not isdigit.
79840         <libintl.h>: Include.
79841         (_ and N_): Define.
79842         (parse_user_spec): Mark translatable strings.
79843
79844 2000-02-10  Jim Meyering  <meyering@lucent.com>
79845
79846         With these changes, nanosleep.[ch] are finally enough like the other
79847         lib/* replacement files to compile on a few more losing systems.
79848
79849         * lib/nanosleep.h: Don't include config.h.
79850         Remove prototype from declaration of nanosleep.
79851         (PARAMS): Remove now-unneeded definition.
79852         * lib/nanosleep.c: #undef nanosleep.
79853         (rpl_nanosleep): Rename from nanosleep.
79854
79855 2000-02-10  Jim Meyering  <meyering@lucent.com>
79856
79857         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
79858         gnu_nanosleep to rpl_nanosleep.
79859
79860 2000-02-09  Jim Meyering  <meyering@lucent.com>
79861
79862         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
79863         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
79864
79865 2000-02-08  Akim Demaille  <akim@epita.fr>
79866
79867         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
79868         `[' and `]' and remove uses of `changequote'.
79869         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
79870         (AC_SYS_LARGEFILE): Likewise.
79871         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
79872         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
79873         of changequote.
79874         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
79875         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
79876         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
79877         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
79878
79879 2000-02-05  Jim Meyering  <meyering@lucent.com>
79880
79881         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
79882         Remove explicit use of AC_HEADER_TIME.  It is required by
79883         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
79884         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
79885         in autoconf whereby the expansion of the latter ended up preceding
79886         the expansion of its prerequisite, AC_HEADER_TIME.
79887         Reported by Volker Borchert.
79888
79889 2000-02-03  Jim Meyering  <meyering@lucent.com>
79890
79891         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
79892
79893 2000-02-03  Jim Meyering  <meyering@lucent.com>
79894
79895         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
79896         rather than with `#if HAVE_UTMPNAME'.
79897
79898 2000-02-02  Jim Meyering  <meyering@lucent.com>
79899
79900         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
79901         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
79902         Reported by Eli Zaretskii.
79903
79904 2000-02-01  Jim Meyering  <meyering@lucent.com>
79905
79906         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
79907
79908 2000-01-31  Jim Meyering  <meyering@lucent.com>
79909
79910         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
79911         functions.  Add the time.h and sys/time.h headers along with the
79912         AC_REQUIRE'ment of AC_HEADER_TIME.
79913
79914 2000-01-31  Jim Meyering  <meyering@lucent.com>
79915
79916         * lib/nanosleep.h (nanosleep): Guard declaration with
79917         `#if ! HAVE_DECL_NANOSLEEP'.
79918         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
79919         the declaration in that vendor's sys/timers.h.
79920         Reported by Christian Krackowizer.
79921
79922         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
79923         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
79924         (ISPRINT): Likewise.
79925         Reported by Tom Tromey.
79926
79927 2000-01-30  Jim Meyering  <meyering@lucent.com>
79928
79929         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
79930
79931         * m4/prereq.m4 (utmp_includes): Define.
79932         Check for ut_user and ut_name members in both struct utmpx
79933         and struct utmp.
79934
79935 2000-01-30  Jim Meyering  <meyering@lucent.com>
79936
79937         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
79938         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
79939         header files where only utmpx.ut_user is declared.
79940
79941         * lib/readutmp.h (UT_USER): Define.
79942
79943 2000-01-29  Jim Meyering  <meyering@lucent.com>
79944
79945         * m4/lib-check.m4: New file containing library-related checks from
79946         fileutils and sh-utils (textutils had none).
79947
79948 2000-01-28  Jim Meyering  <meyering@lucent.com>
79949
79950         * m4/perl.m4: Change format of warning message to look more like that
79951         from the missing script.  Suggestion from François Pinard.
79952
79953 2000-01-25  Jim Meyering  <meyering@lucent.com>
79954
79955         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
79956         well as time.h in the compile check.
79957         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
79958         Fix typo in cross-compiling case: s/yes/no/.
79959
79960 2000-01-23  Jim Meyering  <meyering@lucent.com>
79961
79962         * m4/jm-macros.m4: Move df-related tests here from
79963         fileutils/configure.in
79964
79965         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
79966         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
79967
79968         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
79969         s/space/ac_fsusage_space/.
79970         (jm_FILE_SYSTEM_USAGE): Take two parameters.
79971
79972         * m4/ftruncate.m4: New file (derived from part of
79973         fileutils/configure.in).
79974         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
79975         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
79976
79977         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
79978         AC_SUBST these here, rather than just in sh-util/configure.in, so
79979         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
79980         all the same.
79981         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
79982         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
79983         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
79984         (AC_SUBST(POW_LIBM)): Likewise.
79985         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
79986
79987 2000-01-23  Jim Meyering  <meyering@lucent.com>
79988
79989         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
79990         obstack.c.
79991
79992 2000-01-22  Jim Meyering  <meyering@lucent.com>
79993
79994         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
79995
79996         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
79997
79998         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
79999         configure.in
80000         (AC_CHECK_HEADERS): Likewise for sh-utils.
80001         (AC_CHECK_HEADERS): Likewise for textutils.
80002         Merge the three lists of headers.
80003
80004         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
80005         from fileutils' configure.in.
80006
80007         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
80008         code. Moved tests into their own function (_jm_DECL_HEADERS) in
80009         check-decl.m4.
80010
80011         * m4/check-decl.m4: Use #if rather than #ifdef.
80012         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
80013         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
80014         (_jm_DECL_HEADERS): Define new function.
80015         (jm_CHECK_DECLARATIONS): Require it.
80016
80017 2000-01-22  Jim Meyering  <meyering@lucent.com>
80018
80019         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
80020         [! HAVE_DECL_STRTOULL]: Declare strtoull.
80021         Required for some AIX systems.  Reported by Christian Krackowizer.
80022         [TESTING] (main): New function.
80023
80024         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
80025         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
80026         letters.
80027
80028         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
80029         iswprint.
80030
80031         * lib/strverscmp.c (ISDIGIT): Define.
80032         (strverscmp): Use ISDIGIT, not isdigit.
80033
80034 2000-01-19  Jim Meyering  <meyering@lucent.com>
80035
80036         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
80037         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
80038         defines `struct timespec' in <sys/time.h>
80039
80040         * m4/c-bs-a.m4: Remove uses of changequote altogether.
80041         Thanks to Akim for explaining.
80042
80043 2000-01-17  Paul Eggert  <eggert@twinsun.com>
80044
80045         * lib/nanosleep.c (nanosleep):
80046         Don't use SA_INTERRUPT to decide whether to call sigaction, as
80047         POSIX.1 doesn't require SA_INTERRUPT and some systems
80048         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
80049         it's been part of POSIX.1 since day 1 (in 1988).
80050
80051 2000-01-17  Jim Meyering  <meyering@lucent.com>
80052
80053         * lib/interlock: Remove unused file.  Reported by François Pinard.
80054
80055 2000-01-16  Paul Eggert  <eggert@twinsun.com>
80056
80057         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
80058         alert, backslash, formfeed, and vertical tab unnecessarily in
80059         shell quoting style.
80060
80061 2000-01-16  Jim Meyering  <meyering@lucent.com>
80062
80063         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
80064         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
80065         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
80066         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
80067
80068 2000-01-16  Jim Meyering  <meyering@lucent.com>
80069
80070         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
80071         because the latter didn't work.
80072
80073 2000-01-15  Jim Meyering  <meyering@lucent.com>
80074
80075         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
80076         (AC_REPLACE_FUNCS): Add memcpy and memset.
80077         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
80078         Add strpbrk.
80079         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
80080
80081 2000-01-12  Jim Meyering  <meyering@lucent.com>
80082
80083         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
80084         (jm_PREREQ): Use it.
80085         (jm_PREREQ_READUTMP): New macro.
80086         (jm_PREREQ): Use it.
80087
80088 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80089
80090         Quote multibyte characters correctly.
80091         * m4/c-bs-a.m4: New file.
80092         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
80093         (jm_PREREQ): Use it.
80094
80095 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80096
80097         * m4/uintmax_t.m4: Port to autoconf 2.13.
80098
80099 2000-01-08  Jim Meyering  <meyering@ascend.com>
80100
80101         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
80102         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
80103
80104 2000-01-04  Jim Meyering  <meyering@ascend.com>
80105
80106         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
80107         jm_STRUCT_DIRENT_D_TYPE.
80108         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
80109         jm_STRUCT_DIRENT_D_INO.
80110         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
80111         jm_STRUCT_UTIMBUF.
80112         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
80113         renamings.
80114         * m4/utime.m4: Likewise.
80115
80116         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
80117         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
80118
80119 2000-01-03  Paul Eggert  <eggert@twinsun.com>
80120
80121         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
80122         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
80123
80124 2000-01-02  Jim Meyering  <meyering@ascend.com>
80125
80126         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
80127         remember if this is necessary.
80128
80129 1999-12-26  Jim Meyering  <meyering@ascend.com>
80130
80131         * m4/jm-macros.m4: Use it here.
80132         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
80133
80134 1999-12-23  Jim Meyering  <meyering@ascend.com>
80135
80136         * m4/jm-macros.m4: Check for clock_gettime (moved from
80137         fileutils/configure.in)
80138         Check for gettimeofday.
80139
80140 1999-12-20  Jim Meyering  <meyering@ascend.com>
80141
80142         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
80143         autoconf-2.14a-1999-12-20.
80144
80145 1999-12-19  Jim Meyering  <meyering@ascend.com>
80146
80147         * m4/lstat-slash.m4: New file.
80148         * m4/jm-macros.m4: Use the new macro:
80149         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80150
80151 1999-12-07  Jim Meyering  <meyering@ascend.com>
80152
80153         * m4/perl.m4: Require that File::Compare be available, too.
80154         Too many systems seem to lack it.
80155
80156         * m4/strftime.m4: Add checks for most of the cpp macros tested in
80157         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
80158
80159 1999-11-18  Paul Eggert  <eggert@twinsun.com>
80160
80161         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
80162         problem with the QNX 4.25 shell, which doesn't propagate exit
80163         status of failed commands inside shell assignments.
80164
80165 1999-11-17  Jim Meyering  <meyering@ascend.com>
80166
80167         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
80168
80169 1999-11-07  Jim Meyering  <meyering@ascend.com>
80170
80171         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
80172
80173 1999-11-06  Jim Meyering  <meyering@ascend.com>
80174
80175         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
80176         * m4/jm-macros.m4 (jm_MACROS): Use it here.
80177
80178 1999-11-05  Jim Meyering  <meyering@ascend.com>
80179
80180         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
80181         configure.in of textutils, fileutils, and sh-utils into this one
80182         (shared between those packages) file.
80183         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
80184         AC_STRUCT_ST_BLKSIZE.
80185
80186 1999-11-03  Jim Meyering  <meyering@ascend.com>
80187
80188         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
80189         of AC_CHECK_TYPE checks includes unistd.h.
80190         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
80191         Suggestion from Akim Demaille.
80192
80193 1999-10-30  Jim Meyering  <meyering@ascend.com>
80194
80195         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
80196         m4-quoted string.
80197         * m4/ls-mntd-fs.m4: Likewise.
80198         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
80199         * m4/jm-winsz1.m4: Likewise.
80200
80201         * m4/const.m4: Remove file, since the fix made it into the experimental
80202         version of autoconf.
80203         * m4/mktime.m4: Likewise.
80204
80205         * m4/check-type.m4: Remove file, now that the latest version of
80206         AC_CHECK_TYPE takes a third arg to specify additional #includes.
80207
80208         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
80209         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
80210         AC_CHECK_TYPE.
80211
80212 1999-10-04  Jim Meyering  <meyering@ascend.com>
80213
80214         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
80215
80216 1999-09-22  Paul Eggert  <eggert@twinsun.com>
80217
80218         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
80219         2.95.1 bug with HP-UX 10.20.
80220
80221 1999-09-17  Jim Meyering  <meyering@ascend.com>
80222
80223         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
80224         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
80225         due to missing strdup (against sh-utils-2.0).
80226
80227 1999-08-29  Jim Meyering  <meyering@ascend.com>
80228
80229         * m4/jm-macros.m4: Require jm_BISON.
80230         * m4/bison.m4: New file.
80231
80232 1999-08-17  Paul Eggert  <eggert@twinsun.com>
80233
80234         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
80235         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
80236
80237 1999-08-05  Jim Meyering  <meyering@ascend.com>
80238
80239         * m4/getline.m4: Rename test file from conftestdata to conftest.data
80240         to avoid conflicts with `conftest' on 8+3 filesystems.
80241         Suggestion from Eli Zaretskii.
80242
80243 1999-08-04  Jim Meyering  <meyering@ascend.com>
80244
80245         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
80246         fileutils and sh-utils (textutils's getline test was inadequate).
80247         (AM_FUNC_GETLINE): Run this test.
80248         (AC_CHECK_FUNCS): Check for getdelim.
80249         Reported by Bob Proulx.
80250
80251 1999-08-02  Jim Meyering  <meyering@ascend.com>
80252
80253         * m4/jm-macros.m4: Add a comment.
80254
80255 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80256
80257         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
80258         <inttypes.h> defines strtoumax as a macro (and not as a
80259         function).
80260
80261 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80262
80263         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
80264         that we can shift, multiply and divide unsigned long long
80265         values; Ultrix cc can't do it.
80266
80267 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80268
80269         * m4/mktime.m4: New file, which is a preview of what should appear
80270         in the next public autoconf release.
80271
80272 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80273
80274         * m4/lfs.m4: Remove this file.
80275         * m4/largefile.m4: New file.  It contains the old contents of
80276         lfs.m4, except that all names with prefix AC_LFS have been
80277         changed to use the prefix AC_SYS_LARGEFILE instead, to be
80278         compatible with future autoconf versions.  Also, some minor m4
80279         quoting problems have been fixed.
80280
80281 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80282
80283         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
80284         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
80285         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
80286         and simplify the shell code.
80287
80288 1999-08-01  Jim Meyering  <meyering@ascend.com>
80289
80290         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
80291         m4.
80292
80293 1999-07-20  Jim Meyering  <meyering@ascend.com>
80294
80295         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
80296
80297 1999-07-15  Jim Meyering  <meyering@ascend.com>
80298
80299         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
80300
80301 1999-05-22  Jim Meyering  <meyering@ascend.com>
80302
80303         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
80304
80305 1999-05-20  Jim Meyering  <meyering@ascend.com>
80306
80307         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
80308         Add a colon after each `then' in case $4 is empty.
80309
80310 1999-05-16  Jim Meyering  <meyering@ascend.com>
80311
80312         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
80313
80314 1999-05-10  Jim Meyering  <meyering@ascend.com>
80315
80316         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
80317
80318         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
80319         AC_FUNC_MKTIME.
80320
80321 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
80322
80323         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
80324
80325 1999-05-04  Paul Eggert  <eggert@twinsun.com>
80326
80327         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
80328         not CPPFLAGS, so that linking works correctly in IRIX.
80329
80330 1999-04-30  Paul Eggert  <eggert@twinsun.com>
80331
80332         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
80333
80334 1999-04-20  Paul Eggert  <eggert@twinsun.com>
80335
80336         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
80337         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
80338         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
80339         jm_AC_TYPE_UNSIGNED_LONG_LONG.
80340         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
80341
80342         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
80343
80344 1999-04-20  Jim Meyering  <meyering@ascend.com>
80345
80346         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
80347         AC_REPLACE xstroull if necessary.  From Paul Eggert.
80348         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
80349
80350 1999-04-18  Jim Meyering  <meyering@ascend.com>
80351
80352         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
80353         * m4/jm-macros.m4: Use it.
80354
80355 1999-04-06  Jim Meyering  <meyering@ascend.com>
80356
80357         * m4/strftime.m4: Remove test for %f.
80358
80359 1999-03-29  Jim Meyering  <meyering@ascend.com>
80360
80361         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
80362         superset of the AC_TYPE_* checks in the textutils, fileutils,
80363         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
80364         AC_TYPE_PID_T.
80365
80366 1999-03-28  Jim Meyering  <meyering@ascend.com>
80367
80368         * m4/jm-macros.m4: Define GNU_PACKAGE here.
80369         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
80370         replaced e.g., in the *.sh files of the sh-utils.
80371
80372 1999-03-20  Jim Meyering  <meyering@ascend.com>
80373
80374         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
80375         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
80376         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
80377
80378 1999-03-19  Jim Meyering  <meyering@ascend.com>
80379
80380         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
80381
80382 1999-03-12  Jim Meyering  <meyering@ascend.com>
80383
80384         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
80385
80386 1999-03-07  Jim Meyering  <meyering@ascend.com>
80387
80388         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
80389         declared.
80390
80391 1999-02-17  Jim Meyering  <meyering@ascend.com>
80392
80393         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
80394         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
80395
80396 1999-02-07  Jim Meyering  <meyering@ascend.com>
80397
80398         * m4/group-member.m4: New file -- extracted from sh-utils'
80399         configure.in.
80400
80401         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
80402         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
80403
80404 1999-02-06  Jim Meyering  <meyering@ascend.com>
80405
80406         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
80407         * m4/fnmatch.m4: Likewise.
80408         * m4/getgroups.m4: Likewise.
80409         * m4/lstat.m4: Likewise.
80410         * m4/malloc.m4: Likewise.
80411         * m4/putenv.m4: Likewise.
80412         * m4/realloc.m4: Likewise.
80413         * m4/regex.m4: Likewise.
80414         * m4/stat.m4: Likewise.
80415         * m4/strftime.m4: Likewise.
80416         Suggestion from Alain Magloire.
80417
80418         * m4/chown.m4: Use `.$ac_objext', not `.o'.
80419         * m4/fnmatch.m4: Likewise.
80420         * m4/getgroups.m4: Likewise.
80421         * m4/getline.m4: Likewise.
80422         * m4/lstat.m4: Likewise.
80423         * m4/malloc.m4: Likewise.
80424         * m4/memcmp.m4: Likewise.
80425         * m4/putenv.m4: Likewise.
80426         * m4/realloc.m4: Likewise.
80427         * m4/regex.m4: Likewise.
80428         * m4/stat.m4: Likewise.
80429         * m4/strftime.m4: Likewise.
80430         Suggestion from Alain Magloire.
80431
80432         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
80433         an argument.
80434
80435         * m4/regex.m4: Add a run-time Test for proper operation of
80436         re_compile_pattern.
80437
80438 1999-01-31  Jim Meyering  <meyering@ascend.com>
80439
80440         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
80441
80442 1999-01-30  Jim Meyering  <meyering@ascend.com>
80443
80444         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
80445
80446         * m4/jm-mktime.m4: Make this a wrapper around the official
80447         AM_FUNC_MKTIME rather than my private copy, now that the official one
80448         is up to date.
80449         * m4/mktime.m4: Remove file.
80450
80451         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
80452         * m4/uptime.m4: Likewise.
80453         * m4/uintmax_t.m4: Likewise.
80454
80455 1999-01-28  Jim Meyering  <meyering@ascend.com>
80456
80457         * m4/jm-macros.m4: Use jm_AFS.
80458         * m4/afs.m4: New file (from fileutils' configure.in).
80459
80460         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
80461         * m4/chown.m4: Likewise.
80462         * m4/d-ino.m4: Likewise.
80463         * m4/d-type.m4: Likewise.
80464         * m4/fnmatch.m4: Likewise.
80465         * m4/getgroups.m4: Likewise.
80466         * m4/gettext.m4: Likewise.
80467         * m4/jm-mktime.m4: Likewise.
80468         * m4/jm-winsz2.m4: Likewise.
80469         * m4/lcmessage.m4: Likewise.
80470         * m4/ls-mntd-fs.m4: Likewise.
80471         * m4/malloc.m4: Likewise.
80472         * m4/memcmp.m4: Likewise.
80473         * m4/putenv.m4: Likewise.
80474         * m4/realloc.m4: Likewise.
80475         * m4/st_mtim.m4: Likewise.
80476         * m4/strftime.m4: Likewise.
80477
80478 1999-01-16  Jim Meyering  <meyering@ascend.com>
80479
80480         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
80481         (ARGMATCH_DIE_DECL): Define.
80482
80483 1999-01-12  Jim Meyering  <meyering@ascend.com>
80484
80485         * m4/Makefile.am.in: Rewrite to avoid using fmt.
80486         Reported by Lars Hecking.
80487
80488 1999-01-10  Jim Meyering  <meyering@ascend.com>
80489
80490         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
80491         gross kludge.
80492         * m4/inttypes_h.m4: Likewise.
80493         * m4/lstat.m4: Likewise.
80494         * m4/malloc.m4: Likewise.
80495         * m4/readdir.m4: Likewise.
80496         * m4/realloc.m4: Likewise.
80497         * m4/st_dm_mode.m4: Likewise.
80498         * m4/stat.m4: Likewise.
80499         * m4/utimbuf.m4: Likewise.
80500         * m4/utimes.m4: Likewise.
80501
80502         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
80503         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
80504         comments in config.h.in are meaningful.
80505
80506         * m4/jm-macros.m4: Require autoconf-2.13 here.
80507
80508         * m4/regex.m4: By default, don't use the included regex.c on systems
80509         with glibc 2.  Suggestion from Uli Drepper.
80510
80511 1999-01-02  Jim Meyering  <meyering@ascend.com>
80512
80513         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
80514
80515 1998-12-18  Jim Meyering  <meyering@ascend.com>
80516
80517         * m4/Makefile.am.in (Makefile.am): Simplify rule.
80518         Based on a suggestion from Lars Hecking.
80519
80520 1998-11-16  Paul Eggert  <eggert@twinsun.com>
80521
80522         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
80523
80524 1998-11-16  Jim Meyering  <meyering@ascend.com>
80525
80526         * m4/lfs.m4: Double-quote the `uname...` expression.
80527
80528 1998-11-14  Jim Meyering  <meyering@ascend.com>
80529
80530         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
80531         * m4/stat.m4: Likewise.
80532
80533 1998-11-03  Jim Meyering  <meyering@ascend.com>
80534
80535         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
80536         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
80537
80538 1998-10-18  Jim Meyering  <meyering@ascend.com>
80539
80540         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
80541
80542 1998-10-17  Jim Meyering  <meyering@ascend.com>
80543
80544         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
80545         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
80546         calls for those previously hard-coded headers.  Instead, take a new
80547         parameter.
80548         (jm_CHECK_DECLARATIONS): Reflect interface change.
80549         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
80550         (jm_CHECK_DECL_LOCALTIME_R): New macro.
80551
80552         * m4/mktime.m4: Test for spring-forward gap before long-running test.
80553
80554 1998-10-14  Jim Meyering  <meyering@ascend.com>
80555
80556         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
80557         instead of "TZ=America/Vancouver".  From Paul Eggert.
80558
80559 1998-10-11  Jim Meyering  <meyering@ascend.com>
80560
80561         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
80562         This adds a test for a recently added compatibility fix for mktime.c.
80563         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
80564
80565 1998-09-27  Jim Meyering  <meyering@ascend.com>
80566
80567         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
80568
80569         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
80570         ../configure.in, including a change from Gordon Matzigkeit to allow
80571         cross-compiling for the Hurd.
80572
80573         * m4/glibc.m4: New file/macro to test for the GNU C Library
80574         versions 1 and 2.  From Gordon Matzigkeit.
80575         Indent.
80576
80577 1998-09-21  Jim Meyering  <meyering@ascend.com>
80578
80579         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
80580
80581 1998-08-18  Paul Eggert  <eggert@twinsun.com>
80582
80583         Port nanosecond-resolution times to UnixWare 2.1.2 and
80584         pedantic Solaris 2.6.
80585
80586         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
80587         AC_STRUCT_ST_MTIM.
80588         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
80589         Generate name of ns member, instead of just 1 or undef.
80590         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
80591
80592 1998-08-15  Jim Meyering  <meyering@ascend.com>
80593
80594         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
80595         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
80596         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
80597         instead of jm_TYPE_SSIZE_T.
80598
80599 1998-08-12  Jim Meyering  <meyering@ascend.com>
80600
80601         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80602
80603 1998-08-02  Jim Meyering  <meyering@ascend.com>
80604
80605         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80606         in acconfig.h manually.
80607
80608 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80609
80610         * m4/st_mtim.m4: New file.
80611
80612 1998-07-28  Jim Meyering  <meyering@ascend.com>
80613
80614         * m4/utimes.m4: Undef stat.
80615
80616 1998-07-25  Jim Meyering  <meyering@ascend.com>
80617
80618         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80619         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80620
80621 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80622
80623         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80624         uid and gid actually remain unchanged.
80625
80626 1998-07-07  Jim Meyering  <meyering@ascend.com>
80627
80628         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
80629
80630 1998-07-04  Jim Meyering  <meyering@ascend.com>
80631
80632         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
80633         to prove that this macro can be used in packages without regex.c.
80634
80635 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
80636
80637         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
80638         is to be used.
80639
80640 1998-07-03  Jim Meyering  <meyering@ascend.com>
80641
80642         * m4/gettext.m4: Add -lintl if it's found to be necessary.
80643
80644         * m4/gettext.m4: New file -- from gettext-0.10.35.
80645         * m4/lcmessage.m4: Likewise.
80646         * m4/progtest.m4: Likewise.
80647
80648         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
80649         * m4/jm-macros.m4: Require the new macro.
80650
80651 1998-06-29  Jim Meyering  <meyering@ascend.com>
80652
80653         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
80654         for the definition of NGROUPS (used in a system header included
80655         by sys/mount.h).
80656
80657 1998-06-28  Jim Meyering  <meyering@ascend.com>
80658
80659         * m4/ls-mntd-fs.m4: New file.
80660         * m4/fstypename.m4: New file.
80661
80662         * m4/jm-macros.m4: Require the new macro.
80663         * m4/jm-glibc-io.m4: New file.
80664
80665 1998-05-19  Jim Meyering  <meyering@ascend.com>
80666
80667         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
80668         * m4/lchown.m4: New file.
80669
80670         * m4/Makefile.am.in: New file.
80671         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
80672
80673 1998-05-14  Jim Meyering  <meyering@ascend.com>
80674
80675         * m4/Makefile.am (EXTRA_DIST): Add them.
80676         * m4/jm-macros.m4: New file.
80677         * m4/utimbuf.m4: New file.
80678
80679 1998-05-12  Jim Meyering  <meyering@ascend.com>
80680
80681         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
80682
80683 1998-05-11  Jim Meyering  <meyering@ascend.com>
80684
80685         * m4/isc-posix.m4: New file.
80686
80687 1998-05-10  Jim Meyering  <meyering@ascend.com>
80688
80689         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
80690
80691 1998-05-09  Jim Meyering  <meyering@ascend.com>
80692
80693         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
80694         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
80695         with automake.
80696
80697         * m4/ssize_t.m4: New file.
80698         * m4/mktime.m4: Remove file -- the new automake has this now.
80699
80700 1998-04-26  Jim Meyering  <meyering@ascend.com>
80701
80702         * m4/assert.m4: New file.
80703         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
80704
80705 1998-04-05  Jim Meyering  <meyering@ascend.com>
80706
80707         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
80708         (jm_PREREQ): Use it here.
80709
80710 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
80711
80712         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
80713         in acconfig.h.
80714
80715 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
80716
80717         * m4/prereq.m4: New file.
80718         * m4/error.m4: New file.
80719         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
80720
80721 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
80722
80723         * m4/getline.m4: Don't set am_cv_func_working_getline before the
80724         cache-check for the same variable -- that defeated the purpose of
80725         the test; the test program was never run.  This was a problem only
80726         on systems with losing getline functions -- HP-UX 10.20 is one.
80727         Reported by Bjorn Helgaas.
80728
80729 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
80730
80731         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
80732
80733 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
80734
80735         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
80736
80737         * m4/const.m4: New file.  Use an initializer in this declaration
80738         typedef int charset[2]; const charset x;
80739         Reported by Bob Glickstein.
80740
80741 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
80742
80743         * m4/chown.m4: Fix reversed types on -1 args to chown.
80744         From Kaveh Ghazi.
80745
80746 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
80747
80748         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
80749         Add lseek and memchr.
80750
80751         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
80752         T.E.Dickey <dickey@clark.net> said that some older preprocessors
80753         have a 20-character limit on names.
80754
80755 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
80756
80757         * m4/inttypes_h.m4: New file.
80758         * m4/uintmax_t.m4: New file.
80759         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
80760
80761
80762         -----
80763
80764         Local Variables:
80765         coding: utf-8
80766         End:
80767
80768         Copyright (C) 1997-2011 Free Software Foundation, Inc.
80769
80770         Copying and distribution of this file, with or without
80771         modification, are permitted provided the copyright notice
80772         and this notice are preserved.